天天看點

相容多OS or 融合多OS?打造實用的基于osxsystembase的融合OS管理器

本文關鍵字:相容OS。

相信相容多os一直是人們的一個夢想,因為在一台機器上跑多個OS是很客觀的需求,不光開發,有時一般辦公生産都會涉及到在單機上開多個OS的需求。這種東西不光要能用,而且要求要“好用”。我們在前面多次談到這些。如《reactos》,《colinux,去虛拟化一種檔案系統共享的多OS設想》,《dbcolinux利用虛拟機管理器裝機》,etc。。

在相容多系統的發展道路上,有colinux這樣的東西,也有wsl這樣的東西,有龍井linux這樣的東西,還有fydeos這樣的東西。也有exsi這樣的東西,還有虛拟機,docker,群晖vmm這樣的東西,更有虛拟機中的osx parallesdesk這樣的特殊品種:”融合os“,當然還有很多。。。

相容多OS的分類

一般地,附在這些實體,虛拟架構上的多OS,有時有二個,互成host/guest,這是最典型的情況,有時有多個。但基本都有一個管理性的OS,或虛拟機管理程式,或hypervisor,為友善讨論,我們将其差別稱為(管理性OS和使用者性OS)因為如果視管理虛拟機本身所在的OS也往往是一種獨立OS,是“OS的OS”,使用者OS主要是子系統的話,那麼其中運作的子OS是平等的。使用者主要使用的,就是運作的各種子OS。------ 如果管理性OS和使用者OS都是主體,就是前一種,如果使用者OS是主體(僅對使用者可見),就是後一種。 ——— 這樣讨論就友善多了,是以首先,“相容多OS”基本可以按這二類歸類:

1,從平台和架構上來,有的是面向實機,裸金屬裝機,如exsi,獨占機器,有的是面向計算意義的。除exsi之外的都算。他們隻占據該計算架構中的某塊資源。如雲主機架構中的各種OS。有的是硬體虛拟化,(有的是hypervisor,受硬體支援 ,有的是OS級的虛拟化。隻要OS提供了分裂子OS的功能,就可以在一台機器上跑多個OS)有的是工具層面的,如各種虛拟機程式vmware,virtualbox,etc..。

2,從互相歸屬性上來講,colinux,虛拟機oss,fydeos+3 oss,docker subos都有鮮明的host/guest特性,因為我們平時不但要管理這些子OS,也在主OS中工作,同時接确這二者,這種主要是雙OS,而exsi,vmm,雲openstack是一類,我們基本,或很少,不能、或無須接确到上層。我們把後者稱為平等多OS。

來深入繼續歸類:

從性質和技術來分,有的是經典的核心增強技術。如龍井,wsl,colinux,都是從嚴肅的核心改造/再造開始,而vmm,docker,fydeos這樣的東西,雖然有核心定制,但都是輕量定制了的核心加多樣化了的虛拟管理程式,和不同的rootfs為主。而虛拟機則純是一種軟體層級的再造方案+(可選的硬體直通能力)。

從生态上來分,hypervisor類的多OS往往有多種不同的OS。而OS級的虛拟化,往往都是一種OS的變種,互通性容易些。

最最重要的分類問題來了:

在日常工作中。那些我們平時需要頻繁用到多OS的情況中,哪些分類是起決定作用的。即“好不好用”這個最終問題,才是決定使用者選擇的方案分類問題,這個分類問題就是性能和最終體驗問題:

但事實是,我們目前很難找到一種保持原生OS體驗,性能不打大折扣的方案:從性能上來講,虛拟機是最經不過考究的,即使加了硬體直通性能也大打折扣,wsl,colinux這種基本CPU能力都能直通host的次之。從體驗上來講,也許隻有parallesdesk最好用(也許融合,不打破才是最省事最好用的目前方案,雖然其它的方案也在進行中。。但目前唯有PD最實用),wsl次之,其它也都是半成品/實驗品,可是PD它隻存在于osx,而且收費。

那麼,可不可以将PD做成類exsi的東西呢?

設想:打造基于osx base system的實用windows/osx融合OS管理器

這種方案就像在winpe上內建virtualbox或vmware一樣,然而選擇osx是因為PD在osx上的體驗最好。我們可以定制osx base system,将PD裝在osxpe上,然後開機啟動。在其中安裝并列的osx和windows。這二者的互通和融合通過主OSXpe中內建的finder和工具欄docker來進行,必須保證osx base system的管理者OS身份。因為它足夠小。

或許你可以按《OS X Recovery Partition: Customizing With Different Apps》進行得到這樣的一個東西。如果還能将它硬體化到nano itx小主機就爽了,做成黑蘋果更通用。

————

從《釋出一統tinycolinux,帶openvz,帶pelinux,帶分離目錄定制》系列到《利用hashicorp packer把dbcolinux導出為虛拟機和docker格式》,再到《打造一個Applevel虛拟化,内置plan9的rootfs:goblin》,我們貫徹的選型依據之一,就是:哪個相容多OS方案是最好用的。最後由于實作的需要。我們不可能采用PD這種,最終屈服于從linux加OS虛拟化級去定制,而且我們需要更偏向開發相關,而不純粹是裝機的那些問題,是以就有了goblin。

(此處不設回複,掃碼到微信參與留言,或直接點選到原文)

相容多OS or 融合多OS?打造實用的基于osxsystembase的融合OS管理器

繼續閱讀