单处理器调度
2016-06-08 14:14:47 3 举报
AI智能生成
单处理器调度是一种操作系统中的资源分配策略,它是指一个单一的中央处理器在同一时间内只能执行一个任务。在单处理器调度中,操作系统通过一种称为“调度算法”的程序来决定哪个任务应该获得处理器的使用权。常见的调度算法包括先来先服务(FCFS)、短作业优先(SJF)、优先级调度和时间片轮转等。这些算法的目标是尽可能地提高系统的效率和响应速度,同时保证各个任务能够公平地获得处理器的使用权。
作者其他创作
大纲/内容
背景:多道程序设计的关键是调度
实质: 调度属于"队列管理",用来在排队环境中减少延迟和优化性能
单处理器调度
长程调度:控制系统并发度
决定哪个进程加入待执行的进程池中
2问题: 何时可以新建进程; 接受哪个作业加入系统
中程调度
决定哪个进程加入部分或全部在内存中的进程集中
要换入进程决定于: 管理系统并发度的需求
短程调度
决定执行哪个进程
时钟;IO中断;OS调用;信号等;
调度算法
原则:合理分配处理器时间
准则
面向用户: 用户的使用感觉
面向系统:CPU使用的效果和效率
另一维的划分依据:
这些准则是否直接与性能相关
优先级的使用
纯粹的优先级策略会导致饥饿
决策模式
抢占:可能增加开销,但能提供较好服务
非抢占
归一化周转时间 = 周转时间/服务时间;
调度策略:
先来先服务
执行长进程好于短进程; 更利于处理器密集型; 常结合优先级使用.
轮转
时间片最好略大于一次典型的交互时间; 不利于IO密集型进程;
虚拟轮转法
辅助队列中的进程优先于就绪队列中的进程
最短进程优先
非抢占; 可能导致长进饥饿;
最短剩余时间
最短进程优先的抢占版本
最高响应比,每次选R最大的
响应比R = (w+s)/s
w:等待处理器的时间; s:预计的服务时间;
反馈法
关注已经执行了的时间; 无法获得进程剩余的执行时间
基于抢占; 使用动态优先级;
问题: 长进程的周转时间惊人增加;
解决:按照优先级队列改变抢占次数。
性能比较
调度原则和服务时间无关的任何调度规则都遵循: Tr/Ts = 1/(1-p)
Tr:周转时间; Ts:平均服务时间; p:处理器利用率;
在所有非抢占策略中,FCFS偏向于长进程; SPN偏向于短进程;
公平共享调度
基于进程组的调度策略
目标:监视进程的CPU使用情况
基于优先级:每个进程被分配一个基本优先级,然后随着该进程或其所在组对cpu的使用降低优先级;
传统的Unix调度
用于分时交互环境
1秒式抢占:每秒都重新计算每个进程优先级,并且进行一次调度决策
优先级分区,即不同优先级的区; 不分进程组;
多处理器调度
0 条评论
下一页