How_to_Make_a_Computer_Operating_System_in_Chinese

第一章:介绍x86体系结构和我们的操作系统

什么是x86体系结构

x86这个词代表一个基于Intel 8086处理器的向后兼容的指令集架构族.

x86体系结构在1981年被IBM PC使用,从此便成为最通用的指令集结构. 包括DOS, Windows, Linux, BSD, Solaris和Mac OS X等操作系统在内的大量软件都可以运行在基于x86的硬件上.

在本课程中我们要为x86-32体系结构设计操作系统而不是x86-64. 因为它的向后兼容性,我们的操作系统将会兼容更新的电脑(但如果你想在实际机器上测试它, 则需注意).

我们的操作系统

我们的目标是用C++构建一个非常简单的基于unix的操作系统,而不只是构建一个“概念验证”。这个系统能够启动,打开一个用户空间shell,并且可扩展.

这个操作系统为x86体系结构设计, 运行在32位上, 并且于IBM PC兼容.

说明:

  • C++代码
  • x86, 32位体系结构
  • Grub启动
  • 模块化的系统驱动程序
  • UNIX风格
  • 多任务
  • ELF在用户空间可执行
  • 模块 (通过/dev/...可以在用户空间访问) :
    • IDE磁盘
    • DOS分区
    • Clock
    • EXT2 (只读)
    • Boch VBE
  • 用户空间 :
    • API Posix
    • LibC
    • "能"运行shell或一些类似Lua的可执行程序