博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Linux内核分析》 第三节 构造一个简单的Linux系统MenuOS
阅读量:4493 次
发布时间:2019-06-08

本文共 554 字,大约阅读时间需要 1 分钟。

黄胤凯   原创作品转载请注明出处   《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号进程。

 

转载于:https://www.cnblogs.com/20132109HKK/p/5272649.html

你可能感兴趣的文章
css颜色代码大全
查看>>
物理系统(二)
查看>>
css3中-moz、-ms、-webkit与盒子模型
查看>>
DataTable 整行为空时,去除空行,常用于Excel导入,转换为DataTable时出现
查看>>
网络相关面试题1
查看>>
一种让谷歌搜索引擎拒绝搜索的字符串
查看>>
实现毛玻璃效果
查看>>
[BZOJ4082][Wf2014]Surveillance[倍增]
查看>>
kill -9杀掉nginx主进程、reload失败解决办法
查看>>
objdump 用法
查看>>
前端js模糊搜索(模糊查询)
查看>>
Chrome的hack写法以及CSS的支持程度图示
查看>>
苹果端手机微信页面长按图片无法保存的解决方案
查看>>
C# 调用Dll 传递字符串指针参(转)
查看>>
Android开发最佳学习路线图(转)
查看>>
iOS 常用四种数据存储方式
查看>>
System.Web.Routing入门及进阶 下篇
查看>>
试着用java实现DNS(一)——DatagramSocket, DatagramPacket, Message
查看>>
UINavigationItem UINavigationBar 关系分析
查看>>
Django简介
查看>>