《linux 内核分析》总结

本文分享了《Linux内核分析》MOOC课程的学习心得,详细介绍了Linux操作系统的特性和学习方法,包括系统启动过程、系统调用、进程创建与调度等内容。

王一+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-100002900

一、linux 系统的理解和学习心得

 操作系统作为一个运行任务和程序的平台,几乎所有的独立运行的计算平台上都有,小到一个51的最小系统,可以模拟简单的操作系统,大到超级计算机,平常最多的是Android系统,因为是目前为止大部分手机上所运行的操作系统,而这个操作系统的原型就是linux操作系统,它有很多优秀特性,多任务和多用户,开源和稳定。linux 操作系统的开源特性使我们学习操作系统的原理和学习其优秀的编程思想和方法都非常有借鉴意义。

linux 系统的运行过程就是从一个start_kernel 开始生成用户进程和内核态进程,这两种进程同时在运行,以后的运行的各种进程都是通过这两个进程来添加,系统通过调用schedule()来切换运行的进程,来分配时间片,实现多进程的切换和同步。 操作系统两把宝剑:中断上下文切换和进程上下文切换。linux 系统在运行过程中通过两把宝剑来保证进程的切换和系统调用,和中断的处理,这些都是软件正常运行所必须的。

 学习心得-听懂老师的讲课并认真去看源代码,调试之后写心得,认真坚持才能出效果,很多东西的学习是需要认真动手的,纸上学来终觉浅,得知此事要躬行。自己以前只看只听,不记不练是效率比较低的学习方法,以后需要改进。

二、学习目录

第一课计算机如何工作,主要是理解函数编译之后的汇编指令,寄存器的变化过程。

第二课主要是通过模拟程序,学习中断机制下基于时间片的分配的进程上下文切换。

 通过中断机制完成进程的调度第三课主要是通过调试内核,理解系统启动的目的,从start_kernel入口,来分析系统的初始化过程。

linux 系统的启动过程

第四和五课 扒开系统的三层皮主要是学习系统调用的过程,通过调用系统函数传递参数,int128中断,进入内核态,system_call,在内核态进行系统调用并iret返回。

扒开系统三层皮(上)

第六课  进程的创建主要是进程创建的过程,通过do_fork()系统调用来创建一个子进程的过程,两个进程的返回,一个在用户态,一个在内核态。

进程的创建

 第七课 可执行程序的装载,主要是学习可执行程序编译链接的过程和elf头文件,和库加载的方式,调试execv()系统调用的执行过程。

可执行程序的装载

第八课 关于进程的调度,在本章节主要是分析两个用户态进程的切换过程。其他中断切换和内核态的切换都类似。

进程的调度过程

三、学习总结

     我觉得这门课最大的收获是学会了一句话:天下大事必作于细,天下难事必作于易,此句话深有感触。以前觉得很多东西太难望而却步,现在看来一切都是纸老虎,只不过自己把它想的太难了,当认真的去动手去分析去做的时候发现一切都是那么近在眼前。还有就是学习这个操作系统的方法,抓主线,看关键点,忽略掉一些对过程影响小的部分,这也是做事情和学习的一种高效的态度和方法。对系统中断过程的理解是最大的实际收获。

        学习这门课最大的遗憾,是很多时候市时间太紧迫,一周只有很少有时间可以学习这门课程,没有仔细的投入时间来课后预习和深入的钻研,有时候对待作业也是马虎,最后在考试之前没有复习,急匆匆的打开考试,发现很多部分都忘了。

转载于:https://www.cnblogs.com/tomyco/p/6754666.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值