《Linux内核分析》 第三节 构造一个简单的Linux系统MenuOS

黄胤凯   原创作品转载请注明出处   《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

 

按照实验要求,在实验楼中进行代码测试(我觉得我该换电脑了......实验楼都卡......)

 

 环境建立好后,新开一个shell,输入gdb

 

总结:

一、操作系统的两把宝剑:中断上下文的切换(保存现场和恢复现场)和进程上下文的切换

二、道生一,一生二,二生三,三生万物。系统就这样运行起来了(老师金句!)

三、init_task即手工创建的PCB,0号进程最终的idle进程

四、关于0号进程和1号进程:

rest init()是0号进程,在start_kernel内核一启动时就一直存在;由0号进程就创建了1号进程kernel_init,还创建其他的一些服务类的内核线程如kthreadd。(生万物了)

rest_init()中的kernel_init有一个run_init_process这就是Linux系统中的1号进程,是第一个用户态进程,默认是根目录下的一个程序;如果根目录下没有这个进程,系统会寻找其他的默认进程作为1号进程。

 

posted on 2016-03-13 18:01  我是HKK  阅读(200)  评论(0)    收藏  举报

导航