Linux内核分析课程总结

By 20135203齐岳

知识梳理

(思维导图地址http://mindmap.4ye.me/mkxM0cFh/1

从start _ kernel构造一个新的Linux内核开始,0号进程rest _ init创建了1号进程kernel _ init从而启动Linux内核,这个过程的中心思想其实一直贯穿在Linux内核操作系统之中。1号进程通过复制PCB创建出更多的进程;当进程无法满足功能时就编写自定义的可执行程序,装载这些可执行程序的过程其实就是进程创建的一个变形;系统中运行着很多进程时就会涉及到进程之间的切换;而I/O等进程调度的过程又会涉及到内核态与用户态的切换即系统调用,其本质也是进程间的切换。所以这八周课程这样梳理下来思路还是很清晰的,每一个知识点之间都有融会贯通的地方,但又有其区别与其他知识点而存在的独特之处。至于MOOC的前两节以及课本自学笔记,则是辅助知识主线所补充的一些背景知识或扩充。因每周知识点都有详细课程学习笔记,这里不再赘述。

每周博客

第一节 计算机是如何工作的http://www.cnblogs.com/July0207/p/5218597.html

第二节 操作系统是如何工作的http://www.cnblogs.com/July0207/p/5242103.html

第三节 构造一个简单的Linux系统MenuOShttp://www.cnblogs.com/July0207/p/5266594.html

第四节 系统调用的三个层次(上)http://www.cnblogs.com/July0207/p/5277774.html

第五节 系统调用的三个层次(下)http://www.cnblogs.com/July0207/p/5320325.html

第六节 进程的描述和进程的创建http://www.cnblogs.com/July0207/p/5339058.html

第七节 可执行程序的装载http://www.cnblogs.com/July0207/p/5361392.html

第八节 进程的切换和系统的一般执行过程http://www.cnblogs.com/July0207/p/5388943.html

课本同步自学笔记

第一章 Linux内核简介&第二章 从内核出发 http://www.cnblogs.com/July0207/p/5286472.html

第三章 进程管理 http://www.cnblogs.com/July0207/p/5352839.html

第四章 进程调度 http://www.cnblogs.com/July0207/p/5402421.html

第五章 系统调用 http://www.cnblogs.com/July0207/p/5303617.html

第十八章 调试http://www.cnblogs.com/July0207/p/5330924.html

《深入理解计算机系统》第七章 链接http://www.cnblogs.com/July0207/p/5376156.html

收获与不足

从接触反转课堂和博客的教学形式到现在已经是第三个学期,对于课下自学和每周撰写博客的流程也已经较为熟悉,所以在学习《Linux内核分析》的过程中还是比较顺利的。最大的收获,从知识上来讲就是把之前《深入理解计算机系统》以及接触过的Linux相关基础知识系统地串在一起,并且深入地讲解了代码中的原理,通过跟踪调试加深理解,整个知识的脉络十分清晰。在学习的过程中我也发现了自己的诸多不足,主要的问题还是编程功底比较弱造成了一些知识上理解的困难,例如对汇编嵌入C语言代码的写法理解不到位,代码的细节理解欠缺等,但宏观的流程和函数执行的原理都能基本掌握,在每周博客中也均有体现。此外经过一段时间的学习,在博客撰写方面也更加熟练,内容比较完整,排版也比较整齐。

Linux内核分析课程总结的更多相关文章

  1. Linux内核分析课程笔记(一)

    linux内核分析课程笔记(一) 冯诺依曼体系结构 冯诺依曼体系结构实际上就是存储程序计算机. 从两个层面来讲: 从硬件的角度来看,冯诺依曼体系结构逻辑上可以抽象成CPU和内存,通过总线相连.CPU上 ...

  2. Linux内核分析课程期中总结

    Linux内核分析课程期中总结 姓名:王朝宪 学号:20135114 注: 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com ...

  3. linux内核分析 课程总结

    Linux内核分析 链接汇总 Linux内核分析第一周学习总结--计算机是如何工作的 Linux内核分析第二周学习总结--操作系统是如何工作的 Linux内核分析第三周学习总结--构造一个简单的Lin ...

  4. 【课程总结】Linux内核分析课程总结

    程涵  原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 每周实验报告: 反汇编一个简单的C程序 ...

  5. linux内核分析课程笔记(二)

    运行一个精简的操作系统内核 存储程序计算机是几乎所有计算机的基础逻辑框架. 堆栈是计算机中非常基础的东西,在最早计算机没有高级语言时,在高级语言出现之前,我们没有函数的概念.但高级语言出现后有了函数调 ...

  6. 《Linux内核分析》 期中总结

    Linux内核分析 期中总结 20135307 张嘉琪 一.Linux内核分析课程总结 学习笔记汇总 第一节 计算机是如何工作的 第二节 操作系统是如何工作的 第三节 构造一个简单的Linux系统Me ...

  7. 《Linux内核分析》课程总结

    朱宇轲 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 不知不觉,在网易 ...

  8. 《Linux内核分析》课程第八周学习总结

    姓名:何伟钦 学号:20135223 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

  9. 《Linux内核分析》课程第七周学习总结

    姓名:何伟钦 学号:20135223 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...

随机推荐

  1. C# Socket编程笔记

    1.按惯例先来介绍下socket      Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样.在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单 ...

  2. tomcat作为服务器的配置

    tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录, ...

  3. window 常用快捷键

    1.新建文件夹  ctrl+shift+n 2.删除文件夹  ctrl+d 3.打开命令行  窗口+r 4.关闭命令行  命令行内输入exit然后回车 5.快捷键操作浏览器 1)ctrl+w关闭当前标 ...

  4. SAML 2.0 setup steps, 效果图

    Steps of setting up SAML SSO. 效果图 # Registry a Identity Provider services in:(Might need purchase) I ...

  5. sql-GOTO跳转

    --声明变量 DECLARE @X INT --标记GOTO跳转位置 TEST: PRINT @X --WHILE @X<=3 --GOTO跳转到执行位置 GOTO TEST

  6. Hibernate映射文件创建和删除触发器,存储过程等数据库对象

    创建表,触发器,和存储过程等数据库对象,这里一定要用create 在hibernate.cfg.xml文件中

  7. XPath使用实例

    实例 1基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径 //BBB           选择所有BBB元素 /AAA/CCC 选择 ...

  8. VirtualBox虚拟机运行Ubuntu如何不卡

    VirtualBox虚拟机运行Ubuntu如何不卡 转自http://www.xuzefeng.com/post/85.html 上一篇文章<VirtualBox虚拟机安装Ubuntu详细教程& ...

  9. XAF点滴:很具体很用实用---处理三个小问题

    以下内容全部为web版本的老模板风格下完成. 一.在编辑状态的详细视图下打印报表. 有些时候,需要在编辑状态下直接打印报表内容,官方默认是不允许这样做的.用Reflector查看源码,可以看到: De ...

  10. Python notes

    1. range()函数的使用: a = range(n) # a = range(0,n) b = range(m,n) # b = range(m,n) alist = list(a) # ali ...