暑假果然是滋生懶散的溫床. (╯‵□′)╯︵┻━┻ 好久不動都忘記之前做到哪里了, 上次好像做到了C語言的引入, 這一節所做的東西都相當輕松, 將會繪制出操作系統的基本界面. 繪圖的原理 按照書中所說, 將值寫入到顯存中就能在屏幕上顯示相應的像素 ...
這一次的學習相當曲折, 主要是因為粗心, Makefile里面的錯誤導致了文件生成出現各種奇奇怪怪的問題, 弄得心力交瘁, 因此制作過程還是盡量按着作者的路子來吧. 作者提供的源碼的注釋在中文系統下是亂碼, 而且代碼的分隔用了兩個Tab, 在這里要處理一下: : s . g 刪除所有的注釋 : s t t t 把兩個Tab替換為一個Tab 要讓作者的nas文件和asm文件擁有相同的語法規則, 在 ...
2014-07-09 13:49 27 2966 推薦指數:
暑假果然是滋生懶散的溫床. (╯‵□′)╯︵┻━┻ 好久不動都忘記之前做到哪里了, 上次好像做到了C語言的引入, 這一節所做的東西都相當輕松, 將會繪制出操作系統的基本界面. 繪圖的原理 按照書中所說, 將值寫入到顯存中就能在屏幕上顯示相應的像素 ...
讓系統跑起來 要寫一個操作系統,我們首先要有一個儲存系統的介質,原版書似乎是06年出版的,可惜那時候沒有電腦,沒想到作者用的還是軟盤,現在的電腦誰有軟驅?不得已我使用一張128M的SD卡來代替,而事實上你用的是U盤還是軟盤對我們的操作系統沒有影響 ...
被載入地址是0x7c00 到 0x7e00, 負責將10個柱面讀入到0x8200到0x34fff (1 ...
《30天自制操作系統》筆記(02)——導入C語言 進度回顧 在上一篇,記錄了計算機開機時加載IPL程序(initial program loader,一個nas匯編程序)的情況,包括IPL代碼(helloos.nas)、編譯生成helloos.img文件、用虛擬機QEMU加載 ...
一,制作真正的IPL(啟動程序裝載器) 今天的目的是將昨天的啟動程序裝載器來裝載程序。 ①:磁盤最初的512字節是啟動區。為了裝載下一個512字 ...
《30天自制操作系統》筆記(13)——總結 進度回顧 上一篇介紹了操作系統實現多任務的方法。操作系統利用CPU的far模式的JMP指令、寄存器TR、GDT、TSS和PIT中斷這些功能實現了多任務,可見CPU在設計時就考慮到了計算機要具有多任務處理的能力。也就是說,CPU、PIC等硬件支持 ...
《30天自制操作系統》筆記(03)——使用Vmware 進度回顧 在上一篇,實現了用IPL加載OS程序到內存,然后JMP到OS程序這一功能;並且總結出下一步的OS開發結構。但是遇到了真機測試和U盤啟動的一些問題。本篇就來解決之。 遇到的問題 物理機測試 簡單來說,把軟盤(U盤)做成 ...
《30天自制操作系統》筆記(09)——繪制窗口 進度回顧 上一篇中介紹了圖層式窗口管理的思路和算法。在此基礎上,本篇就解決繪制窗口及其簡單的優化問題。 這里稍微吐槽一下《30天自制操作系統》原作者。全書我剛剛看了三分之一,寫得確實不錯,但是我能感受到原作者是習慣用匯編語言和匯編思維來寫程序 ...