来编写一个你自己的操作系统

按照从简单到复杂的次序,一共有下列步骤:

 

基本篇

 

第一章. 编写一个最简单的嵌入式操作系统

  1. 编写自己的任务切换器
  2. 编写线程管理功能
  3. 支持简单的文本显示(仅在PC上)
  4. 支持基本的中断如时钟中断
  5. 用时钟中断实现分时(Time-Sharing)多任务
  6. 实现简单的内存管理
  7. 编写线程同步机制如互斥体(Mutex)、事件等
  8. 编写任务间通信机制如消息队列等
  9. 对于实时处理的支持

第二章. 把你的操作系统引导起来:

  1. 编写自己的引导程序 (Boot Loader)
  2. 制作引导扇 (Boot Sector): 把引导程序写入引导扇区
  3. 编写系统加载程序 (OS Loader)
      • 编写自己的启动代码(Startup Code)
      • 用BIOS支持基本的输入输出设备
  4. 制作系统加载映像 (OS Loader Image)
  5. 设置启动设备

第三章. 编写一个可以从磁盘上加载并执行程序的操作系统:

  1. 设计一种自己的可执行文件格式
  2. 为这种格式编写启动代码(Startup Code)
  3. 编写一个程序加载器 (Program Loader)
  4. 支持简单的动态链接(DLL)机制
  5. 支持文件 -- 编写简单的磁盘驱动程序、文件驱动程序和文件管理器
  6. 支持键盘和实时钟
  7. 编写一个简单的Shell
  8. 与第一章和第二章结合,实现一个支持多线程、分时多任务的磁盘操作系统

附录1. 与开发实模式操作系统相关的编程语言、开发工具和调试环境

高级篇

第四章. 编写一个32位保护模式的操作系统 (只限于Intel 386)

第五章. 编写一个32位保护模式的图形操作系统

第六章. 未来的操作系统

第七章. 开发新操作系统的工程考虑

附录2. 与开发32位保护模式操作系统相关的编程语言、开发工具和调试环境