一位獨立開發(fā)者Gusc準備開發(fā)自己的系統(tǒng)了,但是今天他準備分享一下具體怎樣開發(fā)的步驟。
對于初學者來說,就是讓你的代碼成功在CPU上運行,且不需要任何底層操作系統(tǒng),但首先你得有個計劃:
一. 計劃
1. 瞄準現(xiàn)代架構,Intel 64,比如Ivy Bridge, 酷睿3rd i5 CPU 集成Intel HD 4000 GPU 以及 B75 Express芯片組
2. 避免遺留數(shù)據(jù),盡快的刪除它們,甚至可以跳過保護模式而直接進入長模式
3. 盡快跳到C語言
4. 忘掉舊PCI、IDE、PS/2、串行/并行端口;也忘掉BIOS( Basic Input Output System)、UEFI,我自己準備瞄準PCIe, SATA, USB
5. 避免使用GRUB或任何其他multiboot引導裝載程序,一切以C代碼為唯一執(zhí)行代碼
二. 更詳盡的一些計劃
1. 使用C、C++和一些流行的腳本語言(Python 或 interpreted C):C作為內(nèi)核和核心路徑語言;C++ 作為GUI的語言;用戶空間使用腳本語言,沒有編譯,也能深度集成到操作系統(tǒng),可讓編寫應用程序更加容易
2. 模式驅(qū)動程序基于URI,例如:file://localhost/my documents/ or just /my documents/ in the file browser
3. 不用Unix目錄樹,這個不能告訴用戶什么東西,比如我第一次使用/ etc并不知道它是是存儲配置文件的意思,也分不清 /bin, /usr/bin以及 /usr/local/bin 的意思。而是簡單的:
/applications –安裝用戶空間應用程序
/configuration – 保存所有用戶空間配置文件
/documents – 保存用戶所有的文件
/system – 這是系統(tǒng)目錄 – 這個目錄除了驅(qū)動和內(nèi)核不能被任何人訪問等等
4. 對于創(chuàng)建API我有自己的一些想法, 不用POSIX,它只是API上的一個抽象層
5. 從一開始使用GUI,命令BIOS顯示一個可愛的logo并試圖避免任何閃爍
三. 從我個人的研究我所發(fā)現(xiàn)的事情是
1. 啟動順序:BIOS、Master Boot Record (MBR)、Bootloader、內(nèi)核
2. 在Windows上, 如何編寫自己的MBR并將它寫到磁盤上。我已經(jīng)用Visual C + +寫了小實用程序,允許直接從磁盤讀/寫
3. 如何用Visual Studio編寫功能
四. 有用的工具
1. Visual C++ 2010 Express Edition ——我自己用的XP,所以沒用VS2012 Express
2. Netwide Assembler
3. Bochs——x86模擬器, 所以你不需要寫入磁盤, 連接、啟動、看到錯誤, 關閉,重寫你的內(nèi)核, 寫入磁盤
4. Cygwin—Windows Unix 工具