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下编译了。
阅读(1586) | 评论(0) | 转发(0) |