入门教程
经典教程
- Xv6, a simple Unix-like teaching operating system
- 中文版的 MIT xv6 文档
- Bran’s Kernel Development Tutorial
- Bran’s Kernel Development Tutorial中文版
- An unix-like toy kernel
从零开始写OS (RUST)
- 超级详细的 rust OS 编写教程
- 使用Rust从零写操作系统 (1) —— 独立式可执行程序
- 使用Rust从零写操作系统 (2) —— 最小化内核
- 使用Rust从零写操作系统 (3) —— 格式化输出
- Github仓库
Bran的内核开发教程(Bran’s Kernel Development Tutorial中文版)
- Bran的内核开发教程(bkerndev)-01 介绍
- Bran的内核开发教程(bkerndev)-02 准备工作
- Bran的内核开发教程(bkerndev)-03 内核初步
- Bran的内核开发教程(bkerndev)-04 创建main函数和链接C文件
- Bran的内核开发教程(bkerndev)-05 打印到屏幕
跟我一起写操作系统
- 跟我一起写操作系统(一)——10分钟写个操作系统
- 跟我一起写操作系统(二)——史上最简单的内核
- 跟我一起写操作系统(三)——打印函数和qemu虚拟机
- 跟我一起写操作系统(四)——获取物理内存
- 跟我一起写操作系统(五)——分配物理内存
x86架构操作系统内核的实现
- hurlex 小内核分章节代码和文档
- OS开发编写的资料
- http://wiki.0xffffff.org/
详细教程
- hurlex — x86架构的内核Demo实现
- hurlex <一> 项目概述和开发环境配置
- hurlex <二> 计算机启动过程、GRUB 以及 multiboot 标准
- hurlex <三> 裸机上运行的 Hello OS Kernel
- hurlex <四> 字符模式下的显卡驱动
- hurlex <五> 相关库函数和调试打印函数
- hurlex <六> 添加全局段描述符表
- hurlex <七> 添加中断描述符表
- hurlex <八> 完成中断请求和定时器中断
- hurlex <九> 物理内存管理的实现
- hurlex <十> 虚拟内存管理的实现
- hurlex <十一> 内核堆管理的实现
- hurlex <十二> 内核线程的创建与切换