- 论坛徽章:
- 0
|
https://github.com/fleurer/fleurix
37个系统调用,七千行C,二百多行汇编,在bochs之上。没有管道,没有swap,也不是基于POSIX,各种特性是能删即删,能简即简。不过也算完成了它的设计目标,那就是跑起来 
Fleurix已经有了:
- minix v1的文件系统。原理简单,而且可以利用linux下的mkfs.minix,fsck.minix等工具。
- fork()/exec()/exit()等等。a.out的可执行格式,实现了写时复制与请求调页。
- 信号。
- 一个纯分页的内存管理系统,每个进程4gb的地址空间,共享128mb的内核地址空间。至少比Linux0.11中的段页式内存管理方式更加灵活。
- 一个简单的kmalloc()(可惜没大用上)。
- 一个简单的终端。
硬伤就是没有硬盘分区,内存也写死了128mb,恐怕无法在真机上运行 
目前只有ls,cd,cat三个命令,理论上可以自己调系统调用实现更多的...不是基于POSIX就是很纠结呢..
------------------------------------------------------------------------------------------------------------------------
编译环境: ubuntu
工具: rake, ruby, binutils(gcc, ld), nasm, bochs, mkfs.minix
- git clone git@github.com:Fleurer/fleurix.git
- cd fleurix
- rake
复制代码 hope you like it. ^^ |
评分
-
查看全部评分
|