天天看點

自己動手寫核心(序)(原創)

我對深入研究系統内部非常感興趣,在大學課程中學習了編譯原理相關課程。嘗試寫過一個編譯器,不過它看起來更像一個彙編器。後來開始使用FreeBSD,我對它到底怎麼實作的感到很好奇,于是找了一份源代碼開始閱讀,和你想象的一樣,我在數百萬行源程式中深陷泥潭。我需要一把來複槍,結果确找到了一堆加農炮:)

後來,我找到了"skelix", 一個os核心,運作在i386機器上,支援多任務,分頁機制,虛拟記憶體,檔案系統等。這個tutorial教你怎樣一步一步實作skelix,雖然它看起來象一個玩具。這樣做的好處是看起來更清晰一些。如果你發現bug或好的建議可以告訴原作者:xiaoming.mo at skelix dot org。譯者:jinglexy at yahoo dot com dot cn(email and msn both),上海體育館。預計7月份翻譯完成(2007年),因為自己的事情比較多,隻能偶爾譯譯,進度大約2周譯1課吧,也可能快些,如果有幫忙的就更歡迎了。最終整理的文檔會做成一個chm或pdf檔案釋出在http://www.cppblog.com/jinglexy(新的部落格位址是:http://blog.csdn.net/jinglexy),友善讀者閱讀。如有不當或錯誤之處希望大家指正。

最 近也在準備寫一個微核心os,相容posix,跨平台等(很多代碼會出自linux,當然也會相容linux驅動)。網絡上有了很好的題材,有興趣的可以 結集一下哦。MSN: jinglexy at yahoo dot com dot cn,qq群見http://www.cppblog.com/jinglexy(新的部落格位址是:http://blog.csdn.net/jinglexy)上面的公告。

暈,這不是廣告嗎?

目錄

第0課:環境需求:gcc, vmware,一些資料,風格約定

第1課:引導程式:來自黑暗世界的"hello world"

第2課:保護模式: That's the first tough one

第3課:輔助函數:kprintf, libcc, print_c

第4課:中斷和異常1:What a great pleasure to see some error messages.

第5課:中斷和異常2:"Hello World!" comes back again

第6課:多任務:One bit typo might drive you crazy, believe me

第7課:檔案系統:A long journey, but not difficult

第8課:記憶體管理:Huge Disappointment

第9課:系統調用和可執行程式:Little relief

                         上海體育館  jinglexy at yahoo dot com dot cn

                         2007.05

繼續閱讀