摘要: 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) 编辑