jinix內核項目:http://jinix.sourceforge.net(原創)
Posted on 2007-07-24 20:52 天衣有縫 閱讀(4014) 評論(17) 編輯 收藏 引用 所屬分類: program上周四在sf申請的project,周一晚上就批下來了。現在亢哧亢哧的做著,結果究竟如何是個不知數,閑著找點事做吧,免得自己慢慢失去了動力。花了一晚上看sf管理站點方法,順便做了個簡單web,挺丑的。試了好幾款sftp工具,可能是內網firewall原因,只有ws_ftp可以聯上。
大致介紹一下:linux環境,gcc編譯器,c++語言,混合式內核(現在還只是單內核),目前目標平臺i386/arm。剛剛完成了MM部分,都是移的linux算法(buddy,slab等),整個MM就一個類,徹底葷菜,呵呵。如果找些人討論討論c++倒是好事(當然不是那種無里頭的,得先看書),但是我c++超菜鳥,又不善組織,希望冥冥中得遇大老指點一二。
不知道sf大家訪問有沒有問題,貼一些主要內容:
版本歷史:
3.1.1版:代號:
總體目標/功能:xx
3.0.0版:代號:
總體目標/功能:(發布穩定系統)
2.1.1版:代號:
總體目標/功能:單元測試,bug修復
2.0.0版:代號:
總體目標/功能:(完成系統核心,封鎖版本)
1.7.1版:代號:
總體目標/功能:完成計劃的第8章節
1.6.1版:代號:xx(2008-02-05 ~ 2008-05-05)
總體目標/功能:完成計劃的第7章節(tcp/ip)
1.5.1版:代號:xx(2008-01-01 ~ 2008-02-04)
總體目標/功能:完成計劃的第6章節(文件系統)
1.4.1版:代號:xx(2007-10-25 ~ 2007-12-24)
總體目標/功能:完成計劃的第5章節(設備驅動)
1.3.1版:代號:xx(2007-10-10 ~ 2007-10-24)
總體目標/功能:單元測試,bug修復
1.2.1版:代號:一簾憂夢(2007-07-01 ~ 2007-09-24正在進行中)
總體目標/功能:完成計劃的第1,2,3,4章節
(4).jinix-1.2.1.2007-07-19_09.18.22.tar.bz2
完成slab算法調研及編寫
內核初始化流程完善,及相關部分接口/框架
(3).jinix-1.2.1.2007-07-15_16.36.41.tar
textio類重載<<運算符以支持cout << __func__;
內存管理初始化及buddy算法完成, 內核對象完善(啟動流程)
(2).jinix-1.2.1.2007-07-12_18.49.44.tar.bz2
內核對象編寫,boot.S->head.S,初始化匯編文件中全局變量移入bootdata.cpp中
內存管理類接口編寫,以及使用到的相關數據結構從linux中移植
(1).jinix-1.2.1.2007-07-03_21.07.57.tar.bz2
某些初始化過的全局變量被編譯到bss節去了,被boot.S文件清空,
調整到新Makefile, 和unixlite相似
使用__attribute__((section(...強制鏈接到.data
(0).jinix-1.2.1.2007-06-30_17.50.21.tar.bz2
控制臺顯示部分調試完成, textio和ostream調試完成
大致介紹一下:linux環境,gcc編譯器,c++語言,混合式內核(現在還只是單內核),目前目標平臺i386/arm。剛剛完成了MM部分,都是移的linux算法(buddy,slab等),整個MM就一個類,徹底葷菜,呵呵。如果找些人討論討論c++倒是好事(當然不是那種無里頭的,得先看書),但是我c++超菜鳥,又不善組織,希望冥冥中得遇大老指點一二。
不知道sf大家訪問有沒有問題,貼一些主要內容:
版本歷史:
3.1.1版:代號:
總體目標/功能:xx
3.0.0版:代號:
總體目標/功能:(發布穩定系統)
2.1.1版:代號:
總體目標/功能:單元測試,bug修復
2.0.0版:代號:
總體目標/功能:(完成系統核心,封鎖版本)
1.7.1版:代號:
總體目標/功能:完成計劃的第8章節
1.6.1版:代號:xx(2008-02-05 ~ 2008-05-05)
總體目標/功能:完成計劃的第7章節(tcp/ip)
1.5.1版:代號:xx(2008-01-01 ~ 2008-02-04)
總體目標/功能:完成計劃的第6章節(文件系統)
1.4.1版:代號:xx(2007-10-25 ~ 2007-12-24)
總體目標/功能:完成計劃的第5章節(設備驅動)
1.3.1版:代號:xx(2007-10-10 ~ 2007-10-24)
總體目標/功能:單元測試,bug修復
1.2.1版:代號:一簾憂夢(2007-07-01 ~ 2007-09-24正在進行中)
總體目標/功能:完成計劃的第1,2,3,4章節
(4).jinix-1.2.1.2007-07-19_09.18.22.tar.bz2
完成slab算法調研及編寫
內核初始化流程完善,及相關部分接口/框架
(3).jinix-1.2.1.2007-07-15_16.36.41.tar
textio類重載<<運算符以支持cout << __func__;
內存管理初始化及buddy算法完成, 內核對象完善(啟動流程)
(2).jinix-1.2.1.2007-07-12_18.49.44.tar.bz2
內核對象編寫,boot.S->head.S,初始化匯編文件中全局變量移入bootdata.cpp中
內存管理類接口編寫,以及使用到的相關數據結構從linux中移植
(1).jinix-1.2.1.2007-07-03_21.07.57.tar.bz2
某些初始化過的全局變量被編譯到bss節去了,被boot.S文件清空,
調整到新Makefile, 和unixlite相似
使用__attribute__((section(...強制鏈接到.data
(0).jinix-1.2.1.2007-06-30_17.50.21.tar.bz2
控制臺顯示部分調試完成, textio和ostream調試完成
1.系統初始化 | ||
內核啟動 | 完成 | |
i86硬件初始化(分頁) | 完成 | |
時鐘初始化 | 完成 | |
中斷及異常初始化 | 完成 | |
reboot/halt/poweroff | 完成 | |
acpi/apm | 未完成 | |
fpu/mmx/sse/sse2 | 未完成 |
2.支撐型數據結構和算法 | ||
hash | 完成 | |
隊列 | 完成 | |
鏈表 | 完成 | |
fifo/lifo | 完成 |
3.內存管理子系統 | ||
buddy算法 | 完成 | |
slab分配器 | 完成 | |
頁異常處理 | 完成 | |
cow(copy on write) | 未完成 | |
demand paging | 未完成 | |
守護線程(swap,頁面沖洗) | 未完成 |
4.進程及任務調度 | ||
任務切換 | 未完成 | |
fork() | 未完成 | |
調度算法 | 未完成 | |
內核線程 | 未完成 | |
idle線程 | 未完成 | |
用戶線程 | 未完成 | |
同步機制:內核鎖和原子操作 | 未完成 |
5.設備驅動 | ||
中斷機制 | 未完成 | |
驅動框架及對外接口考慮 | 未完成 | |
字符設備驅動框架 | 未完成 | |
塊設備驅動框架 | 未完成 | |
網絡設備驅動框架 | 未完成 | |
控制臺驅動(顯卡,鍵盤,鼠標) | 未完成 | |
dma驅動 | 未完成 | |
pci驅動 | 未完成 | |
8029/8139, ne2000網卡驅動 | 未完成 | |
usb驅動 | 未完成 |
6.文件系統 | ||
proc | 未完成 | |
ramdisk | 未完成 | |
ext2 | 未完成 | |
ext3 | 未完成 | |
vfat | 未完成 | |
可執行文件elf加載 | 未完成 | |
動態鏈接庫和內核模塊 | 未完成 |
7.TCP/IP網絡模塊 | ||
數據鏈路層(Layer 2) | 未完成 | |
IP層(Layer 3) | 未完成 | |
icmp, arp, ip, 路由協議 | 未完成 | |
tcp, udp | 未完成 | |
socket接口 | 未完成 |
8.進程間通信IPC | ||
共享內存 | 未完成 | |
信號量 | 未完成 | |
消息隊列 | 未完成 |
9.posix支持及其他 | ||
susv3調研 | 未完成 | |
lsb調研 | 未完成 | |
posix兼容及測試 | 未完成 | |
linux-abi兼容 | 未完成 | |
shell及常用application | 未完成 | |
arm體系架構調研 | 未完成 |
10.保留 | ||