处理机调度与死锁
1:调度:一种资源的分配,处理机调度对资源进行分配,作业从提交到获得处理机执行。
2 调度层级
(1) 高级调度(作业调度)-》作业 根据调度算法从外存的后备队列调入就绪队列——》内存,然后创建进程,分配资源,放入就绪队列。
(2) 低级调度(进程调度)。
(3) 中级调度(内存调度)——》提高内存的利用率,将暂时不能运行的进程
调入外存等待。
3 调度算法的目标:(1)资源利用率 (2)公平性(不会发生进程饥饿现象)
(4) 平衡性(系统资源使用的平衡性)(4)策略强制执行
4:批处理系统目标
(1) 平均周转时间最短(周转时间=在外存的等待时间+进程就绪队列的等待时间+cpu的执行时间,I/O操作完成的时间)。
平均周转时间=周转时间/完成时间
(2)系统吞吐量:单位时间内完成作业的数量。
(3)处理机利用率高。
5:分时系统:响应时间快,均衡性。
6:实时系统的目标:截止时间的保证,可预测性。
调度算法
1:先来先服务(frist-come-frist-served FCFS)调度算法
按照作业到达的顺序来调度(优先考虑作业在系统中等待的时间)。
2:短作业优先(short job frist SJB)的调度算法
按照作业执行的时间作为优先级。
3:优先级调度算法(PSA)
高响应比调度算法:
Rp=(当前时间-等待时间)/运行时间+1;
4:进程调度任务:(1)保存处理机的现场信息 (2)按照某种算法选取进程
(2) 把处理机分配给进程。
:5:进程调度机制:(1)排队器:将系统中所有就绪进程根据算法排成一队
(3) 分派器(3)上下文切换器
6:进程调度方式
(1) 非抢占式;一旦处理机分配给某个进程,就让他一直运行(不会因为时钟中断,任何其他原因去抢占当前运行进程的处理机)
(2) 抢占式:允许调度程序根据某种算法(优先级),去暂停某个正在执行的进程,重新分配给另一个进程。
7:RR轮转调度算法:就是三个进程轮流占用一个时间片。
基本原理:首先根据FCFS策略排成一个就绪队列,设置每间隔一定时间产生一次中断,完成一次调度,然后激活系统中的进程调度,把CPU分配给队首。
时间片为 1 :q=1 表示每次只给这个进程占用1秒的时间,然后在根据队列选择进程。
0秒的时候A到达,A进入队首,先运行一秒,A运行1个时间片后,B到达,B插入队列,由于此时A没有运行完,则插入队列。