奥斯德夫笔记
一本书最初是笔记集,旨在引导读者完成从头开始构建操作系统内核的步骤。每一章都是在编写(和重写)我们自己的内核时编写的,涵盖了从选择引导加载程序到在用户空间中运行加载的 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 公共许可证获得许可,请参阅许可证文件以获取全文。
虽然不是法律建议,但该许可证可以概括为:
- 您可以自由地以任何媒介或格式共享(复制和重新分发)此材料。
- 改编(重新混合、转换和构建)材料。
在以下限制条件下:
- 您必须给予适当的认可,提供许可证的链接,并表明是否进行了更改。
- 您不能将该材料用于商业用途。
请注意,不提供任何类型的保证。