關于作業系統的學習和開發,是一個大的方向;
和大部分計算機專業的人一樣,有着一個寫作業系統的沖動
但起步很難,難的第一點在于:
作業系統和硬體關系太密切~作業系統的理論有些深奧,但也明白;但硬體部分卻不能把控~
我想大部分的第一個問題是:硬體怎麼知道從哪啟動?哪才是作業系統的開始?這個結論跟硬體工程師最初的設計有關了。
為了形象說明問題,可以這樣看:
基于8086的IBM-PC中,CPU制造商,BIOS制造商,主機闆制造商,這三方必須協調一緻達成共識,首先CPU說:“加電後我就去FFFF0h執行第一條指令”,然後BIOS說:“好吧,那我肯定會把第一條指令放在FFFF0h,你能不能找到我就不管了”,這時候主機闆挺身而出說:“CPU大哥有我在你放心,隻有你把FFFF0h放到位址總線上,我肯定讓你找到BIOS中在FFFF0h處的那條指令。
不同的Computer有這不同的設計。
好了,收集了一些可閱讀的資料,其中部分是以前看過的~
1、<作業系統:設計和實作 上>
2、<自己動手寫作業系統> 于緣
3、<使用開源軟體-自己動手寫作業系統> 楊文博
第三本書感覺是在第二本書的基礎更簡要和系統的講解,估計不完整
建議閱讀順序
并讀2、3,比對學習理論和實踐部分
了解1這本書的理論,閱讀MINIX(MINUX)系統代碼
要達到什麼樣的目标:
1、能對作業系統的開發有一個整體的認識(至少知道先寫哪些,再寫哪些)
2、能搭建開發虛拟開發環境,能編譯成功實驗代碼-至少在基于8086的PC機上能成功
3、逐漸能閱讀更開源的作業系統代碼,能理清閱讀的順序
計劃時間:
2012-1-1檢驗目标達成度
多查閱多實踐~
加油!!
轉載于:https://www.cnblogs.com/GoGoagg/archive/2011/03/16/1986083.html