AlmeidaOS
1.0.0
簡單,獨立,乾淨的代碼,有據可查的,愛好者64位操作系統,用於英特爾和AMD處理器。它以彙編(Intel語法)和C(GNU99標準)的形式編寫,其中我努力在源代碼中添加註釋,以便將其用作未來的OS開發人員的參考。
它包含以下從頭開始寫的組件:
| 成分 | 描述 | 原始碼 |
|---|---|---|
| MBR | 第一階段引導加載程序 | 代碼 |
| 加載程序 | 第二階段引導加載程序 | 代碼 |
| 成分 | 描述 | 原始碼 |
|---|---|---|
| PML4 | 分頁結構 | 代碼 |
| 夥伴 | 內存分配器系統 | 代碼 |
| printk | 類似printf的字符串格式解析實用程序 | 代碼 |
| 串行驅動程序 | 通過RS232發送printk msgs以幫助調試 | 代碼 |
| 核心轉儲 | 用於調試目的的轉儲CPU寄存器 | 代碼 |
| syscall/sysret | 選擇跳到3和後背的方法 | 代碼 |
| 坑 | 可編程間隔計時器 | 代碼 |
| 圖片 | 可編程中斷控制器 | 代碼 |
| (x)延遲 | 鑑於我正在使用坑 | 代碼 |
| CMOS RTC | 實時時鐘 | 代碼 |
| 調度程序 | 簡單的圓形旋轉調度程序 | 代碼 |
函數正在按需添加:代碼
還有更多!明星/觀看此存儲庫以保持關注!
為了構建此應用程序,預計您將在計算機中安裝make和docker 。所有其他建築物依賴性都應由此步驟中創建的Docker映像自動照顧。
要構建它,您必須運行:
make build
為了運行此應用程序,預計您將在計算機中安裝make qemu-system-x86_64 。
make test
為了確保我不會對此操作系統的能力失去關注,我決定編寫要在短期到中期內實現的功能列表。
擁有的事情真是太棒了,但是我不確定我一生中是否有需要做的事情。
這些都是在Almeidaos的發展過程中對我有很大幫助的參考
論壇:
圖書:
現有OS:
課程: