奧斯德夫筆記
一本書最初是筆記集,旨在引導讀者完成從頭開始建立作業系統核心的步驟。每一章都是在編寫(和重寫)我們自己的核心時編寫的,涵蓋了從選擇引導程式到在用戶空間中運行載入的 ELF 的過程中的一個步驟。
我們希望您喜歡並在這裡找到一些有趣的東西!
此儲存庫的內容也可以作為印刷書籍提供,可以透過 Lulu 購買:
最新的主版本包含從主版本建立的 PDF。
目前章節:
- 第 0 部分:簡介
- 第 1 部分:建置與啟動協議
- 建構核心
- 引導程式和引導協議
- 產生檔案
- 連結描述文件
- 生成可啟動 Iso
- 第 2 部分:架構和基本驅動程式
- 概述
- 你好世界
- 較高半內核
- 全域描述符表
- 中斷
- ACPI 表
- APIC
- 定時器
- PS2 鍵盤概述
- PS2 鍵盤中斷處理
- PS2鍵盤驅動程式實現
- 第三部分:視訊輸出
- 第 4 部分:記憶體管理
- 第 5 部分:日程安排
- 第 6 部分:進入使用者空間
- 概述
- 切換模式
- 更新的中斷處理
- 系統調用
- 系統呼叫 ABI 範例
- 第 7 部分:進程間通信
- 第 8 部分:檔案系統
- 第 9 部分:載入和執行 ELF
- 第 10 部分:超越
- 補充:附錄
- 一般故障排除
- 提示和技巧
- C語言
- 與 NASM 合作
- 關於交叉編譯器
- 偵錯
- 記憶體保護
- 有用的資源
- 致謝
我們的項目
- DreamOs64:由 Ivan G. 從頭開始編寫的 64 位元作業系統。
- Northport:另一個具有 SMP 和 riscv 支援的 64 位元作業系統!作者:迪恩·T.
- DreamOs:從頭開始編寫的 32 位元作業系統。該項目已停止,但仍值得一提。也由 Ivan G.
作者
- Ivan G (dreamos82) - 這些筆記的作者和創作者。
- Dean T (DeanoBurrito) - 作者。
執照
此儲存庫的內容(程式碼、文字和其他資產)已根據知識共享署名-非商業 4.0 公共授權取得許可,請參閱授權文件以取得全文。
雖然不是法律建議,但該許可證可以概括為:
- 您可以自由地以任何媒介或格式共用(複製和重新散佈)此資料。
- 改編(重新混合、轉換和建造)材料。
在以下限制條件下:
- 您必須給予適當的認可,提供許可證的鏈接,並表明是否進行了更改。
- 您不能將該材料用於商業用途。
請注意,不提供任何類型的保證。