首页 > 技术文章 > 操作系统-单处理器调度

suntorlearning 2019-06-14 14:47 原文

 

 

处理器调度

image.png

调度类型

长程调度:决定哪一个程序可以进入系统中处理,控制系统并发度。内存和外存之间的调度,频率低。

中程调度:交换功能的一部分,提高内存利用率和系统吞吐量,内存和外存之间的调度,频率中等。

短程调度:精确地决定下一次执行哪一个进程,可能导致阻塞、抢占等,最为频繁。

进程调度算法

 

为了合理处理计算机软硬件资源,操作系统进行处理器调度。主要的调度算法有六种,其中FCFS、SPN无法保证及时接收和处理问题,无法保证在规定时间间隔内,响应每个用户的需求,无法达到实时操作系统的及时性需求。优先级调度算法对于更紧急的任务给予更高的优先级,适合实时操作系统。HRRN\RR\FB能够保证每个任务都在一定时间内分配到时间片,轮流占用CPU,由此适合分时系统。

 

image.png

 

(补充:优先级算法就是从当前就绪队列中选出优先级最高的进程执行,分为抢占和不抢占,静态和动态的。)

决策模式与选择函数

决策模式:说明选择函数在被执行的瞬间的处理方式,通常分为两类:非抢占:一旦进程处于运行状态,他就被不断执行直到终止,或者因为等待I/O或者因为请求某些系统服务而阻塞自己;抢占:当前正在运行的进程可能被操作系统中断,并转移到就绪态。抢占策略会导致较大的开销,但是会对所有进程提供较好的服务。

选择函数:确定在就绪队列中哪一个是下一个执行的进程

 

计算题:学会分析和计算各个调度算法下的进程甘特图以及他们的归一化周期时间(Tr/Ts)

image.png

image.png

image.png

公平共享调度

在多用户系统中,基于进程组的调度策略是非常有吸引力的,每个用户被指定了某种类型的权值、定义了用户对系统资源的共享,是作为在使用中所占的比例来体现的。调度是基于优先级的,考虑了进程的基础优先级、近期使用处理器的情况以及进程所在组使用处理器的情况,来动态的计算优先级分配处理器。

 

 

推荐阅读