免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4761 | 回复: 19
打印 上一主题 下一主题

[其他] 在写一个OS内核,求合作者 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-18 19:00 |只看该作者 |正序浏览
我在写一个操作系统内核,目前已经完成到一个阶段。我想把它变成一个合作项目继续开发,如果你愿意参与,可以跟我联系(jiejinmv@163.com)。
   下面是你可能问到的:
1,内核概况?
**很小,代码量3000行,内核映像40KB。是基于intel i386的抢占式宏内核(因为宏内核不需要实现^.^)。有进程创建,调度,内存管理(主要是响应page-error来支持进程的虚拟内存空间),只读的ext2文件系统,和一个简单的shell。
  
2,内核的设计原则?
**1,我在性能可容忍的前提下,尽量简化代码逻辑和算法。
   2,写一个模块时,参考linux或oranges'的实现机制,但尽量不模仿,都是另行实现。
   对了,这个内核会提供posix的兼容层,我正在写。
  
3,我为什么不参与linux开发,那是更大的开源项目。
**如果你已经具备参与linux开发的能力,不建议你参与这个内核(屋檐太低)。我也晾晾我的底子:我大一读化学,今年转到计科读大二,编程是新近自学的,程度可想而知。这个内核面向对OS了解不深入的同学。
  
4,写这个内核的目的?
**把它当作跳板,希望有朝一日能参与到linux项目里去。有些同学选择读linux源码来了解它,我觉得写一个与之并行的内核,是另一种途径。
  
5,我“参与”之后做些什么?
  请在邮件里做下自我介绍:你对哪方面较了解,计算机体系结构,汇编还是c?下一步的开发计划已经有了:是增添对NTFS,FAT32文件系统的支持(只读的)。你想做的话,就附带说明。不做具体模块的同学,也要负责测试。有一点说在前面:内核是elf格式的,使用了gcc的内联汇编,这意味着你要转到linux(系统或虚拟机)下开发。
   我这个学期课程很多,你加入进来之后,暂时由你做的比较多,我会帮着测试。本来想等课闲下来,再发这帖子,但又怕放冷了。

论坛徽章:
0
20 [报告]
发表于 2013-11-28 20:20 |只看该作者
参与Linux社区比你自己重新造轮子要好很多,另外你在linux社区积累的人气和贡献的代码对你的职业生涯都会有很大的帮助 ,最重要的是linux有成千上万的开发者  更开放 何必自己搞小圈子呢?

论坛徽章:
0
19 [报告]
发表于 2013-11-24 18:23 |只看该作者
fly3ds 发表于 2013-10-14 07:30
各种.d文件是怎么回事呢?

你这里make出错是因为没装nasm。
.d文件是make过程中生成的中间文件,忽略它。

论坛徽章:
1
综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00
18 [报告]
发表于 2013-10-14 07:30 |只看该作者
各种.d文件是怎么回事呢?


-bash-4.1$ make
makefile:23: kernel.d: No such file or directory
makefile:23: utils.d: No such file or directory
makefile:23: proc.d: No such file or directory
makefile:23: kbd_drv.d: No such file or directory
makefile:23: func_table.d: No such file or directory
makefile:23: disp.d: No such file or directory
makefile:23: video_drv.d: No such file or directory
makefile:23: ku_utils.d: No such file or directory
makefile:23: hs.d: No such file or directory
makefile:23: fs_ext.d: No such file or directory
makefile:23: struinfo.d: No such file or directory
makefile:23: mm.d: No such file or directory
makefile:23: fs.d: No such file or directory
makefile:23: tty.d: No such file or directory
set -e;rm -f tty.d;\
        gcc -M tty.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ tty.d: \'  this_is_a_tmp_file  > tty.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f fs.d;\
        gcc -M fs.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ fs.d: \'  this_is_a_tmp_file  > fs.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f mm.d;\
        gcc -M mm.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ mm.d: \'  this_is_a_tmp_file  > mm.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f struinfo.d;\
        gcc -M struinfo.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ struinfo.d: \'  this_is_a_tmp_file  > struinfo.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f fs_ext.d;\
        gcc -M fs_ext.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ fs_ext.d: \'  this_is_a_tmp_file  > fs_ext.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f hs.d;\
        gcc -M hs.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ hs.d: \'  this_is_a_tmp_file  > hs.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f ku_utils.d;\
        gcc -M ku_utils.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ ku_utils.d: \'  this_is_a_tmp_file  > ku_utils.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f video_drv.d;\
        gcc -M video_drv.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ video_drv.d: \'  this_is_a_tmp_file  > video_drv.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f disp.d;\
        gcc -M disp.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ disp.d: \'  this_is_a_tmp_file  > disp.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f func_table.d;\
        gcc -M func_table.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ func_table.d: \'  this_is_a_tmp_file  > func_table.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f kbd_drv.d;\
        gcc -M kbd_drv.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ kbd_drv.d: \'  this_is_a_tmp_file  > kbd_drv.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f proc.d;\
        gcc -M proc.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ proc.d: \'  this_is_a_tmp_file  > proc.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f utils.d;\
        gcc -M utils.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ utils.d: \'  this_is_a_tmp_file  > utils.d;\
        rm  -f this_is_a_tmp_file
set -e;rm -f kernel.d;\
        gcc -M kernel.c -I../include/ -I./usr/include/ > this_is_a_tmp_file;\
        sed 's\:\ kernel.d: \'  this_is_a_tmp_file  > kernel.d;\
        rm  -f this_is_a_tmp_file
nasm -o ../bin/boot.bin boot.asm
make: nasm: Command not found
make: *** [boot.bin] Error 127

论坛徽章:
1
综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00
17 [报告]
发表于 2013-10-13 07:49 |只看该作者
神人也!我大一大二的时候,还不知Linux为何物!

论坛徽章:
13
巨蟹座
日期:2013-10-30 18:29:4115-16赛季CBA联赛之青岛
日期:2019-01-04 17:30:1015-16赛季CBA联赛之天津
日期:2016-03-08 10:30:1715-16赛季CBA联赛之天津
日期:2015-12-10 15:56:452015年亚洲杯之约旦
日期:2015-03-09 16:29:36双鱼座
日期:2014-11-27 17:17:20寅虎
日期:2014-11-18 13:55:12双子座
日期:2014-03-31 15:41:32狮子座
日期:2014-03-14 11:23:24狮子座
日期:2014-02-19 16:30:12午马
日期:2013-11-04 23:22:31卯兔
日期:2013-10-30 19:51:15
16 [报告]
发表于 2013-09-30 22:21 |只看该作者
谢谢分享                 

论坛徽章:
0
15 [报告]
发表于 2013-09-30 21:11 |只看该作者
万丈高楼平地起
加油

论坛徽章:
0
14 [报告]
发表于 2013-09-30 20:07 |只看该作者
大二就有这等觉悟,看来以后必定成大气候!我都研究生了还没想过写kernel~~~ 膜拜,好好加油

论坛徽章:
0
13 [报告]
发表于 2013-09-30 17:20 |只看该作者
强大 顶起!

论坛徽章:
0
12 [报告]
发表于 2013-09-30 16:17 |只看该作者
牛人,顶一个
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP