https://github.com/Fleurer/fleurix
一个雏形的Unix-like内核。
37个系统调用,七千行C,二百多行汇编,在bochs之上。诚然还脱不去“玩具”的标签,不过也算完成了它的设计目标,那就是跑起来 :)
Fleurix已经有了:
- minix v1的文件系统。原理简单,而且可以利用linux下的mkfs.minix,fsck.minix等工具。
- fork()/exec()/exit()等等。a.out的可执行格式,实现了写时复制与请求调页。
信号。
- 一个纯分页的内存管理系统,每个进程4gb的地址空间,共享128mb的内核地址空间。至少比Linux0.11中的段页式内存管理方式更加灵活。
- 一个简单的kmalloc()(可惜没大用上)。
- 一个简单的终端。
不足:
- 没有管道
- 没有swap
- 还不是基于POSIX
- 不支持硬盘分区
- 只支持128mb的物理内存
所以在真机上可能不靠谱 :(
-
hope you like it :)
一个雏形的Unix-like内核。
37个系统调用,七千行C,二百多行汇编,在bochs之上。诚然还脱不去“玩具”的标签,不过也算完成了它的设计目标,那就是跑起来 :)
Fleurix已经有了:
- minix v1的文件系统。原理简单,而且可以利用linux下的mkfs.minix,fsck.minix等工具。
- fork()/exec()/exit()等等。a.out的可执行格式,实现了写时复制与请求调页。
信号。
- 一个纯分页的内存管理系统,每个进程4gb的地址空间,共享128mb的内核地址空间。至少比Linux0.11中的段页式内存管理方式更加灵活。
- 一个简单的kmalloc()(可惜没大用上)。
- 一个简单的终端。
不足:
- 没有管道
- 没有swap
- 还不是基于POSIX
- 不支持硬盘分区
- 只支持128mb的物理内存
所以在真机上可能不靠谱 :(
-
hope you like it :)
