免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 84217 | 回复: 135

学习linux内核时,模仿linux编写的操作系统 [复制链接]

论坛徽章:
0
发表于 2010-03-23 01:08 |显示全部楼层
本帖最后由 lmarsin 于 2010-03-23 01:22 编辑

2005年学习赵炯博士的《linux内核源码注释》后,为了能够真正的理解,在2006年做了些实验,自己手动从bootloader开始编写代码,刚好那段时间也比较空,因此花了4、5月的时间写了些代码。如果对你有帮助,我深感荣幸。

2006-06-12
1、物理内存支持到了1G,最小为16M(主要是为了方便初始化)。

2006-05-31
1、终于实现了UI的交互,但文件系统的结构都是linux的

2006-05-23
1、特点修改了系统调用的参数,使返回只eax不再传入系统调用的实现中,不再别扭

2006-04-23
1、开始构建文件系统和硬盘驱动。

2006-04-09
1、修改了时钟中断发生时取被中断的特权级的bug。
2、修改了在vp下带有硬盘不能启动的bug。

2006-04-07
1、基本完成进程调度策略。

2006-03-31
1、fork系统调用全部完成,包括页面写保护异常处理。

2006-03-28
1、当切换进程空间后,修改段寄存器时,系统会崩溃的问题终于找到。(在lgdt时,如果没有分页则lgdt的地址为线性地址,如果分页之后,则lgdt的地址为逻辑地址,所以在分页之后,还需得lgdt一次 ,因为我的内核是映射到3G处)
2、基本完成fork系统调用(子进程的堆栈没有完成)。

2006-03-24
1、完善系统调用模型
2、基本完成fork系统调用(进程空间没有切换,子进程的堆栈没有完成),有个遗留问题,当切换进程空间后,修改段寄存器时,系统会崩溃,郁闷中

2006-03-06
1、系统调用模型基本完成

2006-03-03
1、进程0在ring3运行

2006-03-02
1、加入了一个系统调用(用测试)

2006-02-27
1、加入了定时器

2006-02-24
1、任务可以调度起来。
2、取消低16M地址映射。
3、修改一些代码后,可以在Cygwin下编译了。

源码 fairysky_0.01_20060612_153602.tar.gz (92.01 KB, 下载次数: 3793)

论坛徽章:
289
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2010-03-23 08:41 |显示全部楼层
下来看看,多谢LZ

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2010-03-23 11:07 |显示全部楼层
lmarsin兄的镜像可以放到VMware中执行吧。

论坛徽章:
0
发表于 2010-03-23 11:43 |显示全部楼层
本帖最后由 lmarsin 于 2010-03-23 11:45 编辑

可以,生成1.44M的软盘镜像。
提示:开发过程中是使用bochs进行调试的。

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
发表于 2010-03-23 11:46 |显示全部楼层
对我个人而言觉得写这样一个东西最难入手的是工具.目前很少有详细讲解如何使用编译器的.
即使有个GCC,但是感觉太庞大,所以一直没去搞懂.

论坛徽章:
0
发表于 2010-03-23 21:48 |显示全部楼层
牛人,先顶一个。

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
发表于 2010-03-23 22:24 |显示全部楼层
可以,生成1.44M的软盘镜像。
提示:开发过程中是使用bochs进行调试的。
lmarsin 发表于 2010-03-23 11:43


marsin东东?
呵呵,我是悟空啊

论坛徽章:
0
发表于 2010-03-23 23:36 |显示全部楼层
回复 7# T-Bagwell


    竟然在这里遇到你,悟空

论坛徽章:
0
发表于 2010-03-24 01:22 |显示全部楼层
我暂时膜拜一下!

论坛徽章:
0
发表于 2010-03-24 11:55 |显示全部楼层
LZ是oldlinux的某版主吧,看过你的经历,佩服之极~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP