3.SJF的变型 "最短剩余时间优先"SRT( Shortest Remaining time) 允许比当前进程剩余时间更短的进程来抢占 最高响应比优先"HRRN( Highest Response ratio next) 响应比R=(等待时间+要求执行时间)/要求 执行时间 是FCFS和SJF的折衷
3. SJF的变型 • "最短剩余时间优先"SRT(Shortest Remaining Time) – 允许比当前进程剩余时间更短的进程来抢占 • "最高响应比优先"HRRN(Highest Response Ratio Next) – 响应比R = (等待时间 + 要求执行时间) / 要求 执行时间 – 是FCFS和SJF的折衷
523时间片轮转( Round robin)算法 前两种算法主要用于宏观调度,说明怎样选择一个 进程或作业开始运行,开始运行后的作法都相同 即运行到结束或阻塞,阻塞结束时等待当前进程放 弃CPU。本算法主要用于微观调度,说明怎样并发 运行,即切换的方式;设计目标是提高资源利用率 其基本思路是通过时间片轮转,提高进程并发性和 响应时间特性,从而提高资源利用率;
5.2.3 时间片轮转(Round Robin)算法 前两种算法主要用于宏观调度,说明怎样选择一个 进程或作业开始运行,开始运行后的作法都相同, 即运行到结束或阻塞,阻塞结束时等待当前进程放 弃CPU 。本算法主要用于微观调度,说明怎样并发 运行,即切换的方式;设计目标是提高资源利用率。 其基本思路是通过时间片轮转,提高进程并发性和 响应时间特性,从而提高资源利用率;
1.时间片轮转算法 将系统中所有的就绪进程按照FCFS原则,排成 个队列。 每次调度时将CPU分派给队首进程,让其执行 个时间片。时间片的长度从几个ms到几百ms 在一个时间片结束时,发生时钟中断 调度程序据此暂停当前进程的执行,将其送到 就绪队列的末尾,并通过上下文切换执行当前 的队首进程。 进程可以未使用完一个时间片,就出让CPU (如阻塞)
1. 时间片轮转算法 • 将系统中所有的就绪进程按照FCFS原则,排成 一个队列。 • 每次调度时将CPU分派给队首进程,让其执行 一个时间片。时间片的长度从几个ms到几百ms。 • 在一个时间片结束时,发生时钟中断。 • 调度程序据此暂停当前进程的执行,将其送到 就绪队列的末尾,并通过上下文切换执行当前 的队首进程。 • 进程可以未使用完一个时间片,就出让CPU (如阻塞)
2.时间片长度的确定 时间片长度变化的影响 过长一>退化为FCFS算法,进程在一个时间片内都执行完, 响应时间长。 过短一>用户的一次请求需要多个时间片才能处理完,上 下文切换次数增加,响应时间长 对响应时间的要求: T(响应时间)=N(进程数目)*q(时间片) 时间片长度的影响因素 就绪进程的数目:数目越多,时间片越小(当响应时间 定时) 系统的处理能力:应当使用户输入通常在一个时间片内 能处理完,否则使响应时间,平均周转时间和平均带权 周转时间延长
2. 时间片长度的确定 • 时间片长度变化的影响 – 过长->退化为FCFS算法,进程在一个时间片内都执行完, 响应时间长。 – 过短->用户的一次请求需要多个时间片才能处理完,上 下文切换次数增加,响应时间长。 • 对响应时间的要求: – T(响应时间)=N(进程数目)*q(时间片) • 时间片长度的影响因素: – 就绪进程的数目:数目越多,时间片越小(当响应时间 一定时) – 系统的处理能力:应当使用户输入通常在一个时间片内 能处理完,否则使响应时间,平均周转时间和平均带权 周转时间延长
524多级队列算法 (Multiple-level Queue 本算法引入多个就绪队列,通过各队列的区 别对待,达到一个综合的调度目标; 根据作业或进程的性质或类型的不同,将就绪队 列再分为若干个子队列。 每个作业固定归入一个队列。 各队列的不同处理:不同队列可有不同的优先级 时间片长度、调度策略等。如:系统进程、用户 交互进程、批处理进程等
5.2.4 多级队列算法 (Multiple-level Queue) • 根据作业或进程的性质或类型的不同,将就绪队 列再分为若干个子队列。 • 每个作业固定归入一个队列。 • 各队列的不同处理:不同队列可有不同的优先级、 时间片长度、调度策略等。如:系统进程、用户 交互进程、批处理进程等。 本算法引入多个就绪队列,通过各队列的区 别对待,达到一个综合的调度目标;