操作系統(tǒng)沒(méi)那么難,你也能從零開(kāi)發(fā)一個(gè)五臟俱全的操作系統(tǒng)

2021-02-07    分類(lèi): 網(wǎng)站建設(shè)

說(shuō)起操作系統(tǒng),大家都覺(jué)得是一個(gè)龐大的工程,超級(jí)復(fù)雜,可望而不可即?,F(xiàn)在我們有一個(gè)大膽的想法,一個(gè)人能不能從第一行代碼碼起,開(kāi)發(fā)一個(gè)五臟俱全的操作系統(tǒng)呢?答案是肯定的,而且這個(gè)操作系統(tǒng)具體商用操作系統(tǒng)的所有主要功能(當(dāng)然達(dá)不到商業(yè)操作系統(tǒng)的全部功能了)。

我們知道商業(yè)操作系統(tǒng)或者開(kāi)源的Linux操作系統(tǒng)多的千萬(wàn)行甚至億行代碼,規(guī)模之大,讓人無(wú)法想象。微軟Windows開(kāi)發(fā)團(tuán)隊(duì)多達(dá)幾千人,而Linux內(nèi)核參與的開(kāi)發(fā)人員也在千級(jí)別。我們當(dāng)然不是要開(kāi)發(fā)一個(gè)這么大規(guī)模的操作系統(tǒng),我們的目標(biāo)是開(kāi)發(fā)一個(gè)具備多進(jìn)程及調(diào)度、內(nèi)存管理、文件系統(tǒng)和中斷管理等功能的操作系統(tǒng)。這個(gè)已經(jīng)具備操作系統(tǒng)的核心功能了。

其實(shí)有很多種方法可以完成上述任務(wù),而且這些方法是實(shí)操類(lèi)的,只要按照操作,就可以開(kāi)發(fā)出一個(gè)微型操作系統(tǒng)。另外需要說(shuō)明的一點(diǎn)是,這些方法與Linux內(nèi)核講解類(lèi)的是不同的。后者只能讓你理解Linux內(nèi)核的實(shí)現(xiàn),而本文介紹的方法則可以讓你從頭開(kāi)發(fā)一個(gè)文件系統(tǒng)。下面我們?cè)谶@一一道來(lái)。

圖1圖書(shū)封面


本書(shū)開(kāi)發(fā)的每一部分都可以在bochs虛擬機(jī)上面運(yùn)行。從最簡(jiǎn)單的十幾行代碼開(kāi)始,一直到幾千行代碼的完整操作系統(tǒng),每個(gè)實(shí)例都可以編譯運(yùn)行在bochs虛擬機(jī)。最終,本書(shū)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單但完整的操作系統(tǒng),實(shí)現(xiàn)的內(nèi)容包括:MBR,loader,內(nèi)存管理,中斷管理,文件管理,系統(tǒng)調(diào)用,多進(jìn)程切換(內(nèi)核以及用戶態(tài))等內(nèi)容。

客觀的說(shuō),本書(shū)完全從實(shí)踐出發(fā),基本上可以說(shuō)是手把手,把代碼一行行列出來(lái),講解得清清楚楚。本書(shū)另外一個(gè)特點(diǎn)是本書(shū)配套所有代碼都可以找到,因此我們可以安裝作者的思路進(jìn)行編譯和練習(xí)。

圖2 Xv6內(nèi)容目錄

川合秀實(shí)的大作,該書(shū)大的特點(diǎn)不僅僅開(kāi)發(fā)一個(gè)操作系統(tǒng),而且還有圖形界面。日本人的認(rèn)真和嚴(yán)謹(jǐn)想必大家都聽(tīng)說(shuō)過(guò)。讀過(guò)該書(shū)以后,你真的會(huì)體會(huì)到日本人做事的嚴(yán)謹(jǐn)。本書(shū)同樣有配套的源代碼,讀者可以一邊讀書(shū),一邊實(shí)踐。按作者的話,30天真的可以開(kāi)發(fā)出一個(gè)圖形化的操作系統(tǒng)。


圖3 30天自制操作系統(tǒng)

下面本書(shū)中的一個(gè)具體的實(shí)例,可以看到一個(gè)非常初級(jí)的窗體。


圖4 圖形界面操作系統(tǒng)


有免費(fèi)的視頻教程。

圖5 操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)

本文標(biāo)題:操作系統(tǒng)沒(méi)那么難,你也能從零開(kāi)發(fā)一個(gè)五臟俱全的操作系統(tǒng)
當(dāng)前地址:http://www.muchs.cn/news/99607.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、服務(wù)器托管、App開(kāi)發(fā)、品牌網(wǎng)站建設(shè)網(wǎng)站維護(hù)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化