- 30天自制操作系統
- (日)川合秀實
- 1318字
- 2020-03-11 14:01:39
8 各章內容摘要
估計看過目錄大家就能大概了解各章內容了,但因為目錄里項目太多,所以在這里概括總結一下。如果有人想要保留一份神秘感,想邊看邊猜“后面的內容會是什么”,那么可以跳過本節不讀(笑)。這一部分可以說是全書的燈塔,當大家在閱讀本書的過程中感覺有什么不放心的時候,就回過頭來重新看看本節內容吧。
第一周(第1天~第7天)
一開始首先要考慮怎么來寫一個“只要一通電就能運行的程序”。這部分用C語言寫起來有些困難,所以主要還是用匯編語言來寫。
這步完成之后,下一步就要寫一個從磁盤讀取操作系統的程序。這時即便打開電腦電源,它也不會自動地將操作系統全部都讀進來,它只能讀取磁盤上最開始的512字節的內容,所以我們要編寫剩余部分的載入程序。這個程序也要用匯編語言編寫。
一旦完成了這一步,以后的程序就可以用C語言來編寫了。我們就盡快使用C語言來學習開發顯示畫面的程序。同時,我們也能慢慢熟悉C語言語法。這個時候我們好像在做自己想做的事,但事實上我們還沒有自由操縱C語言。
接下來,為了實現“移動鼠標”這一雄心,我們要對CPU進行細致的設定,并掌握中斷處理程序的寫法。從全書總體看來,這一部分是水平相當高的部分,筆者也覺得放在這里有些不妥,但從本書條理上講,這些內容必須放在這里,所以只好請大家忍耐一下了。在這里,CPU的規格以及電腦復雜的規格都會給我們帶來各種各樣的麻煩。而且開發語言既有C語言,又有匯編語言,這又給我們造成了更大的混亂。這個時候我們一點兒也不會覺得這是在做自己想做的事,怎么看都像是在“受人擺布”。
渡過這個痛苦的時期,第一周就該結束了。
第二周(第8天~第14天)
一周的苦戰還是很有意義的,回頭一看,我們就會發現自己還是斬獲頗豐的。這時我們已經基本掌握了C語言的語法,連匯編語言的水平也能達到本書的要求了。
所以現在我們就可以著手開發像樣的操作系統了。但是這一次我們又要為算法頭痛了。即使掌握了編程語言的語法,如果不懂得好的算法的話,也還是不能開發出來自己想要的操作系統。所以這一周我們就邊學習算法邊慢慢地開發操作系統。不過到了這一階段,我們就能感覺到基本上不會再受技術問題限制了。
第三周(第15天~第21天)
現在我們的技術已經相當厲害了,可以隨心所欲地開發自己的操作系統了。首先是要支持多任務,然后是開發命令行窗口,之后就可以著手開發應用程序了。到本周結束時,就算還不夠完備,我們也能拿出一個可以稱之為操作系統的軟件了。
第四周(第22天~第28天)
在這個階段,我們可以盡情地給操作系統增加各種各樣的功能,同時還可以開發出大量像模像樣的應用程序來。這個階段我們已經能做得很好了,這可能也是我們最高興的時期。這部分要講解的內容很少,筆者也不用再煞費苦心地去寫那些文字說明了,可以把精力都集中在編程上(笑)。對了,說起文字才想起來,正好在這個時期可以讓我們的操作系統顯示文字了。
免費贈送兩天(第29天~第30天)
剩下的兩天用來潤色加工。這兩天我們來做一些之前沒來得及做,但做起來既簡單又有趣的內容。
■■■■■
以上就是從第1天到第30天的內容摘要,越到后面介紹越短,這也說明最開始的內容是最復雜的。那么,就讓我們做好準備,開始第一天的學習吧。啊,大家不用緊張,放松!放松!
- pcDuino開發實戰
- 構建高可用Linux服務器(第4版)
- Linux Mint Essentials
- FreeRTOS實時內核應用指南
- Installing and Configuring Windows 10:70-698 Exam Guide
- 嵌入式Linux驅動程序和系統開發實例精講
- 混沌工程:復雜系統韌性實現之道
- 深入理解eBPF與可觀測性
- Kali Linux高級滲透測試
- VMware Horizon View Essentials
- Building Telephony Systems With Asterisk
- Heroku Cloud Application Development
- iOS 10快速開發:18天零基礎開發一個商業應用
- Multi-Cloud for Architects
- 計算機系統平臺