操作系统问题总结之处理机调度

分级调度:

包括作业调度、交换调度、进程调度、线程调度。

作业调度:

主要任务是按一定原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存和输入输出设备等必要资源,并建立相应的根进程,以使该作业的进程获得竞争处理机的权利。

作业调度性能评价标准:

周转时间,平均周转时间,带权周转时间,平均带权周转时间

进程调度功能:

  • 记录系统中所有进程的执行情况
  • 选择占有处理机的进程
  • 进行进程上下文切换

进程调度时机:

  • 正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理机资源。
  • 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态。
  • 执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了v原语操作激活了等待资源的进程队列。
  • 执行中进程提出I/O请求后被阻塞。
  • 在分时系统中时间片已经用完。
  • 在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。
  • 以上都是在可剥夺方式下的引起进程调度的原因。在CPU执行方式是可剥夺时。还有就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。

进程调度策略:

  • 先来先服务调度算法:是一种最简单的调度算法,每次调度是从进程队列中选择一个最先进入该队列的进程,为之分配资源投入运行。该进程一直运行完成或发生某事件而阻塞后才继续处理后面的进程。
  • 优先级调度算法:有短进程优先级、高优先权优先级、高响应比优先级等,按照优先级来执行就绪进程队列中的调度。 (高响应比:(等待时间+服务运行时间)/服务运行时间)
  • 时间片轮转调度算法:系统还是按照先来先服务调度就绪进程,但每次调度时,CPU都会为队首进程分配并执行一个时间片(几ms~百ms)。执行时间片用完后计时器即产生时钟中断,停止该进程并将它送到队尾,其他依次执行。这样保证系统能在给定的时间内执行所有用户进程的请求。
  • 多级反馈调度算法:多级反馈调度算法则各队列之间优先级不同,同一队列优先级相同,一个进程执行结束前可能需要反复多次通过反馈循环执行,而不是优先级发中的一次执行;不必事先知道各进程所需的执行时间,而且还可以满足各类型进程的需要,因而它是目前被公认的一种较好的进程调度算法。

多处理机系统:

多处理机系统由多台独立的处理机组成,每台处理机都能够独立执行自己的程序和指令流,相互之间通过专门的网络连接,实现数据的交换和通信,共同完成某项大的计算或处理任务。

实时调度:

实时调度是为了完成实时处理任务而分配计算机处理器的调度方法。实时处理任务要求计算机在用户允许的时限范围内给出计算机响应信号。

实时处理任务可分为硬实时任务和软实时任务。

  • 硬实时任务要求计算机系统必须在用户给定的时限内处理完毕。
  • 软实时任务允许计算机系统在用户给定的时限左右处理完毕。

实时系统的基本特性:

  • 有限等待时间(决定性特性)
  • 有限响应时间
  • 用户控制
  • 可靠性强
  • 系统出错处理能力强

实时调度算法:

  • 静态表格驱动类
  • 静态优先级驱动抢先式调度算法类
  • 动态计划调度算法类
  • 尽力而为调度算法类
原文地址:https://www.cnblogs.com/BobPong/p/12630417.html