摘要: 内核模块编程学习报告 一、内核模块的概念 内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是 阅读全文
posted @ 2016-05-23 22:07 20135316王剑桥 阅读(745) 评论(0) 推荐(0) 编辑
摘要: 20135316王剑桥《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 第一周 http://www.cnblogs.com/20135316wjq/p/5222424.html 第二周 http://www.cnbl 阅读全文
posted @ 2016-04-30 20:04 20135316王剑桥 阅读(272) 评论(0) 推荐(0) 编辑
摘要: Linux内核期中总结 一、计算机是如何工作的 个人理解:计算机就是通过和用户进行交互,执行用户的指令,这些指令存放在内存中,通过寄存器存储,堆栈变化,来一步步顺序执行。 二、存储程序计算机工作模型 1.冯诺依曼体系结构—存储程序计算机 硬件角度(主板):通过cpu中IP寄存器指向一个代码段运行某些 阅读全文
posted @ 2016-04-20 19:34 20135316王剑桥 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 20135316王剑桥《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 一、进程调度与进程调度的时机分析 1.不同类型的进程有不同需求的调度需求: 第一种分类: —I/O bound:频繁的进行I/O,通常会花费很多时 阅读全文
posted @ 2016-04-12 22:08 20135316王剑桥 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 主要内容: 什么是调度 调度实现原理 Linux上调度实现的方法 调度相关的系统调用 1. 什么是调度 现在的操作系统都是多任务的,为了能让更多的任务能同时在系统上更好的运行,需要一个管理程序来管理计算机上同时运行的各个任务(也就是进程)。 这个管理程序就是调度程序,它的功能说起来很简单: 决定哪些 阅读全文
posted @ 2016-04-12 18:06 20135316王剑桥 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 1、临界区(critical regions)就是访问和操作共享数据的代码段。多个执行线程并发访问同一个资源通常是不安全的,为了避免在临界区中并发访问,编程者必须保证这些代码 原子地执行。也就是说,代码在执行结束前不可被打断,就如同整个临界区是一个不可分割的指令一样。 2、如果两个执行线程有可能处于 阅读全文
posted @ 2016-04-12 18:04 20135316王剑桥 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 进程管理 1.进程描述符及任务结构 进程存放在叫做任务队列(task list)的双向循环链表中。链表中的每一项包含一个具体进程的所有信息,类型为task_struct,称为进程描述符(process descriptor),该结构定义在文件中。 Linux通过slab分配器分配task_struc 阅读全文
posted @ 2016-04-12 17:57 20135316王剑桥 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 内核调试的难点在于它不能像用户态程序调试那样打断点,随时暂停查看各个变量的状态。 也不能像用户态程序那样崩溃后迅速的重启,恢复初始状态。 用户态程序和内核交互,用户态程序的各种状态,错误等可以由内核来捕获并显示。 而内核是直接和硬件交互的,内核出错之后整个系统就无法正常运行了,所以要想熟练的进行内核 阅读全文
posted @ 2016-04-12 17:56 20135316王剑桥 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 20135316王剑桥《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 一、可执行程序是怎么得来的? 编译器预处理(负责把include的文件包含进来及宏替换等工作);编译成汇编代码;编译器编译成目标代码;再链接成可执 阅读全文
posted @ 2016-04-06 20:26 20135316王剑桥 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 20135316王剑桥《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC 1000029000 一、进程控制块PCB——task_struct又称进程描述符,是操作系统用于管理控制进程的一个专门的数据结构,记录进程的各种属性,描述进程的动态变 阅读全文
posted @ 2016-03-30 22:11 20135316王剑桥 阅读(150) 评论(0) 推荐(0) 编辑