这个操作系统起名"Forge OS",顾名思义,想在学习和写操作系统的过程中积累一些经验:
-
系统的掌握操作系统相关的知识
-
认识、了解操作系统的开发流程
-
认识、了解操作系统的开发工具
-
掌握并规范代码的管理方式
-
掌握代码的测试方法
-
锻炼文档整理、阅读能力
-
记录开发过程中遇到的问题、解决思路和解决方法
-
分享知识和经验
- BootLoader
- 内存管理
- 多线程
- 线程同步
- 键盘支持
- 用户进程
- 文件系统
- 简单shell
工具 | 描述 | 备注 |
---|---|---|
Xubuntu 20.04 | 操作系统 | |
nasm | 汇编编译器 | |
gcc | C编译器 | |
g++ | C++编译器,用于编译bochs | Linux平台下需要自己编译bochs |
Visual studio code | 编辑器 | |
bochs | x86模拟器 | |
make | 项目管理 | |
dd | 用于生成和操作镜像 | |
hexdump | 查看二进制文件和镜像文件 | |
objdump | 反汇编 | 也可以用nasm自带的ndisasm |
bximage | 生成硬盘镜像 | 后期 |
fdisk | 对硬盘镜像进行分区 | 后期 |
[01] 操作系统真相还原
[02] 操作系统概念
我心中一直有个理想的操作系统,它能方便地添加应用也能干净的移除不需要的应用程序,没有乱七八糟的东西。
我曾今多次尝试写一个操作系统,这是我走得最远的一次,即使我根着《操作系统真相还原》一书来做。
第一次,跟着《30天自制操作系统》在显示彩色条纹的时候放弃了,总是达不到同样的效果。
第二次,跟着《自己动手写操作系统》来做,在这个过程中学习了《汇编语言》,记不得倒在哪里。
第三次,跟着《操作系统真相还原》来做,在多线程的时候载了,问题是PF,一直找了很久没有找到问题,直到重新读书时看到了作者指出了问题。
第四次,也就是这次,跟着《操作系统真相还原》来做,在加载程序时出现了问题,找不出问题。
也许以后我会再次尝试,但现在,该结束了。