首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载 | ||
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试 MPA考试 | 中科院 |
||
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语 |
||
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 华为认证 | Java认证 |
||
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格 报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师 人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平 驾驶员 | 网络编辑 |
||
卫生资格 | 执业医师 | 执业药师 | 执业护士 | ||
会计从业资格考试(会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师 注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师 |
||
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师 质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师 设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师 城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师 |
||
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏 |
(7)任务控制块TCB
任务控制块TCB,就是在操作系统中,用来描述和管理一个任务的数据结构。系统为
每一个任务都维护了一个相应的TCB,用来保存该任务的各种相关信息。它的主要内容包
括下面几项:
A、任务的管理信息:任务的标识ID、状态、优先级、调度信息、各种队列指针等。
B、CPU上下文信息:CPU各种寄存器当前的值以及逻辑寄存器。
C、资源管理的信息:段表地址、页表地址、根目录、文件描述字等。
当需要创建一个任务的时候,就为它生成一个TCB,并初始化这个TCB 的内容;当需
要中止一个任务的时候,只要回收它的TCB 就可以了。
(7)任务的切换
基本思想:把当前任务的运行上下文保存起来,并恢复新任务的上下文。
任务切换通常有下面的基本步骤:
A、将处理器的运行上下文保存在当前任务的TCB 中。
B、更新当前任务的状态,从运行状态变为就绪状态或阻塞状态。
C、按照一定的策略,从所有处于就绪状态的任务中选择一个去运行。
D、修改新任务的状态,从就绪状态变成运行状态。
E、根据新任务的TCB 的内容,恢复它的运行上下文环境。
在一个多任务的操作系统中,采用任务队列的方式来组织它的所有任务。由操作系统来
维护一组队列,用来表示系统当中所有任务的当前状态,不同的状态用不同的队列来标志。
(8)任务的调度
调度器可以看作CPU 的资源管理者。
任务调度的首要问题是:何时进行调度,即调度发生的时机。一般有下面几种情形:
A、一个新任务被创建时,需要决定运行新任务还是继续执行父任务。
B、一个任务运行结束时,需要从就绪队列中选择某个任务去运行。
C、一个任务运行阻塞时,需要选择另一个任务去运行。
D、一个I/O 操作完成,任务阻塞结束,立即执行新就绪任务还是继续执行被中断任务。
E、一个时钟节拍结束时,需要对就绪任务重新调度。
任务调度的第二个问题是:如何调度,即调度方式。主要有两种方式:
A、不可抢占调度方式:例如时间片轮转。
B、可抢占调度方式:例如优先级调度。
实时操作系统大都采用可抢占调度方式。
任务调度的第三个问题是:调度算法。
A、先来先服务算法:按照任务到达的先后次序进行调度,是不可抢占的调度方式。
B、短作业优先算法:各个任务开始执行之前,事先预计好它的执行时间,从中选择
用时较短的任务优先执行。
C、时间片轮转算法:所有的就绪任务按照先来先服务的原则排成一个队列。在每次
调度的时候,把处理器分派给队列当中的第一个任务,让它去执行一小段时间。在
这个时间段里任务被阻塞或由于其他原因暂停,或者任务的时间片用完了,它会被
送到就绪队列的末尾,然后调度器再执行当前队列的第一个任务。这种算法的优点
是各个就绪任务都平均地分配使用CPU 的时间,每个就绪任务都能一直保持着活
动性。时间片轮转法有一个默认前提,即位于就绪队列中的各个任务是同等重要的。
D、优先级算法:给每个任务都设置一个优先级。然后在任务调度的时候,在所有处于
就绪状态的任务中选择优先级最高的那个任务去运行。采用优先级调度算法的一个
问题是可能会发生优先级反转(教程P285),出现任务“饥饿”现象。
(9)实时系统调度
对于RTOS 调度器来说,任务之间的公平性并不是最重要的,它追求的是实时性。
A、单调速率调度算法(RMS):任务的优先级与它的周期表现为单调函数的关系,任
务的周期越短,优先级越高,任务的周期越长,优先级越低。RMS 假定任务是相同独立的、
周期性的、任务在能够在任何位置被抢占,而实际中的系统,任务之间需要进行通信和同步,
这是一种理想的调度方法,实际中并不一定存在。
B、最早期限优先法(EDF):根据任务的截止时间来确定其优先级,对于时间限期最
近的任务,分配最高的优先级。当有一个新的任务处于就绪状态时,各个任务的优先级就有
可能要进行调整,选择截止时间最近的任务去运行。
相关推荐:北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |