一个简易64位操作系统的设计与实现——开篇

纸上得来终觉浅,绝知此事要躬行

虽然看完了计算机体系结构相关的几本书,但是仍然觉得对操作系统和底层硬件的理解不够深入。
基于欲速则不达的原则以及财务情况,决定从零开始实现一个简易的64位操作系统,加深对计算机体系结构和操作系统的理解。

设计目标

实现一个简易的64位操作系统,主要包括以下几个方面:

  • 64位操作系统 Arm64位操作系统,一个可以运行在Raspberry Pi 4B上的操作系统
  • 支持多核处理器 先实现单核运行
  • 支持多线程
  • 内存管理
  • 异常/中断处理
  • 设备驱动管理
  • 文件系统
  • 支持系统调用
  • 简单的命令解析器和命令: 如ls、wget等
  • 完整的网络模块,可以接入互联网

开发环境

开发操作系统的软硬件环境如下:

  • 硬件:MacBook Pro 16英寸(2019),CPU: i9-9880H,64GB内存
  • OS:MacOS Sequoia 15.5 x86_64
  • 交叉编译工具链:Arm GNU Toolchain 14.2.rel1
  • 模拟器:Bochs 3.0 QEMU stable 10.0.3