一个简易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.0QEMU stable 10.0.3