第十七章 设备与模块 关于设备驱动和设备管理,四种内核成分 设备类型:在所有unix系统中为了统一普通设备的操作所采用的分类 模块:Linux内核中用于按需加载和卸载目标代码的机制 内核对象:内核数据结构中支持面向对象的简单操作,还支持维护对象之间的父子关系 sysfs:系统中设备树的一个文件系统 Read More
posted @ 2016-05-12 10:16 20135236贾瑗 Views(277) Comments(0) Diggs(0) Edit
Linux内核设计期中总结 ● 知识点 一、计算机是如何工作的 计算机是按照 冯·诺依曼存储程序 的原理。 在执行程序时须先将要执行的相关程序和数据放入内存储器中,在执行程序时CPU根据当前程序指针寄存器的内容取出指令并执行指令,然后再取出下一条指令并执行,如此循环下去直到程序结束指令时才停止执行。 Read More
posted @ 2016-04-23 15:15 20135236贾瑗 Views(314) Comments(0) Diggs(0) Edit
进程调度 进程调度程序是确保进程能有效工作的一个内核子系统。负责决定哪个进程投入运行,何时运行以及运行多长时间。 基本工作 :最大限度的李颖处理器时间的原则,只要有可执行的进程就总有进程在执行,一旦某一给定时刻会有一些进程无法执行,这些进程等待运行,在一组可运行状态的进程中选择一个来执行 4.1 多 Read More
posted @ 2016-04-14 10:36 20135236贾瑗 Views(234) Comments(0) Diggs(0) Edit
进程的切换和系统的一般执行过程 贾瑗 原创作品转载请注明出处 《Linux内核分析》MOOC课程 http://mooc.study.163.com/course/USTC 1000029000 一、进程切换的关键代码switch to分析 1、进程调度与进程调度的时机分析 不同类型的进程有不同的调 Read More
posted @ 2016-04-14 00:28 20135236贾瑗 Views(259) Comments(0) Diggs(0) Edit
可执行程序的装载 贾瑗 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 实验部分 重新克隆一个menu 修改Makefile文件并make rootfs 开始gdb跟踪,加载符号表和输入端口号 Read More
posted @ 2016-04-07 00:07 20135236贾瑗 Views(253) Comments(0) Diggs(0) Edit
1.阅读理解task_struct数据结构 2.分析fork函数对应的内核处理过程sys_clone,理解创建一个新进程如何创建和修改task_struct数据结构; fork进程的代码 include include include int main(int argc, char argv[]) Read More
posted @ 2016-03-31 11:05 20135236贾瑗 Views(187) Comments(0) Diggs(0) Edit
进程管理 进程是unix操作系统抽象概念中的最基本的一种 进程的定义及相关的概念 讨论Linux内核如何管理每个进程 3.1 进程 进程 是处于执行期的程序,(以及相关资源的总称)不仅仅局限于一段可执行的代码,通常还要包括其他资源。实际上进程就是正在执行的程序代码的实时结果。内核需要有效而透明的管理 Read More
posted @ 2016-03-30 20:43 20135236贾瑗 Views(469) Comments(0) Diggs(0) Edit
第十八章 调试 18.1 准备开始 开始学习内核调试之前需要准备的东西有: 一个bug 一个藏匿bug的内核版本 相关内核代码的知识和运气 想要成功的进行调试,取决于 是否能让这些错误重现 18.2 内核中的bug 隐藏在源代码中的错误到展现到目击者面前的bug,往往是经历一系列连锁反应的事件才可能 Read More
posted @ 2016-03-29 17:53 20135236贾瑗 Views(299) Comments(0) Diggs(0) Edit
扒开系统调用的三层皮(下) 给MenuOS增加time和time asm命令 步骤 rm menu rf //强制删除 git clone http://github.com/menging/menu.git // 克隆相关信息到menu cd menu make rootfs //自动编译生成根文 Read More
posted @ 2016-03-26 09:26 20135236贾瑗 Views(271) Comments(0) Diggs(0) Edit
系统调用 接口扮演了应用程序和内核进行交互的使者的角色,让应用程序受限的访问硬件设备,确保 了系统的稳定可靠避免应用程序肆意妄行 5.1 与内核通信 系统调用在用户空间和设备之间添加了一个中间层,该层的作用有三个 为用户空间提供了一种硬件的抽象接口 保证了系统的稳定和安全 每个进程都运行在虚拟系统中 Read More
posted @ 2016-03-20 19:50 20135236贾瑗 Views(216) Comments(0) Diggs(0) Edit