CPU通電後作的第一件事兒編輯器
執行的第一條指令。。。工具
CPU讀寫軟盤並非一個字節一個字節的讀寫的,而是以512字節爲一個單元進行讀寫。所以軟盤的512字節就成爲一個扇區。CPU開始讀寫的第一個扇區,稱之爲啓動區。而後檢查這個扇區最後2個字節的內容,若是這最後2個字節不是0x55 AA,計算機會認爲這張盤上沒有所需的驅動程序,報一個不能啓動的錯誤。(也許會有人問爲何必定是0x55 AA呢?那是當初的設計者隨便定的,筆者也無法解釋)。若是CPU確認了第一個扇區的最後兩個字節正好是0x55 AA,那麼就認爲這個扇區的開頭是啓動程序,並開始執行這個程序。開發工具
手動編寫一個二進制文件,把該文件寫入軟盤,並用它來啓動電腦。spa
helloos.img操作系統
編寫這個文件耗費了一天的時間,固然找東西壓住"0"鍵,幹其它事情。.net
使用匯編語言實現helloos.img設計
手動編寫彙編語言文件對象
helloos.nasci
彙編的簡單語法開發
DB
RESB
做者本身寫的彙編語言編譯器nask
編譯彙編語言hellos
nask.exe helloos.nask helloos.img
批處理文件asm.bat簡化彙編編譯
電腦裏有個BIOS的程序,出場時就組裝在電腦主板上的ROM(只讀存儲器,不能寫入,切斷電源後內容不會消失)單元裏。電腦廠家在BIOS中預先寫入了操做系統開發人員常常會用到的一些程序很是方便。
做者開發的是32位的操做系統。
開發工具及硬件介紹:
1."二進制編輯器"(Binary Editor),是一款能夠直接對二進制數進行編輯的軟件。
2.筆者提供的編輯器,也是以Windows版的gcc爲基礎稍加改造而作成的。
3.做者是以軟盤爲存儲操做系統的物理存儲,總容量是1440KB。
4.本書是以IBM PC/AT兼容機(也就是所謂的Windows我的電腦)爲對象進行說明。至於其它機型。好比Macintosh(蘋果機)或者PC-982等,雖然本書也參考了其中某些部分,但基本上沒法開發出在這些機型上運行的操做系統,這一點還請諒解。註解:本書所講的操做系統內容僅用Macintosh是開發不了的,而且開發出的操做系統也不能直接在Macintosh上運行。可是在PC上開發的操做系統,能夠經過模擬器在Macintosh上運行。
世界上第一個操做系統怎麼來的
在開發世界上第一個操做系統時,固然尚未任何現成的操做系統可利用,所以那時候的人們不得不對照着CPU的命令代碼表,本身將0和1排列起來,而後再把這些數據寫入到磁盤(估計那時候尚未磁盤,用的是其它存儲設備)。這是一項很是艱鉅的工做。因此恐怕最初的操做系統功能很是有限,作好以後人們利用它來開發一個稍微像點的樣的操做系統,而後再用這個來開發更實用的操做系統......操做系統就是這樣一步一步發展過來的。