(2)從零開始的操作系統開發日記

繼續這幾天的自己都看不懂的筆記…


P528,每一個程序對應開一個控制檯,並且給每一個程序記錄自己的父控制檯,
GDT:global descriptor table提供異常的硬件基礎,用於防止應用程序訪問操作系統的內存段
LDT:local descriptor table,P580只用兩個,相當於當前的併發度爲3?2個應用程序一個操作系統
P590文件分類
P596批處理命令

總結:

30天這本書到此算是很粗略的看完,說實話是有點失望,沒有我預期那樣能有一個操作系統原理課上講解的結構的內核,很多地方其實寫得很彆扭,一些現代操作系統有的機制,比如內存管理,文件管理,進程管理,用戶態系統態切換等等,也不能說沒有,但可能是作者考慮到篇幅和空間大小,並沒有去做很好的實現。這本書,當你學習了彙編,C,計算機組成原理,數據結構,操作系統以後再看的話其實就比較淺顯了,但如果你只是剛學會了C去看【比如當時的我】,就會覺得尤其是跟硬件打交道的彙編代碼編寫起來會很累。總的來說,這本書看完能給你一種錯覺“什麼嘛一個操作系統不過如此,就是在寫好一些硬件的接口以後就可以自由發揮了”,畢竟這本書屏蔽了太多細節,光是怎麼調試就是個頭疼的問題。

這兩天我在知乎上面收集了不少資源,經過一些權衡,打算以清華大學的ucore作爲框架,在儘可能短的時間,紮實牢固地完成他們的操作系統課程實驗,逐步實現出1W行左右的ucore,然後在此基礎上,考慮添加不同的算法機制,提供點函數庫,系統API,提供比《30天》還要爛的圖形驅動(笑),移植幾個例程,寫個測試多進程的simple和資源查看器【爲了課程設計答辯的時候能看效果,反正測試也要用】,基本上可能就不是很多時間了。

現在整理一下這幾天獲得的資源吧:
1. ucore的課程視頻:http://www.xuetangx.com/courses/course-v1:TsinghuaX+30240243X_tv+2015_T1/about
2. ucore的項目地址:https://github.com/chyyuu/ucore_os_lab
3. ucore的鏡像【vmdk,自己特地轉換了,他提供的是vid感謝我吧(笑)】:http://pan.baidu.com/s/1eROucOq
4. ucore的實驗指導書:https://objectkuan.gitbooks.io/ucore-docs/content/index.html
5. 知乎上相關問題下有大量資源:https://www.zhihu.com/question/25628124
6.git教學:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
7. vim教學:http://download.csdn.net/detail/xinguimeng/7714213
8. ucore的工具鏈簡單入門教學:【ucore官方版,注意科學上網】

apt-get
http://wiki.ubuntu.org.cn/Apt-get%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97
git github
http://www.cnblogs.com/cspku/articles/Git_cmds.html
http://www.worldhello.net/gotgithub/index.html
diff patch
http://www.ibm.com/developerworks/cn/linux/l-diffp/index.html
http://www.cnblogs.com/itech/archive/2009/08/19/1549729.html
gcc
http://wiki.ubuntu.org.cn/Gcchowto
http://wiki.ubuntu.org.cn/Compiling_Cpp
http://wiki.ubuntu.org.cn/C_Cpp_IDE
http://wiki.ubuntu.org.cn/C%E8%AF%AD%E8%A8%80%E7%AE%80%E8%A6%81%E8%AF%AD%E6%B3%95%E6%8C%87%E5%8D%97
gdb
http://wiki.ubuntu.org.cn/%E7%94%A8GDB%E8%B0%83%E8%AF%95%E7%A8%8B%E5%BA%8F
make & makefile
http://wiki.ubuntu.com.cn/index.php?title=%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile&variant=zh-cn
http://blog.csdn.net/a_ran/article/details/43937041
shell
http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80
http://wiki.ubuntu.org.cn/%E9%AB%98%E7%BA%A7Bash%E8%84%9A%E6%9C%AC%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97
understand
http://blog.csdn.net/qwang24/article/details/4064975
vim
http://www.httpy.com/html/wangluobiancheng/Perljiaocheng/2014/0613/93894.html
http://wenku.baidu.com/view/4b004dd5360cba1aa811da77.html
meld
https://linuxtoy.org/archives/meld-2.html
qemu
http://wenku.baidu.com/view/04c0116aa45177232f60a2eb.html
Eclipse-CDT
http://blog.csdn.net/anzhu_111/article/details/5946634
haroopad
http://pad.haroopress.com/
gitbook
https://github.com/GitbookIO/gitbook https://www.gitbook.com/

日常感想部分:

其實在看到清華的操作系統實驗課,我第一次深深的感受到了TOP1和二三流學校的差距,他們的課程,有着別人要東湊西湊才辛辛苦苦湊齊的各種資源,有一代又一代的師兄師姐(?)去維護升級,普通一點的學校真的是就算有心想開操作系統實驗課,也沒有這個資源,學生也不見得受用。

私、まだ怠惰ですね~

發佈了28 篇原創文章 · 獲贊 12 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章