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,每次想回顾的时候必须得去看视频
,很麻烦;另外实验楼并不是很好用,有时候做实验做着做着就卡死了,必须得重新再来,相当的麻烦。
最后非常感谢孟老师!
- 关于linux学习总结
- Linux学习总结
- Linux学习总结
- Linux 学习总结
- linux 学习总结
- Linux进程学习总结
- Linux进程学习总结
- Linux学习阶段性总结
- linux学习总结一
- Linux 学习 总结
- linux学习笔记--总结
- linux学习总结
- linux学习总结
- linux 信号学习总结
- Linux进程学习总结
- Linux线程学习总结
- ARM Linux学习总结
- linux学习总结
- eclipse怎么样新建web项目,eclipse新建web项目
- 《硅谷之谜》文摘
- Android初学习 – 带有动态库、静态库、Jar包的makefile编写
- Python爬虫之Pixiv
- 欢迎使用CSDN-markdown编辑器
- Linux学习总结
- JS 中的 with 关键字
- 存储类型和static关键字作用小结
- spark机器学习 源码解析及原理分析
- Android初学习 - FLAG_ACTIVITY_NEW_TASK和singleTask一起使用
- Mybatis之批量更新操作
- Nagios 快速实现数据可视化的几种方式
- PRi——lab3部分代码
- 浅谈ROLAP、MOLAP和HOLAP区别