本帖最后由 pcy190 于 2019-9-6 15:47 编辑
分享一个自写的,模仿Linux0.11系统的一个小型操作系统。
此源码比较简短,功能虽然有限,但是可以对Linux系统基础的工作原理有较为广泛的认识.
该系统基于bochs和qemu运行,相关的配置可以参考项目的README
项目地址
源码打包好了放在附件
TinyOS-harddisk.zip
(166.12 KB, 下载次数: 9)
系统实现了
- 基本的内存管理
- 线程调度
- 有输入(键盘中断)和输出
- 基本系统调用(getpid,printf等等)
- 基本的磁盘驱动
- 基于ext2的简单文件系统
分支
- master分支是稳定版本
- harddisk分支建议使用,会不断维护。
运行方式
在Linux或者wsl(子系统)中
下载源码
git clone https://github.com/pcy190/TinyOS.git
安装依赖项目
sudo apt install bochs qemu -y
sudo apt-get install build-essential module-assistant
sudo apt-get install gcc-multilib g++-multilib
编译运行
make run
目录介绍
hd80M.img 文件是附加的磁盘,文件系统在此格式化并建立。
要运行的自定义二进制文件,可以通过dd或者syscall来写入读入并运行。
hd.img 是系统内核所在磁盘,如果不存在会自动新建。
|