QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2707|回复: 1

发现了一个用C++写的仿UNIX操作系统内核

[复制链接]
发表于 2006-6-15 16:19:21 | 显示全部楼层 |阅读模式
UnixLite 是用C++写的 ,兼容unix/linux的os。使用OpenSource, GPL授权。一個完整,可用的OS,通常需要兩部份: kernel 和 Application。
UnixLite 只包含kernel的部份 (就像Linux一樣)。

這個kernel 大部分都是用C++寫的,但是他使用 uClibc,而不是 glibc,所以size會小很多。(所以也不會有一些複雜的standard template libarary....我猜的 )

UnixLite 實做了一些linux常用的system call (所以不是全部? 所以不是posix complait?)。和linux是 binary compatible,有些 gnu的軟體已經 ported成功了。

UnixLite 現在的目標是實做一個教學目的用的Unix 系統,將來,UnixLite或許會作為一個soft-realtime的 embedded OS。

UnixLite 是一個小而完整的Unix系統,並且附有完整的說明文件,對於想瞭解OS的學生和programmer來說是一個很好的學習環境。

功能上,UnixLite和Minix的差異是UnixLite支援Paging,但是Minix沒有。
(minux386 好像就有了...)

由於以C++實做,以OO方式設計,UnixLite大約只有20000行程式,kernel 也看起來比較modular 和易於瞭解,
Technical Features

    * 支援paging 和flat memory model (幾乎和linux一樣)。
    * 實做約80個posix system call
    * Binary compatible with Linux
    * run bash/gcc, 和一些UNIX tools
    * 基本的TCP/IP,足以執行簡單的http server
    * 約20000行程式
    * 以C++寫作,模組化且易於擴充
    * Minix的32-bit filesystem

從網站上看來,文件還沒有很多,但是已經提供 qemu的 image作測試。

FAQ部份說了更多..

    * unixlite不是microkernel
    * 原來要能使用glibc,kernel 要implement的api 要更多,這是他採用uclibc的另一個原因。
    * 只用到c++的一點基本語法。沒有用到:
          o Exception
          o 多重繼承
          o run time type id
          o operator overload (new, delete除外)
          o template.

大概看的一下source code,果然比minix容易瞭解一些(或許是因為還是0.2版的關係吧..)。

unixlite的主页: www.unixlite.org
WeiMingzhi 该用户已被删除
发表于 2006-6-15 19:04:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-19 12:13 , Processed in 0.102561 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表