
川合秀實
自己編寫一個操作系統,是許多程序員的夢想。也許有人曾經挑戰過,但因爲太難而放棄了。其實你錯了,你的失敗並不是因爲編寫操作系統太難,而是因爲沒有人告訴你那其實是一件很簡單的事。那麼,你想不想再挑戰一次呢?這是一本兼具趣味性、實用性與學習性的書籍。作者從計算機的構造、彙編語言、C語言開始解說,讓你在實踐中掌握算法。在這本書的指導下,從零編寫所有代碼,30天后就可以製作出一個具有窗口系統的32位多任務操作系統。本書以課題爲主導,邊做邊玩,拋開晦澀難懂的語言,行文風格十分隨性,還充滿了各種歡樂的吐槽,適合操作系統愛好者和程序設計人員閱讀。
記得大學時的操作系統老師,佈置的其中一項作業,是讓我們手工把幾十頁的彙編打印稿,錄入到系統,讓其跑起來實現一個操作系統的小功能。 那個學期都沒能聽懂老師的家鄉口音,那門課也沒學得很好,也直到很多年後才理解老師讓我們這麼做的原因。 工作了,經常要看彙編,偶爾也會遇到os相關的問題。直到這時,纔看到學生時打下的那點基礎的作用。 非常榮幸能成爲您的學生。
- 這件事爲什麼很難:因爲沒人告訴你它很簡單 - 輕量化編程思想 - 30天自制操作系統: 0-31天; 計算機結構 彙編 C語言 分割編譯與中斷處理 FIFO 內存管理 定時器 多任務 命令行窗口
我看過這本書的一部分,講的很基礎了,特別適合新手看,更重要的是,自己搞出來的操作系統就沒覺得很好玩?
此書還是需要c語言和彙編的基礎,這樣看起來纔沒那麼痛苦,作者寫的還是比較通俗易懂的,但是也有不少的缺點。 缺點: 1、中斷處理函數命名不規範 2、代碼質量很一般 2、沒有啓用分頁機制,直接使用物理內存,沒有實現虛擬內存 3、主次顛倒,講如何實現圖形界面的篇幅過多 4、沒有實現文件系統 5、講解保護模式的內容少
計算機專業的,一定要手擼一遍!上學的時候看過幾遍,對於底層原理來說,真的相當增速飛快。
1 不親自動手,學再多理論也是浮在表面,理解不深刻。跟着這本書做一遍,親手寫一個小巧的玩具操作系統,可以獲取OS開發方方面面的宏觀認識和第一手經驗,一生受用。不同於大部分操作系統的教材,這本書對UI比較重視,支持鼠標交互,增添了不少入門的樂趣。本書針對的是Windows環境開發,也算一個亮點,可以直接開幹,不用裝虛擬機跑ubuntu。內核部分覆蓋了多任務管理,內存管理,FAT文件系統。 2 即便跟着這本書走完了所有示例,也只是起步。作者追求的是直觀,所以代碼的質量與可維護性、設計的優雅上都不盡人意,在閱讀的時候不用太糾結代碼細節。可以在深入學習c語言編程後對其c代碼進行改寫,或調整工具鏈,用nasm對彙編部分改寫。 3 操作系統是一個典型的大型系統,可以鍛鍊編碼能力,系統優化能力,數據結構和算法設計能力等等。以此爲起點,推薦下一步去回頭再學習操作系統理論,再學習xv6, Linux。並且有了第一手經驗,對Unix, Linux, 對嵌入式編程的學習都會事半功倍。
我加了中文註釋的代碼,還有一些講解。有興趣同學可以訪問: github.com/zhangdexin/leap-os
強烈推薦,這本書是快速瞭解什麼是操作系統,如何從0開始編寫操作系統的不可多得的神書,迫不及待得花了半個月把代碼擼了一遍,受益匪淺。唯一的不足是用了太多作者自己編寫的特殊工具,我有嘗試用gcc來重新編譯,等我空下來完成後會上傳到github。
看了9天了,只看到前六天的內容,感覺也沒有完全喫透,的確有很多作者自己的“私貨”哇,我沒有去找書配套的代碼,是跟着D老師來複現的,學起來比較喫力,但依舊受益匪淺,會堅持讀完的
爲什麼編程的書都得是國外的?不是崇洋媚外,國外的大學生真的是爲了興趣愛好,中國的只是爲了錢途,考試,這也是導致中國必然沒有多少諾貝爾獎得主,沒有激情沒有愛好,我是諾貝爾協會的也不會頒獎給這樣的人。