操作系統(tǒng)開發(fā)教程#01

想問大家一個(gè)問題,“你有沒有想過制作一個(gè)自己的操作系統(tǒng)?”當(dāng)然,既然您能看到這里,您大概率是想過的。
那么,我們在開始開發(fā)之前,首先明確兩點(diǎn)——“什么是操作系統(tǒng)?”以及“一個(gè)合格的操作系統(tǒng)需要擁有什么?”
讓我們引用百度百科上的定義:
操作系統(tǒng)(英語:Operating System,縮寫:OS)是一組主管并控制計(jì)算機(jī)操作、運(yùn)用和運(yùn)行硬件、軟件資源和提供公共服務(wù)來組織用戶交互的相互關(guān)聯(lián)的系統(tǒng)軟件程序
當(dāng)然,我們每每看到這樣乏味冗長的教科書式的定義時(shí)都會(huì)犯困,為了不使你在這時(shí)候睡著,讓我們給出一個(gè)更為簡潔的定義吧——“操作系統(tǒng)是一個(gè)管理硬件與軟件的程序(組)”
emm…是不是太抽象了?形象一點(diǎn),操作系統(tǒng)就是一個(gè)協(xié)調(diào)“硬件”、“軟件”、“用戶”的“調(diào)度員”(作者語文的水平就到這里了,這次語文才考93分??)
那么操作系統(tǒng)需要具備什么?
進(jìn)程管理調(diào)度
存儲(chǔ)管理:存儲(chǔ)分配、存儲(chǔ)共享、存儲(chǔ)保護(hù) 、存儲(chǔ)擴(kuò)張。
設(shè)備管理:設(shè)備分配、設(shè)備控制 、設(shè)備獨(dú)立性。
文件管理:存儲(chǔ)空間管理、目錄管理 、文件操作管理、文件保護(hù)。
作業(yè)管理:負(fù)責(zé)處理用戶提交的任何要求。
看似很多,但實(shí)際上并不很多,很多代碼會(huì)在不知覺間就寫完了(比起去刷題,我個(gè)人倒覺得寫操作系統(tǒng)更有趣。好久沒上洛谷了,咕值掉了好多)
對(duì)于進(jìn)程管理,本欄目僅涉及一小部分(由于SymbolOS為單任務(wù)操作系統(tǒng),作者也沒有過多研究進(jìn)程管理的方面)
對(duì)于文件管理,本欄目提供SFS(Symbol File System,Symbol文件系統(tǒng))作為教學(xué)樣例供為參考。
那么,就讓我們準(zhǔn)備好開始我們的操作系統(tǒng)開發(fā)之路吧!