第9章linux系统(编辑修改稿)内容摘要:
程唤醒 进程唤醒的主要步骤 ① 当进程状态设置为 TASK_INTERRUPTIBLE,则由信号唤醒进程, 这是所谓的伪唤醒 (不是直接由所等待的事件唤醒 ),因此需要检 查并处理信号。 ② 若检查条件为真 (所等待的事件发生 ),转 ④ ;若条件不为真,转进 程调度 schdule()。 ③ 当进程被唤醒时 (因事件发生 ),检查条件是否为真,若为真转 ④ ; 否则转进程调度 schdule()。 ④ 当条件满足时,进程状态设置为 TASK_RUNNING,并将该进程 移出等待队列。 ⑤ 该函数将进程状态设置为 TASK_RUNNING,再将此进程加入到 可执行队列。 若被唤醒进程的优先级比当前正在运行的进程的优 先级高,设置 need_resched标志。 Linux系统 —— Linux系统的进程管理 Linux系统的 进程调度 Linux系统 —— Linux系统的进程调度 40 1. Linux进程调度目标和特点 进程调度程序是内核的组成部分,负责选择下一个要运 行的进程。 进程调度可看作在可运行态进程之间分配有限的处理器 时间资源的内核子系统。 进程调度程序是如 Linux这样的多任务操作系统的基础。 (1) Linux进程调度策略 ① 基于动态优先级和可变时间的调度 ② 调度方式为可抢占式调度 Linux系统 —— Linux系统的进程调度 41 (2) 调度目标 ① 实现算法复杂度为 O(1)级的调度 ⅰ 进程调度算法保证在恒定的时间内完成 ⅱ 算法执行时间与系统中处于就绪 (可运行 )状态的进程个 数无关 ② 提高交互性能 提高交互性能,保证系统能快速响应 ③ 保证公平 ⅰ 在合理设定的时间范围内,没有进程会出现饥饿状态 ⅱ 也不会有进程获得大量的时间片 ④ 实现 SMP可扩展性 Linux系统 —— Linux系统的进程调度 42 (3) I/O消耗型和处理器消耗型的进程 ① I/O消耗型进程 大部分时间是使用外部设备,交互式进程具有此特征。 ② 处理器消耗型进程 大部分时间是使用 CPU,计算进程具有此特征。 交互式的程序都是 I/O消耗型的。 Linux为了保证交互式应用,优化了进程的响应,更倾向 于优先调度 I/O消耗型进程,但并未忽略处理器消耗型程 序。 Linux系统 —— Linux系统的进程调度 43 (4) 进程调度的特点 ① Linux系统实现了基于进程过去行为的启发式算法; ② Linux系统选择优先级高的进程先运行,相同优先级的进 程按循环方式调度; ③ 动态优先级依进程占有 CPU的情况、休眠时间的长短来 增、减 ; ④ 系统根据进程优先级调整分配给它的时间片; ⑤ 实施可抢占调度方式 Linux系统 —— Linux系统的进程调度 44 2. 可变优先级 (1) 基于优先级的调度 优先级高的进程先运行,低的后运行,相同优先级的进程 按轮转方式进行调度。 (2) 静态优先级 ① 静态优先级的确定 在进程创建时,新创建的进程继承 父进程的静态优先级 ② 静态优先级的取值范围 100 (最高优先级 ) 139 (最低 优先级 ),取值越小,优先级越高。 ③ 静态优先级的改变 用户可以通过系统调用改变 nice值, 从而改变自己拥有的静态优先级。 Linux系统 —— Linux系统的进程调度 45 (3) 动态优先级 ① 每个进程有一个动态优先级 它是进程调度程序选择可运 行进程所使用的参数,其取值范围是 100 (最高优先级 ) 139 (最低优先级 ) ② 动态优先级的计算 动态优先级 = max(100, min(静态优先级- bonus + 5, 139)) bonus是范围 0 ~ 10的值, 值小于 5表示降低动态优先级以示惩罚 值大于 5表示增加动态优先级以示奖励 进程调度使用的是动态优先级,通过 effective_prio( )函数 来计算一个进程的动态优先级。 Linux系统 —— Linux系统的进程调度 46 (4) 确定 I/O消耗型和处理器消耗型进程的方法 ① 依据 —— 进程睡眠时间的长短 若进程睡眠时间长 —— I/O消耗型 若进程睡眠时间短 —— 处理器消耗型 ② 方法 Linux记录进程睡眠和执行时间 (存放在 task_struct的 sleep_avg域中 ),范围: 0 ~ MAX_SLEEP_AVG,默认值 为 10ms ⅰ 当 进程从开始休眠到要恢复执行这一时间内 sleep_avg 增加,直到达到 MAX_SLEEP_AVG为止; ⅱ 进程每执行一个时钟节拍, sleep_avg递减直到 0为止。 Linux系统 —— Linux系统的进程调度 47 ③ 进程休眠时间与 bonus值的关系 平均休眠时间 bonus值 大于或等于 0, 小于 100ms 0 大于或等于 100,小于 200ms 1 大于或等于 200,小于 300ms 2 大于或等于 300,小于 400ms 3 大于或等于 400,小于 500ms 4 大于或等于 500,小于 600ms 5 大于或等于 600,小于 700ms 6 大于或等于 700,小于 800ms 7 大于或等于 800,小于 900ms 8 大于或等于 900,小于 1000ms 9 大于 1s 10 Linux系统 —— Linux系统的进程调度 48 3. 可变时间片 (1) Linux系统的进程调度的目标 ① 对交互式进程,系统提供较长的时间片 ② 调度程序根据进程的优先级动态调整分配给它的时间片 Linux系统 —— Linux系统的进程调度 (2) 时间片的计算 ① 基本时间片 静态优先级本质上决定了进程的基本时间片 (140 -静态优先级 ) 20 若静态优先级 < 120 (140 -静态优先级 ) 5 若静态优先级 ≥ 120 静态优先级越高 (值越小 ),基本时间片越长。 基本时间片 = 49 表 普通进程的静态优先级和基本时间片的典型值 说明 静态优先级 nice值 基本时间片 最高静态优先级 100 20 800ms 高静态优先级 110 10 600ms 缺省静态优先级 120 0 100ms 低静态优先级 130 +10 50ms 最低静态优先级 139 +19 5ms 初始创建的进程 父进程的值 父进程的值 父进程的一半 Linux系统 —— Linux系统的进程调度 更高的优先级 更高的交互性 更低的优先级 更低的交互性 最小 5ms 默认 100ms 最大 800ms 进程静态优先级与基本时间片的关系图 50 (3) 时间片处理的时机 ① 创建新进程时的处理 新创建的子进程和父进程均分父进程剩余的时间片 ② 进程用完时间片时的处理 ⅰ 当一个进程的时间片用完时,依任务的动态优先级重 新计算时间片; ⅱ task_timeslice()函数为给定任务返回一个新的时间片。 Linux系统 —— Linux系统的进程调度 ② 可变时间片 当一个进程的时间片用完时,根据进程的动态优先级重新 计算时间片。 51 (4) 时间片的使用 ① 一个进程拥有的时间片可分多次使用,放弃 CPU时进 入活动队列 ② 当一个进程的时间片耗尽时,认为是过期进程,进入过 期队列 Linux系统 —— Linux系统的进程调度 52 (5) 活动队列和过期队列 每个处理器维护两个优先级数组 —— 活动数组和过期数组 ① 活动数组上的可执行队列中的进程都有剩余时间片 ② 过期数组上的可执行队列中的进程都已耗尽时间片 当一个进程的时间片耗尽时,被移至过期队列中; 当活动数组上的可执行队列中的所有进程都已耗尽时时间 片,这时,在活动数组和过期数组之间切换指针。 Linux系统 —— Linux系统的进程调度 53 4. Linux进程调度算法中使用的数据结构 (1) 可执行队列 (runqueue结构 ) 可执行队列是给定处理机上的可执行进程链表 runqueue结构 类型 名称 说明 spinlock_t lock 保护进程链表的自旋锁 prio_array_t *active 指向活动进程链表的指针 prio_array_t *expired 指向过期进程链表的指针 prio_array_t[2] arrays 活动进程和过期进程的两个集合 Linux系统 —— Linux系统的进程调度 54 (2) 优先级数组 优先级数组是 prio_array 类型的结构体,该数组描述了可 运行进程的集合,包括 ① 140个双向链表头 (每个链表对应一个优先级队列 ) ② 一个进程优先级位图 ③ 该数组所包含的进程总数 struct prio_array { int nr_active。 /* 任务数目 */ unsigned bitmap[BITMAP_SIZE]。 /* 优先级位图 */ struct list_head queue[MAX_PRIO]。 /*优先级队列 */ } Linux系统 —— Linux系统的进程调度 55 ④ 优先级数组图示 *active *expired arrays[0] arrays[1] task。第9章linux系统(编辑修改稿)
相关推荐
使用寿命。 根据激光头的不同, DVD机芯可分为四种:一种是双激光头机芯,其中一个激光头专门读 DVD光盘,另一激光头读 CD、 VCD光盘。 其优点是各司其职,使用寿命较长,且还可读 CDR光盘;第二种是以松下为代表的双聚焦激光头机芯,机芯中只有一个激光头,它采用双焦点透镜。 当播放的盘片装载到位后,激光头发出不同的激光束来检测不同的碟片规格,从而自动选择相应的聚焦点来读取信号。
总线接口控制器芯片 混音控制芯片 A D / D A 转换器 高级信 号接口 W A V E B l ast er 数字处理器 D SP MI D I 接口芯片 游戏棒接口 SC SI 接口 FM 声表面合成器 A MP 音箱 CD — R O M •第 9章 其他接口 AMR及 CNR接口简介 • AMR接口 • CNR接口 返回本章首页 •第 9章 其他接口 AMR接口
、材料、机械设备等条件,全面布置施工任务;安排总的施工顺序,确定主要工种工程的施工方法;对拟定的根据工程各种条件可能采用的几种方案,进行定性、定量的分析,通过技术经济评价,选择最佳方案。 编制施工组织设计 3.施工组织设计的分类和内容 (2)施工组织设计的内容 ③施工进度计划反映了施工方案在时间上的安排;采用计划的方法,使工期、成本、资源等方面通过计算和调整达到既定目标
中,访问者可以用鼠标单击它们,能够从当前的网页转到链接的目的端位置。 超链接的标志一般有:文本、图像、热区三种。 要注意的是,所有超链接标志均应清晰无误地向浏览者标识出来,让人一看就知道。 链接 第 9 章 F r o n t P a g e 2020 (1)动画。 目前网络上常用的动画类型有 gif和Flash动画两种。 (2)视频。 是多媒体网页的一个重要组成部分,常用的视频格式有 avi、
任意两种渲染效果 Graphics类开发 双缓冲技术 在游戏开发中,当一幅动画在显示的同时,假如程序又会修改它,这样前面的画面还没有显示完,程序又要求重新绘制,屏幕就会不停闪烁,为了避免闪烁,就必须使用双缓冲技术 双缓冲原理是将要处理的图片先在内存中处理完后,再将其显示到屏幕上,这样显示出来的就是一幅完整的图像,不会出现闪烁的现象
10万两,绢 20万匹,因 澶州古名澶渊郡,因而称这一和议为“澶洲之盟” 史书记载,澶渊之盟以后,双方在 边境地区开展贸易,宋用丝织品、稻米、茶 叶等,换取辽的羊、马、 骆驼 等。 宋辽 达成澶渊之盟是好事。 辽宋维持了 100多年的和平局面,促进了双方经济文化的交流和 发展,有利于我国多民族国家的发展和统一。 但加重了人民的负担。 党项族 —— 羌族的一支 西夏的建立 西 夏 1038 元昊