Linux学习总结

来源:互联网 发布:gta5女捏脸数据大全 编辑:程序博客网 时间:2024/06/12 19:54

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


一、博客目录

1、分析一个简单C程序的汇编代码,理解计算机是如何工作的

本节内容主要通过对一个简单的C程序的汇编代码工作过程进行描述,从而理解计算机是怎样工作的。整个过程还是比较容易理解的


2、 一个简单的时间片轮转多道程序内核代码分析

对一个精简的Linux操作系统内核mykernel运行,并对源码进行分析,理解Linux操作系统是如何工作的。这一节的内容感觉还是有点难理解,对于这块还是有点迷糊的。


3、跟踪分析Linux内核的启动过程

本节内容是跟踪分析一个简单的Linux内核启动过程,理解操作系统是怎么启动的。


4、使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

本节主要介绍了通过两种方式实现一个系统调用。应用程序接口(API)和系统调用是不同的,API只是一个函数定义,系统调用是通过向内核发出一个明确的请求。


5、分析system_call中断处理过程

使用gdb跟踪分析一个系统调用内核函数,分析从system_call开始到iret结束之间的整个过程。


6、分析Linux内核创建一个新进程的过程

Linux通过调用do_fork复制父进程来创建一个新进程,然后为每个新创建的进程动态的分配一个task_struct结构,并初始化,最后子进程从ret_from_fork处开始执行;fork函数被调用一次,但返回两次,在父进程空间中返回子进程的PID,在子进程空间中返回0。


7、Linux内核如何装载和启动一个可执行程序

装载和启动一个可执行程序依次调用以下函数:sys_execve -> do_execve -> do_execve_common -> exec_binprm ->search_binary_handler ->load_elf_binary -> start_thread。


8、理解进程调度时机跟踪分析进程调度与进程切换的过程

操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已。本节主要对进程调度时机和切换过程进行分析。


二、学习心得

刚开始的时候听说孟老师的Linux课很难,吓退了很多人来学习这门课程,但本着想认真学习Linux知识的态度,我

还是坚持了下来,这里为自己点个赞。以前对Linux系统了解的并不多,只是会简单的用那几个常用的命令而已,对

Linux更深层次的东西几乎没啥了解,而通过这几周的学习,每周认真听孟老师的教学视频,我逐渐对Linux的理解越

来越多,虽然有的地方还是有点迷糊,但是大致的理解还是有的。对计算机是如何工作的、操作系统的工作流程、内

核启动过程、API与系统调用、中断处理过程、如何装载一个可执行程序、调度等有整体的了解与认识,对今后Linux

深入的学习有了一个大致的框架,感觉收获还是很多的。


三、总结

最大的收获是对Linux更深层次的东西有一个系统的了解与认识,虽然有的地方自己理解的还是不到位,但是总的

一个框架还是有的,对今后想深入学习Linux有一个方向,知道自己哪里还有问题,还需继续努力。

遗憾的是孟老师的课这么快就完了,还不过赢啊!还有就是整个课程没有PPT,每次想回顾的时候必须得去看视频

,很麻烦;另外实验楼并不是很好用,有时候做实验做着做着就卡死了,必须得重新再来,相当的麻烦。

最后非常感谢孟老师!





0 0
原创粉丝点击