3、操作系统进程和线程管理(2)

2019-04-06  本文已影响0人  小manong

七、处理器的调度

1、调度系统概念
2、调度的层次
  1. 作业调度。又称高级调度,.其主要任务是按一定的原则从外存上处于后备状态的作业中挑选一个(或多个)作业,给它(们)分配内存、输入/输出设备等必要的资源,并建立相应的进程,以使它(们)获得竞争处理机的权利。简言之,就是内存与辅存之间的调度。对于每个作业只调入一次、调出一次。作业调度的执行频率较低,通常为几分钟一次。
  2. 中级调度。又称内存调度。引入中级调度是为了提高内存利用率和系统吞吐量。为此,应使那些暂时不能运行的进程,调至外存等待,把此时的进程状态称为挂起状态。当它们已具备运行条件且内存又稍有空闲时,由中级调度来决定,把外存上的那些已具备运行条件的就绪进程,再重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待。
  3. 进程调度。又称为低级调度,其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。进程调度是操作系统中最基本的一种调度,在一般操作系统中都必须配置进程调度。进程调度的频率很高,一般几十毫秒一次。
3、调度的时机、切换与过程
  1. 在处理中断的过程中:中断处理过程复杂,在实现上很难做到进程切换,而且中断处理是系统工作的一部分,逻辑上不属于某一进程,不应被剥夺处理机资源。
  2. 进程在操作系统内核程序临界区中:进入临界区后,需要独占式地访问共享数据,理论上必须加锁,以防止其他并行程序进入,在解锁前不应切换到其他进程运行,以加快该共享数据的释放。
  3. 其他需要完全屏蔽中断的原子操作过程中:如加锁、解锁、中断现场保护、恢复等原子操作。在原子过程中,连中断都要屏蔽,更不应该进行进程调度与切换。
  1. 当发生引起调度条件,且当前进程无法继续运行下去时,可以马上进行调度与切换
  2. 当中断处理结束或自陷处理结束后,返回被中断进程的用户态程序执行现场前,若置上请求调度标志,即可马上进行进程调度与切换。
4、进程调度方式
  1. 非剥夺调度方式,又称非抢占方式。是指当一个进程正在处理机上执行时,即使有某个更为重要或紧迫的进程进入就绪队列,仍然让正在执行的进程继续执行,直到该进程完成或发生某种事件而进入阻塞状态时,才把处理机分配给更为重要或紧迫的进程。
  2. 剥夺调度方式,又称抢占方式。是指当一个进程正在处理机上执行时,若有某个更为重要或紧迫的进程需要使用处理机,则立即暂停正在执行的进程,将处理机分配给这个更为重要或紧迫的进程。.
5、调度的基本准则
  1. CPU利用率。CPU是计算机系统中最重要和昂贵的资源之一,所以应尽可能使CPU 保持“忙”状态,使这一资源利用率最髙。
  2. 系统吞吐量。表示单位时间内CPU完成作业的数量。长作业需要消耗较长的处理机时间,因此会降低系统的吞吐量。而对于短作业,它们所需要消耗的处理机时间较短,因此能提高系统的吞吐量。调度算法和方式的不同,也会对系统的吞吐量产生较大的影响。
  3. 周转时间。是指从作业提交到作业完成所经历的时间,包括作业等待、在就绪队列中排队、在处迤机上运行以及进行输入/输出操作所花费时间的总和。
  4. 等待时间。是指进程处于等处理机状态时间之和,等待时间越长,用户满意度越低
  5. 响应时间。是指从用户提交请求到系统首次产生响应所用的时间。
6、操作系统调度算法

(1)先来先服务(FCFS)调度算法
(2)短作业优先(SJF)调度算法
(3)优先级调度算法
(4)高响应比优先调度算法(用于作业调度)
(5)高响应比优先调度算法(用于分时系统)
(6)多级反馈队列调度算法(时间片轮转调度算法和优先级调度算法的综合和发展)

八、进程同步

1、基本概念
2、实现临界区互斥的基本方法

为禁止两个进程同时进入临界区,同步机制应遵循以下准则:空闲让进、忙则等待、有限等待、让权等待。
(1)软件实现方法

算法一:单标志法(违背空闲让进)
算法二:双标志法先检查。(违背忙则等待)
算法三:双标志法后检查(饥饿”现象)
算法四:Peterson’s Algorithm。

(2)硬件实现方法

  1. 中断屏蔽方法
  1. 硬件指令方法(CAS)
3、信号量
4、管道
上一篇 下一篇

猜你喜欢

热点阅读