第四章进程调度读书笔记

4.1多任务

多任务系统就是能同时并发地交互执行多个进程的操作系统

1.抢占式多任务

2.非抢占式多任务

4.2Linux的进程调度

调度程序设计的基础和完全公平调度程序

如何运用

如何设计

如何实现

相关的系统调用

4.3策略

策略决定调度程序在何时让什么进程运行

4.3.1 I/O消耗型和处理器消耗型的进程

调度策略通常要在两个矛盾之间寻找平衡:

1.相应时间短

2.高吞吐量

4.3.2进程优先级

1.nice值 -20~19

2.实时优先 0~99

4.3.3时间片

时间片是一个数值

表示抢占前所能持续运行的时间

4.3.4调度策略的活动

但文本编辑器被唤醒时间,发生了什么?

4.4调度算法

4.4.1调度器类

4.4.2unix系统进程调度

1.若将Nice值映射到时间片,就必然将nice单位值对应到处理器的绝对时间。

2.设计nice的相对值

3.执行nice值的时间片的映射,我们需要分配一个绝对时间片,而这个时间片必须在内核的测试范围内。

4.关于基于优先级调度器为了优化交互任务而唤醒相关进程的问题。

4.4.3公平调度

一个简单的理念:
进程调度的效果应同同系统具备一个理想完美的多任务处理器。

4.5LINUX调度的实现

时间记账

进程选择

调度器入口

睡眠和唤醒

4.6抢占和切换上下文

1.用户抢占

2.内核抢占

4.7实时调度策略

4.8

时间: 2024-10-07 06:01:05

第四章进程调度读书笔记的相关文章

开始开发 Dashboard Widgets,第四章,读书笔记

目录:http://blog.csdn.net/wide288/article/details/40298693 怎么开始开发基础的 widget 怎么使用 HTML 和 CSS 取得 widget 的形状 怎么使用 javascript 到你的 widget 从 html 开始 这里的项目是个天气地图.每个项目开始的点不一样,不过要先列出此 widget 的特性. 特性列表: 它应该有地图雷达,显示一块区域. 它应该有当前的临时地图. 它应该有昨天的临时地图. 它应该有明天的临时地图. 地图是

《Linux内核设计与实现》读书笔记 第四章 进程调度

第四章进程调度 进程调度程序可看做在可运行太进程之间分配有限的处理器时间资源的内核子系统.调度程序是多任务操作系统的基础.通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发执行的效果. 最大限度地利用处理器时间的原则是,只要有可以执行的进程,那么总会有进程在执行. 4.1多任务 多任务操作系统就是能同时并发地交互执行多个进程的操作系统.多任务能使多个进程处于堵塞或者睡眠状态.就是任务位于内存内但是不被执行,直到某一事件发生. 分类: l  非抢占式:除非进程自己主动停止运行

《C++primer》v5 第5章 语句 读书笔记 习题答案

5.1 空语句只有一个";".如果什么也不想做可以使用空语句. 5.2 用花括号{}括起来的叫块,也叫复合语句.有多条语句作用在同一个作用域时,需要用花括号括起来. 5.3 降低了. 5.4 (a)每次迭代时候会初始化iter,但是iter缺少初值,所以这段代码根本不会通过编译.另外这里的括号需要一个bool类型的,而定义迭代器根本不会返回一个bool类型.假如上面那些问题都可以通过,每次迭代都会初始化这个iter,会导致死循环. (b)我试了一下编译未通过是因为没找到适合的find函

《C++primer》v5 第1章 开始 读书笔记 习题答案

从今天开始在博客里写C++primer的文字.主要以后面的习题作业为主,会有必要的知识点补充. 本人也是菜鸟,可能有不对之处,还望指出. 前期内容可能会比较水. 1.1略 1.2略 1.3 cin和cout分别是istream和ostream的对象. #include<iostream> using namespace std; int main() { cout<<"Hello,world"<<endl; return 0; } 1.4 #incl

《C++primer》v5 第4章 表达式 读书笔记 习题答案

4.1 105 4.2 *vec.begin()=*(vec.begin())//先调用点运算符,再解引用 *vec.begin()+1=(*vec.begin())+1//先解引用,再加一 4.3略? 4.4 (12/3*4)+(5*15)+(24%4/2)=91 4.5 (a)-86(b)-16 (c)0 (d)0 4.6 n%2 4.7 溢出:计算结果超出该数据类型所能表示的范围 2147483647+1 1U-2 ... 4.8 比较低.. 4.9 首先判断cp是否为空指针,若非空指针则

《Linux内核设计与实现》第八周学习总结——第四章 进程调度

<Linux内核设计与实现>第八周学习总结——第四章 进程调度 第4章 进程调度35 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行态进程之间分配有限的处理器时间资源的内核子系统.只有通过调度程序的合理调度,系统资源才能最大限度地发挥作用,多进程才会有并发行的效果. 调度程序没有太复杂的原理,最大限度地利用处理器时间的原则是只要有可以执行的进程,那么就总会有进程正在执行,但是只要系统中可运行的进程的数目比处理器的个数多,就注定某一给定时刻会有一些进程不

《操作系统概论》第一章引论读书笔记

计算机系统分为硬件和软件. 硬件主要由:CPU.存储器.输入输出控制系统.各种输入输出设备组成. 软件主要分为:系统软件.支撑软件.以及应用软件. 操作系统定义:一般认为,操作系统是管理计算机系统资源.控制程序执行.改善人机界面和为应用软件提供支持的一种系统软件. 操作系统的作用: 管理计算机系统的资源. 为用户提供方便的使用接口. 具有扩充硬件的功能. 操作系统的功能: 从资源管理的观点看,操作系统的功能可以分为:处理器管理.存储管理.文件管理和设备管理. 处理器管理的主要工作是进行处理器的分

《Linux内核设计与实现》——第四章 进程调度

<Linux内核设计与实现>——第四章 进程调度 4.1多任务 多任务操作系统:同时并发地交互执行多个进程的操作系统 多任务操作系统会使多个进程处于堵塞或者睡眠状态.这些任务尽管位于内存,但是并不处于可运行状态.这些进程利用内核堵塞自己,直到某一事件发生. 多任务系统可以划分为两类:非抢占式和抢占式. 抢占:强制挂起. 时间片:分配给每个可运行进程的处理器时间段. 4.3策略 策略决定调度程序在何时让什么程序运行. 4.3.1   I/O消耗型和处理器消耗型的进程 I/O消耗型:进程的大部分时

《Effective C++》第5章 实现-读书笔记

章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(2)-读书笔记 <Effective C++>第3章 资源管理(1)-读书笔记 <Effective C++>第3章 资源管理(2)-读书笔记 <Effective C++>第4章 设计与声明(1)-读书笔记 <Eff