爱意满满的作品展示区。
ssword

我编写的Unix-like内核

  •  
  •   ssword · Mar 19, 2011 · 10170 views
    This topic created in 5707 days ago, the information mentioned may be changed or developed.
    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 :)
    32 replies  •  1970-01-01 08:00:00 +08:00
    TheOnly92
    TheOnly92
    Mar 19, 2011
    1
    伟大的项目。精神上的支持 :)
    darasion
    darasion
    Mar 19, 2011
    2
    niubility
    wudoo59
    wudoo59
    Mar 19, 2011
    3
    强悍
    fanzeyi
    fanzeyi
    Mar 19, 2011
    4
    Orz..... ssword牛....
    sogood
    sogood
    Mar 19, 2011
    5
    再次膜拜。。。
    Livid
    Livid
    MOD
    PRO
    Mar 19, 2011
    6
    Cool.

    从想法到目前这个实现程度用了多长时间?
    xiaovfight
    xiaovfight
    Mar 19, 2011
    7
    无比崇敬!膜拜orz
    xiluo
    xiluo
    Mar 19, 2011
    8
    传说中的Finus
    Paranoid
    Paranoid
    Mar 20, 2011
    9
    只有膜拜的份,唉,差距呀.
    gonghao
    gonghao
    Mar 20, 2011
    10
    速来膜拜~~真是崇拜楼主大神啊~~~
    chone
    chone
    Mar 20, 2011
    11
    支持。。算起来自己不写c好久了
    zztczcx
    zztczcx
    Mar 20, 2011
    12
    膜拜,曾照着别人的写都有困难,内核真不是好研究的。
    ssword
    ssword
    OP
    Mar 20, 2011
    13
    @Livid 最早是去年五月照着书上写了一个简单的bootloader,当时也没打算把它写成内核。
    然后实在没事情做,就从这个bootloader开始试探着一步步做了下来。中间遇到个诡异bug停了两个月,算上的话一共九个月左右 :)
    ssword
    ssword
    OP
    Mar 20, 2011
    14
    @zztczcx 确实需要花很多时间。有很多细节不是很好把握,到现在依然还有很多地方不明白。好在资料非常的多,也有相当多的源码可以参考。不过总的来说在现在搞内核,已经要比Linus当年容易得多了
    zztczcx
    zztczcx
    Mar 20, 2011
    15
    @ssword 九个月啊,真是不容易啊, 曾经因为一个网卡驱动白白耗了一个月,最后那个项目的人也都散了,自己也没在投精力,现在急着在学javascript,等一阵子再做嵌入式了。
    gfreezy
    gfreezy
    Apr 9, 2011
    16
    @ssword 买了本《Orange‘s 一个操作系统的实现》,照着书,一步一步的往下做呢,实现多进程了。
    操作系统好晦涩。。。
    xmbaozi
    xmbaozi
    Apr 9, 2011
    17
    内牛满面
    dreampuf
    dreampuf
    Apr 10, 2011
    18
    求解析博文.
    ssword
    ssword
    OP
    Apr 14, 2011
    19
    @dreampuf 写教程也是个大坑呢...最近有点浮躁,等静下心来会系统地写些东西 :)
    qichuan
    qichuan
    Apr 20, 2011
    20
    加油
    blankyao
    blankyao
    Apr 20, 2011
    21
    真帅气
    panlilu
    panlilu
    Apr 20, 2011
    22
    cool~膜拜
    tomyiyun
    tomyiyun
    Apr 20, 2011
    23
    膜拜……
    kelvin_fly
    kelvin_fly
    Apr 25, 2012
    24
    强悍。俺在学嵌入式linux中…… 不知道神马时候能到这境界……
    chlx
    chlx
    Apr 25, 2012
    25
    佩服。。LZ的blog也很帅
    udonmai
    udonmai
    Apr 25, 2012
    26
    Orz... 好棒~
    acgism
    acgism
    Apr 25, 2012
    27
    Cool!
    lossdante
    lossdante
    Apr 25, 2012
    28
    lz受我一拜
    thedevil7
    thedevil7
    Apr 25, 2012
    29
    Orz...
    evlos
    evlos
    Apr 25, 2012
    30
    太给力了 O_O
    reus
    reus
    Apr 26, 2012
    31
    膜拜巨巨,巨巨我也要学 T_T
    join
    join
    Apr 26, 2012
    32
    楼主可以参照linus的方法,在github开源. 然后聚集一堆人开发我们国人的操作系统. 哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1427 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 22:30 · PVG 06:30 · LAX 14:30 · JFK 17:30
    ♥ Do have faith in what you're doing.