一,制作真正的IPL(啟動程序裝載器) 今天的目的是將昨天的啟動程序裝載器來裝載程序。 ①:磁盤最初的512字節是啟動區。為了裝載下一個512字節內容的程序,對之前的程序進行修改,得到了今天的harib00a程序 ...
天自制操作系統 筆記 定時器 進度回顧 上一篇和上上一篇解決了繪制窗口和窗口刷新的問題。關於窗口的東西就此告一段落。本篇介紹一個相對獨立且十分重要的操作系統部件 定時器的使用方法。 定時器是一個硬件 可編程的間隔型定時器 Programmable Interval Timer 簡稱定時器 PIT ,是集成到電腦上的一個硬件部件。之前講過的用於實現中斷機制的PIC也是個硬件部件。有了PIT,我們才 ...
2014-06-10 13:48 3 5478 推薦指數:
一,制作真正的IPL(啟動程序裝載器) 今天的目的是將昨天的啟動程序裝載器來裝載程序。 ①:磁盤最初的512字節是啟動區。為了裝載下一個512字節內容的程序,對之前的程序進行修改,得到了今天的harib00a程序 ...
harib07a: 整理內存管理函數:memman_alloc和memman_free能夠以最小1字節進行內存管理,但時間久了后,容易產生外部碎片;為此,筆者編寫了一些以0x1000字節為單位進行 ...
《30天自制操作系統》筆記(13)——總結 進度回顧 上一篇介紹了操作系統實現多任務的方法。操作系統利用CPU的far模式的JMP指令、寄存器TR、GDT、TSS和PIT中斷這些功能實現了多任務,可見CPU在設計時就考慮到了計算機要具有多任務處理的能力。也就是說,CPU、PIC等硬件支持 ...
《30天自制操作系統》筆記(03)——使用Vmware 進度回顧 在上一篇,實現了用IPL加載OS程序到內存,然后JMP到OS程序這一功能;並且總結出下一步的OS開發結構。但是遇到了真機測試和U盤啟動的一些問題。本篇就來解決之。 遇到的問題 物理機測試 簡單來說,把軟盤(U盤)做成 ...
《30天自制操作系統》筆記(07)——內存管理 進度回顧 上一篇中處理掉了絕大部分與CPU配置相關的東西。本篇介紹內存管理的思路和算法。 現在想想,從軟件工程師的角度看,CPU也只是一個軟件而已:它的功能就是加載指令、執行指令和響應中斷,而響應中斷也是在加載指令、執行指令。就像火車沿着一條 ...
光盤中文翻譯版:https://github.com/yourtion/30dayMakeOS.git 原版光盤(含iso文件):https://github.com/sky5454/30daysMakeOS-Origin-ISOfiles.git 原版光盤git版本:https ...
暑假果然是滋生懶散的溫床. (╯‵□′)╯︵┻━┻ 好久不動都忘記之前做到哪里了, 上次好像做到了C語言的引入, 這一節所做的東西都相當輕松, 將會繪制出操作系統的基本界面. 繪圖的原理 按照書中所說, 將值寫入到顯存中就能在屏幕上顯示相應的像素 ...
《30天自制操作系統》筆記(09)——繪制窗口 進度回顧 上一篇中介紹了圖層式窗口管理的思路和算法。在此基礎上,本篇就解決繪制窗口及其簡單的優化問題。 這里稍微吐槽一下《30天自制操作系統》原作者。全書我剛剛看了三分之一,寫得確實不錯,但是我能感受到原作者是習慣用匯編語言和匯編思維來寫程序 ...