2011-05-21 51 views
13

今年春天,我參加了一門關於通用操作系統理論和原理的課程,現在我希望通過Tanenbaum的操作系統書籍,通過Minix源代碼查看並獲得實際操作系統實現的總體思路,度過這個夏天。使用Minix 2或3學習操作系統開發?

在學校有兩位操作系統教授,我向他們詢問有關借用塔南鮑姆的書。有趣的是,有人說我應該使用這本書的舊版本,第二版本,並專注於Minix 2,因爲它整體上更簡單,並且有更少的理解來源(並且因此在沒有信息超載的情況下更容易學習)。另一位教授說,她不認爲這會是一個問題,我應該與Minix 3和他的書的最新版本一起去,以便我看到更現代的實現。

Stack Overflow是怎麼想的?這裏的任何人都有Minix兩個版本的經驗?我想學習製作實際操作系統的原則,但我也不希望大量的信息超載,這使我無法真正理解代碼整體如何。

回答

4

如果您想深入研究基於微內核的操作系統的源代碼,我建議您看看HelenOS,這是一個較新的但仍然相對簡單的操作系統,不會受到UNIX語義和API的影響。唉,現在還沒有關於它的書(如Tanenbaum),但是這些資料都有詳細記錄。

4

我把Minix 2的方式。這對於Minix 3來說是可以理解和鋪平道路的。

關於HelenOS - 他們採取不切實際的目標 - 無錯誤和形式化的描述。兩者都無法實現。

HTH

+4

我不確定我是否理解了答案的第二部分。你能澄清關於HelenOS的部分嗎? – allingeek 2012-09-25 23:39:00

+0

是的,我第二個澄清。我也想知道你是否能夠編譯並運行minix 2,如果是的話(虛擬機?) – gideon 2015-07-22 19:37:27

1

有趣的我只是碰到過這樣的老職位似乎是一個凹凸非常抱歉。

我剛上大學時,有一段時間我們有一個操作系統實驗室,我們用Linux的PC用於開發,68000的機器用於測試,我相信它們是基於VMS的。

軟件環境是Modula2(一年級和二年級語言)或C/C++(二年級和三年級語言),所有內容都通過腳本交叉編譯和加載,準備好將測試機重置爲引導新的操作系統。

無論如何,爲了減少這一點,我們使用了一些使用Minix2源代碼的教育框架,這樣您就可以爲項目編寫部分操作系統,而無需編寫整個代碼。

我一直在試圖找到有關此環境的官方資源和文檔,我確信它在某個地方可能會更新/維護。