参考《操作系统真象还原》和Linux早期源码 ,从零到一实现一个类Unix小型操作系统。
- 引导程序:将操作系统从硬盘加载到内存,完成操作系统的部分初始化。
- 段页式内存管理:基于位图实现了虚拟内存和物理内存的管理。
- 进程线程管理:实现了进程和线程的创建,切换和调度。
- 锁机制:基于互斥信号量实现了同步机制,支持多进程和多线程环境。
- 中断机制:通过初始化IDT,注册相应中断处理函数,实现中断机制。
- 输入输出系统:实现了键盘,硬盘的驱动程序。
- 文件系统:实现了文件系统基本功能
- 系统交互:实现了支持简易shell,支持ls,cd,rm,rmdir,mkdir,ps,pwd等内部命令
(环境配置:bochs2.6.2+gcc3.4+nasm2.15.05)
git clone https://github.com/lance-e/loong-OS.git
make build
make hd
使用bochs虚拟机运行操作系统 (注意:不支持arch架构)
bin/bochs
欢迎pr或issue。