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