天衣有缝

冠盖满京华,斯人独憔悴~
posts - 35, comments - 115, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
上周四在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调试完成


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.保留
     

Feedback

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-07-24 23:33 by cpper
很强悍啊
可不可以交个朋友?~
qq:102832962

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-07-25 09:16 by 梦在天涯
可惜俺不会linux哦

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-07-25 11:29 by 天下无双
高手啊,我做嵌入式开发,可是不会这么底层的。帮不到忙了。还是要鼓励一下,同志,努力啊。

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-07-25 11:42 by pass86
Just have a look.

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-07-25 13:17 by 江水兽
正在学习操作系统中……收藏!

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-07-25 18:32 by 空明流转
不错不错,终于又见到一个做OS Kernel的了.

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-07-25 23:38 by 补考少年
@cpper
可以啊,不过qq不常用,左上公告处有msn(周一到周四的晚上都在),也可以邮件交流:)

@梦在天涯
我也还是学习中,边学边用了,欢迎加入linux阵营

@天下无双
3x,我还是菜鸟,超菜,有机会一起交流交流

@pass86
3x

@江水兽
3x

@空明流转
这样的项目其实也挺多的,计划之前曾看到了很多的os,从目标受众和系统设计及具体编码(其中也有较多搁浅项目)上看,多多少少有些不满意,所以就另起炉灶了,重新发明轮子,也许还是个方的:)
顺手涂鸦,见笑见笑

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-08-22 15:29 by kenya
这个假期重新看了保护模式编程和操作系统理论书,忽然一下子想通很多问题。嘿嘿,等我开学之后一定也好好学习,做点有用的东西好了。大家一起努力啊!

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-09-05 00:16 by S I L
QQ 6588428,
本人工作系统部分,驱动程序等。
希望可以QQ联系,交流感想,因为国内做KERNEL研究的不多。水平也大不相同,给人学习带来更多的困难,因此认识更多共同爱好的人具有非一般的意义。

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-09-15 06:57 by cnduly
强 !!!

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-09-18 13:15 by marvels
好厉害,我在学习操作系统.
现在要做一个分页系统,感到很难.原理懂了,但是代码不会写.

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-10-20 18:56 by 恰到好处
AS=as
LD=ld

.s.o:
${AS} -a $< -o $*.o >$*.map

all: final.img

final.img: bootsect
mv bootsect final.img

bootsect: bootsect.o
${LD} --oformat binary -N -e start -Ttext 0x7c00 -o bootsect $<

这个里面的

.s.o: ///这个是不是写错了啊,应该是bootsect.o: bootsect.s啊
${AS} -a $< -o $*.o >$*.map

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-10-20 19:05 by 恰到好处
@wc -c kernel


这个也不知道是什么意思啊

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-10-20 19:49 by 恰到好处
还有,您这个代码中各个目录是分开编译的吗?,能不能分开看啊

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-12-17 09:48 by pitt
老大,看了你的计划,你这个到3.0才基本是一个可用的版本,这太不符合版本命名规则了,建议修改一下。

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2007-12-21 10:24 by ldljlzw
老大,源代码那里有下载!http://jinix.sourceforge.net/上也没有下载啊

# re: jinix内核项目:http://jinix.sourceforge.net(原创)  回复  更多评论   

2009-06-17 17:52 by wangjues
主人专门开个空间吧,我也想加入,互相取长补短进度会更快。一个好汉3个帮

我建议不用C++,用C来做,C++很容易埋雷


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理