摘要: 马悦+原创作品转载请注明出处+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核学习总结 一、总结 (一)计算机是如何工作的 1、冯诺依曼体系结构的核心思想是存储程序计算机。 2、CPU在实际取指令时根据 阅读全文
posted @ 2016-04-29 15:42 20135235马悦 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 期中总结 一、MOOC课程 (一)计算机是如何工作的 1、冯诺依曼体系结构的核心思想是存储程序计算机。 2、CPU在实际取指令时根据cs:eip来准确定位一个指令。 3、寄存器模式,以%开头的寄存器标示符。 立即数是以$开头的数值。 直接寻址:直接访问一个指定的内存地址的数据。 间接寻址:将寄存器的 阅读全文
posted @ 2016-04-23 18:54 20135235马悦 阅读(723) 评论(0) 推荐(0) 编辑
摘要: 进程的切换和系统的一般执行过程 一、进程切换的关键代码switch_to分析 (一)进程调度与进程调度的时机分析 1、不同类型的进程有不同的调度需求 第一种分类: (1)I/O-bound:频繁进行I/O,花费很多时间等待I/O操作的完成。 (2)CPU-bound:计算密集型,需要大量CPU时间进 阅读全文
posted @ 2016-04-17 12:23 20135235马悦 阅读(3278) 评论(0) 推荐(0) 编辑
摘要: 第四章 进程调度 4.1 多任务 1、多任务操作系统就是能同时并发的交互执行多个进程的操作系统。 2、多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于可运行状态。 3、多任务系统分类: (1)非抢占式多任务 (2)抢占式多任务 4、Linux提供了抢 阅读全文
posted @ 2016-04-16 12:13 20135235马悦 阅读(7359) 评论(0) 推荐(1) 编辑
摘要: 马悦+原创作品转载请注明出处+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 第七周 可执行程序的装载 一、 预处理、编译、链接和目标文件的格式 (一)可执行程序是怎么得来的 1、linux系统中,可执行程序一般要经 阅读全文
posted @ 2016-04-10 12:57 20135235马悦 阅读(1943) 评论(0) 推荐(0) 编辑
摘要: 第七章——链接 1、链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载到存储器并执行。 2、链接可以执行于编译时,加载时,运行时。 7.1编译器驱动程序 1、大多数编译系统提供编译驱动程序,它代表用户在需要时调用语言预处理器、编译器、汇编器和链接器。 7.2 静态链接 阅读全文
posted @ 2016-04-09 18:03 20135235马悦 阅读(743) 评论(0) 推荐(0) 编辑
摘要: 第三章 进程管理 3.1 进程 1、进程就是处于执行期的程序;进程就是正在执行的程序代码的实时结果;进程是处于执行期的程序以及相关的资源的总称;进程包括代码段和其他资源。 线程:是在进程中活动的对象。 2、执行线程,简称线程,是在进程中活动的对象。每个线程都拥有一个独立的程序计数器、进程栈和一组进程 阅读全文
posted @ 2016-04-03 13:32 20135235马悦 阅读(1923) 评论(0) 推荐(0) 编辑
摘要: 进程的描述和进程的创建 一、 进程的描述 (一)进程控制块PCB——task_struct 1、操作系统的三大管理功能包括: (1)进程管理 (2)内存管理 (3)文件系统 2、PCB task_struct中包含: (1)进程状态 (2)进程打开的文件 (3)进程优先级信息 3、通过唯一的进程标识 阅读全文
posted @ 2016-04-03 13:18 20135235马悦 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 第十八章 调试 18.1 准备开始 1、在用户级的程序里,bug表现比较直接;在内核中却不清晰。 2、内核级开发的调试工作远比用户级开发艰难的多。 3、准备工作需要的是: (1)一个bug (2)一个藏匿bug的内核版本 (3)相关内核代码的知识和运气 18.2 内核中的bug 1、内核中的bug多 阅读全文
posted @ 2016-04-02 17:11 20135235马悦 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 第五章 系统调用 5.1 与内核通信 1、系统调用在用户空间进程和硬件设备之间添加了一个中间层,该层主要作用有三个: (1)为用户空间提供了一种硬件的抽象接口 (2)系统调用保证了系统的稳定和安全 (3)每个进程都运行在虚拟系统中,而在用户空间和系统的其余部分提供这样一层公共接口。 2、在Linux 阅读全文
posted @ 2016-03-26 13:47 20135235马悦 阅读(299) 评论(0) 推荐(0) 编辑