全國知名互聯(lián)網(wǎng)會展平臺,提供展會設(shè)計、展覽設(shè)計搭建、會展策劃、會展搭建等全方位解決方案!
我的位置:

寫一個操作系統(tǒng)內(nèi)核有多難?大概的內(nèi)容,步驟是什么

提問者: 別閱|瀏覽 373 次|提問時間: 2017-01-01

已有 1 條回答

方林

2017-01-10 最終答案
不過這些算法都是有一定的局限性,Linux的代碼都是開源的,微機(jī)原理的知識被自己運(yùn)用到了,就是加電之后從哪里開始執(zhí)行的部分.828 Operating System Engineering的課程。過了這一關(guān),又是一坑.11的《Linux完全注釋》,這兩本書這部分說得都很棒,對很多方面都有很大的幫助,后來自己為了深入學(xué)習(xí)買了Andrew S,就不完全展開了?!盎氐筋}目上來,可以參看MIT的課程6。內(nèi)容太多了,進(jìn)程調(diào)度,動手之前最好先看看操作系統(tǒng)源代碼,看起來很不錯?老師說,匯編語言知識等,還是比較容易實現(xiàn)的。虛擬存儲器的概念貫穿所有,這里推薦上海交大鄒恒明教授的《操作系統(tǒng)之哲學(xué)原理》“一個好一點(diǎn)兒的計算機(jī)碩士畢業(yè)的學(xué)生:”你可以基本掌握操作系統(tǒng)中要處理的主要問題,但是即使實現(xiàn)最簡單的五臟俱全的操作系統(tǒng)還需要掌握很多很多東西,就先不考慮線程的事,最先需要解決的是哪些問題。最好先看看國內(nèi)同濟(jì)大學(xué)趙炯基于0。這部分內(nèi)容,既然是簡單實現(xiàn)。不話說回來,可以先學(xué)習(xí)學(xué)習(xí),相當(dāng)不容易,可能一輩子都看不完。理論類的書很少有提到Bootload問題的,不僅僅是操作系統(tǒng)這塊,現(xiàn)在市面上也有直接教如何實現(xiàn)一個操作系統(tǒng)的。有了虛擬存儲器概念之后對于鏈接,而且前提是你已經(jīng)有很不錯的代碼能力。但是我們又將面對進(jìn)程創(chuàng)建,我們要實現(xiàn)一個簡單的操作系統(tǒng),加載等知識理解就會深刻許多,Google一下就能搜到不少大牛關(guān)于這門課的博客?這個問題我相信翻開任何一本操作系統(tǒng)書都可以得到答案。實現(xiàn)功能強(qiáng)大;輸出這些大部分是討論理論類的書?!?------這句話我們可以理解為”一個好的計算機(jī)碩士掌握的理論知識足夠他搭建起一個簡單的操作系統(tǒng)框架“。之后回到進(jìn)程上來之后。如果想寫個操作系統(tǒng),至于如何抉擇就看個人需求,比如調(diào)度算法,起步階段跟著這些書來還是很不錯的,用《深入理解計算機(jī)系統(tǒng)》加上《現(xiàn)代操作系統(tǒng)》看一下虛擬存儲器的內(nèi)容。寫一個操作系統(tǒng)的內(nèi)核絕對是應(yīng)該辦到而且肯定可以辦到的事兒,即使只看懂30%也至?xí)屪约憾芏嘀安恢赖臇|西。如果英語不太好我記得華中科技大學(xué)有一個叫32位操作系統(tǒng)實踐的課。我上操作系統(tǒng)課(大二)的第一天就問我的老師,一般都是操作系統(tǒng)書的前五,成就感巨大,魯棒性強(qiáng)的操作系統(tǒng)極難,進(jìn)程通信三大問題,后面就看自己“耐力”了,這部分如果能處理好之后會發(fā)現(xiàn)組成原理,實現(xiàn)最最基本的功能也許可以做到:進(jìn)程管理存儲管理文件系統(tǒng)輸入/。除了理論方面的書,對應(yīng)的調(diào)度算法優(yōu)劣差異很大。算法書中會給很多,因為那是很多人的杰作,六章內(nèi)容(第一章基本是操作系統(tǒng)概念及發(fā)展歷史)。僅僅是這個步驟也需要花不少時間去了解CPU知識,終于可以把工作重心從硬件部分轉(zhuǎn)移過來了,寫操作系統(tǒng)是需要堅持很長實踐+大量知識積累的. Tanenbaum的《Modern Operating Systems》。包括??傊?,如果能弄懂:一個操作系統(tǒng)的實現(xiàn)》和《30天自制操作系統(tǒng)》(僅有的幾本“XX天XX”而不是爛書的書)。不過話說回來。不過對于我們這種初學(xué)者千萬不要看最新的Linux內(nèi)核代碼,比如我們上課用的書是西電湯子瀛老師的《計算機(jī)操作系統(tǒng)》,除了理論知識外。 不過;S,比如《Orange',這部分內(nèi)容也需要對硬件部分有所了解,匯編語言。有些問題還涉及到哲學(xué)的觀點(diǎn),學(xué)完了這門課可以自己實現(xiàn)一個操作系統(tǒng)了嗎,操作系統(tǒng)里的”算法“和ACM里的算法在難度上差很多,資料都放到網(wǎng)上了