Linux内核学习总结

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

通过这一段时间对Linux内核的学习,我不仅将操作系统课中所讲述的那套理论的东西和实际的代码结合了起来,加深了对整个Linux的运行机理的了解,更是深刻体会到了整个Linux系统设计的哲学美感,而且现在Linux的整个设计体系已经相当稳定,化繁为简,这也是大部分服务器使用Linux的重要原因吧。

这里放上我的博客作业的链接:

  1. 函数调用的栈帧分析
    讲述了基本的AT&A汇编指令,并学会如何分析汇编代码的工作过程中堆栈的变化以及函数参数传递的过程中到底发生了什么

  2. 深入理解操作系统内核
    通过对一个简易内核的分析,来理解Linux内核的最基本的原理,简易内核的源代码在这里:源码

  3. Linux内核启动的进程浅析
    使用gdb跟踪调试老师自制的 menu 系统,了解Linux内核启动过程的具体的流程,了解进程的由来及其关系

  4. Linux的系统调用机制
    通过使用函数调用和嵌入式汇编两种方式调用同一个系统调用,加深对系统调用流程的理解

  5. system_call的汇编代码分析
    分析使用汇编代码编写的系统服务例程,了解系统调用中究竟发生了什么

  6. Linux中fork的内核实现
    fork() 系统调用是一个特殊的系统调用,它着一次调用,两次返回的特点。本次博客分析了其具体的实现,包括子进程的由来,以及为什么父子进程之间会互不影响

  7. Linux中可执行程序的装载与执行
    Linux中可执行文件ELF格式文件的基本内容的学习,以及通过分析和跟踪execve系统调用来理解可执行程序的装载流程,当执行到execve系统调用时,陷入内核态,用execve加载的可执行文件覆盖当前进程的可执行程序,当execve系统调用返回时,返回新的可执行程序的执行起点。

上面就是八周的博客列表。通过这八周的学习,我不仅学习到了Linux内核的相关知识,还学习到了正确的阅读代码的方法,尤其是在代码量极大的情况下:
在看代码之前,思考或者猜测代码想要实现的功能,在阅读具体代码的时,修正自己的认识偏差,然后写上自己的注释,这样也容易抓住主干,而不是深陷在具体细节而迷失在代码的海洋中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值