2010-10-05 55 views
4

我正在研究博士項目的想法。編寫管理程序?

我的一個想法是編寫一個管理程序(或裸機)(?),這樣我就可以在不使用真正的主機操作系統的情況下運行多個操作系統。例子我得到了一些啓動操作系統的選項菜單,查看在已經運行的操作系統中發生了什麼的'控制檯'。重新啓動操作系統,安裝一個新的,等等。

所以沒有主機操作系統,只是一個小應用程序,控制一切。

從概念上講,人們如何思考這個問題?

我有一臺MacBook。我應該可以修改EFI的啓動。也許從一個非常小的LinuxLive實現開始,然後真的擴展它,真的很遙遠?

是否可以使用達爾文並將其縮放得很遠?

+9

作爲一個博士項目,你的想法是什麼原創和新的? – jball 2010-10-05 00:07:34

+9

考慮到其中的一些已經被編寫(如果我沒有弄錯,Xen,L4是管理程序),它會成爲一個很好的博士論文嗎?您可以使用自己的虛擬機管理程序作爲測試可能成爲博士學科主題的新技術的上下文,但這種間接任務最好由永久研究人員完成(博士學習時間短,應該比那)。 – 2010-10-05 00:09:08

+0

@jball。除了負載平衡和擴展之外,我還有更多的事情要做,但在覈心概念正常工作之前我無法想象。 – ator 2010-10-05 00:09:32

回答

0

縮小現有的操作系​​統來開發管理程序似乎是不太可能的方法。

絕對看看現有的一些現有的開源虛擬機監控程序項目。 如果你在閱讀他們是如何工作的,以及如何你可能會寫方法一個 ,那麼你可以嘗試有趣:史密斯&梅爾

虛擬機。 Chisnall的Xen管理程序權威指南。

如果您打算從頭開始編寫,並且針對的是x86系列處理器,那麼您將不得不用虛擬化指令(例如英特爾VT-x)來解決問題。這將是純粹的彙編語言,或者最好是內聯彙編。你在這裏說真正的低層次的東西。

0

縮小現有的桌面/服務器操作系統似乎是一個糟糕的選擇。 OTOH,而不是重做所有事情,從嵌入式RTOS(例如ecos或L4)開始引入某些功能可能很有用。此外,有些代碼可能會從QEMU重新使用。

如果我這樣做,我會專注於使用VT-x和AMD-V的硬件虛擬化,忽略動態重新編譯(除非是您工作的重點)。

另外,在我看來,已經可以編寫足夠的操作系統來創建一些小型測試操作系統,這些小型測試操作系統可以在裸機上引導以用於測試正在開發的系統管理程序。順便說一句,如果縮減現有的操作系​​統是一個很好的策略,我認爲它會在Linux或主要BSD之一上效果最好。使用達爾文可能會痛苦。

0

如果您對計算機通信和超級計算機通信感興趣,那麼跨操作系統通信如何[這將比嘗試通過正常的TCP/IP套接字連接便宜。

3

你所說的想法並不是對科學的獨創貢獻。

我的建議是審查Xen和一般管理程序的文獻,可以追溯到上世紀60年代& 20世紀70年代,當時IBM發明了它。

我確定有改進的空間和原創想法。

就實際編寫虛擬機管理程序而言,您應該首先查看維基百科,因爲它提供了有關虛擬化的簡要說明。

這是一個歷史摘要,其中包括一些經過精心治療的書面文獻:http://www.kernelthread.com/publications/virtualization/。請注意,第一次引用是從1959年起!

0

ESX本質上是一個縮小的Linux安裝 - 添加了其他一些好東西:所以你的基本前提是體面的。

然而,對於一個博士項目來說,這聽起來太寬泛了:你應該專注於更小的東西。