Linux内核学习总结
2016-04-27 21:58
253 查看
2016年研一下学期学习了Linux内核,之后有一些体会,写了记录下来,算是对这一段时间的总结。
接触linux内核之前,觉得linux内核是神秘的,不可触摸的。然而通过一步一步的学习,逐步的揭开了linux内核的神秘面纱。
下面就是在8周的每一次实验的作业:
https://www.shiyanlou.com/courses/reports/950244
这是第一周的实验,说的是通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的。这次实验就是通过汇编一个简单的C程序,来打开神秘的Linux内核的大门,通过分析程序中堆栈的变化,来理解程序的底层的汇编的实现。这一周理解了计算机是如何工作的。
https://www.shiyanlou.com/courses/reports/973071
这是第二周的实验报告,运行并分析一个精简的操作系统内核,理解操作系统是如何工作的。通过老师给的一个精简的内核,让我们对linux内核有一个初步的认识。这一周理解了操作系统是如何工作的。
https://www.shiyanlou.com/courses/reports/991980
这是第三周的实验报告,跟踪分析linux内核的启动过程,通过第二周老师给的精简的Linux内核,来跟踪分析linux内核的启动过程,通过这一周的学习,知道了Kernel是如何启动的,如何跟踪并分析linux程序,知道了一些简单的分析程序的做法。
https://www.shiyanlou.com/courses/reports/1012786
这是第第四周的实验报告,使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用,这一次实验让我理解了系统调用只是表面的一种形式,只是一种对外接口,实际的实现方式是底层的汇编代码和机器码的实现。
https://www.shiyanlou.com/courses/reports/1034039
这是第五周的实验报告,分析系统调用的中断处理过程,因为真正的系统调用的实现过程都是在内核态,所以在用户态时要调用这些系统调用的话,就必须从用户态陷入到内核态,既然是状态的改变,就涉及到中断的一些相关的知识。
https://www.shiyanlou.com/courses/reports/1052449
这是第六周的实验报告,进程的描述和创建,进程对应着程序的一次执行状态,那么进程是如何创建的呢,进程又有哪些描述方式的呢,进程的内部结构又是怎么样的呢,这一次实验都可以解答,通过这一次实验报告知道了进程的内部的数据结构的具体定义方式,进程的创建方式,还有fork的使用形式和fork的一些有意思的返回值等等。
https://www.shiyanlou.com/courses/reports/1071379
这是第七周的实验报告,讲的是linux是如何启动和装载一个程序,这次实验让我理解了程序的链接,加载还有执行的方式,还有文件格式等等。
https://www.shiyanlou.com/courses/reports/1090933
这是第八周的实验报告,讲的是linux中进程切换的过程和进程调度的时机,linux进程调度是如何实现的,又是在什么时候会进程调度,这个实验都会解答。
通过深入理解linux内核的学习,让我了解了linux内核学习的一些思想,还有一些读取linux内核的源码的方法,了解了linux操作系统的其中的设计思想,让我获益匪浅,如果以后能从一个更高的高度去看linux内核,这将有助于我的linux的学习 。
接触linux内核之前,觉得linux内核是神秘的,不可触摸的。然而通过一步一步的学习,逐步的揭开了linux内核的神秘面纱。
下面就是在8周的每一次实验的作业:
https://www.shiyanlou.com/courses/reports/950244
这是第一周的实验,说的是通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的。这次实验就是通过汇编一个简单的C程序,来打开神秘的Linux内核的大门,通过分析程序中堆栈的变化,来理解程序的底层的汇编的实现。这一周理解了计算机是如何工作的。
https://www.shiyanlou.com/courses/reports/973071
这是第二周的实验报告,运行并分析一个精简的操作系统内核,理解操作系统是如何工作的。通过老师给的一个精简的内核,让我们对linux内核有一个初步的认识。这一周理解了操作系统是如何工作的。
https://www.shiyanlou.com/courses/reports/991980
这是第三周的实验报告,跟踪分析linux内核的启动过程,通过第二周老师给的精简的Linux内核,来跟踪分析linux内核的启动过程,通过这一周的学习,知道了Kernel是如何启动的,如何跟踪并分析linux程序,知道了一些简单的分析程序的做法。
https://www.shiyanlou.com/courses/reports/1012786
这是第第四周的实验报告,使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用,这一次实验让我理解了系统调用只是表面的一种形式,只是一种对外接口,实际的实现方式是底层的汇编代码和机器码的实现。
https://www.shiyanlou.com/courses/reports/1034039
这是第五周的实验报告,分析系统调用的中断处理过程,因为真正的系统调用的实现过程都是在内核态,所以在用户态时要调用这些系统调用的话,就必须从用户态陷入到内核态,既然是状态的改变,就涉及到中断的一些相关的知识。
https://www.shiyanlou.com/courses/reports/1052449
这是第六周的实验报告,进程的描述和创建,进程对应着程序的一次执行状态,那么进程是如何创建的呢,进程又有哪些描述方式的呢,进程的内部结构又是怎么样的呢,这一次实验都可以解答,通过这一次实验报告知道了进程的内部的数据结构的具体定义方式,进程的创建方式,还有fork的使用形式和fork的一些有意思的返回值等等。
https://www.shiyanlou.com/courses/reports/1071379
这是第七周的实验报告,讲的是linux是如何启动和装载一个程序,这次实验让我理解了程序的链接,加载还有执行的方式,还有文件格式等等。
https://www.shiyanlou.com/courses/reports/1090933
这是第八周的实验报告,讲的是linux中进程切换的过程和进程调度的时机,linux进程调度是如何实现的,又是在什么时候会进程调度,这个实验都会解答。
通过深入理解linux内核的学习,让我了解了linux内核学习的一些思想,还有一些读取linux内核的源码的方法,了解了linux操作系统的其中的设计思想,让我获益匪浅,如果以后能从一个更高的高度去看linux内核,这将有助于我的linux的学习 。
相关文章推荐
- linux基础之 gSOAP代码框架
- linux设备树
- Vim/Vi文本编辑器
- Centos 6 服务器做bond mode=6
- linux基本命令(6)——rmdir命令
- 【Linux】Red Hat Linux 图形界面切换命令界面
- linux相关知识
- 【MYSQL】一台centos6.5主机建两个mysql实例实现主从复制环境
- linux命令之ps
- linux-Centos-7-64位:3、 firewalld 配置
- CentOS中基于不同版本安装重复包的解决方案
- linux进程通信之消息队列
- Linux 基础知识(二)
- 《Linux内核分析》期终总结
- 在CENTOS7/RHEL7修改网卡名称
- centos下的一些命令
- centos7搭建vsftpd环境详解(亲测)
- Linux基础实践
- centos 下的任务计划 -- cron
- Connection closed by foreign host