操作系统-03-操作系统的作业管理

2021-03-03  本文已影响0人  wuyou1998

进程调度

进程调度是指计算机通过决策决定哪一个就绪进程可以获得CPU的使用权。

进程调度一般需要保留旧进程的运行信息,请出旧进程,再选择新进程,准备运行环境并分配CPU。

在了解进程调度之前,先了解下面的机制。

就绪队列的排队机制
在前文中我们知道所有的就绪进程都摆放在操作系统的就绪队列里。
就绪队列的排队机制就是将就绪进程按照一定的方式排成队列,以便调度程序可以最快找到就绪进程。

选择运行进程的委派机制
调度程序以一定的策略选择就绪进程,将CPU资源分配给它。

新老进程的上下文切换机制
保存当前进程的上下文信息,装入被委派执行进程的运行上下文。

非抢占式的调度

处理器一旦分配给某个进程,就让该进程一直使用下去

调度程序不以任何原因抢占正在被使用的处理器,直到进程完成工作或因为IO阻塞才会让出处理器

抢占式调度

允许调度程序以一定的策略暂停当前运行的进程

保存好旧进程的上下文信息,分配处理器给新进程

image-20210303230057946

调度算法

先来先服务算法

按照先来先服务的原则,优先取出队列前面的进程进行调度。

短进程优先调度算法

调度程序优先选择就绪队列中估计运行时间最短的进程

短进程优先不利于长作业进程的执行。

高优先权优先调度算法

进程附带优先权,调度程序优先选择权重高的进程

高优先权先调度算法使得紧迫的任务可以优先处理

时间片轮转调度算法

按先来先服务的原则排列就绪进程

每次从队列头部取出待执行进程,分配一个时间片执行

是相对公平的调度算法,但不能保证及时响应用户


死锁

死锁是指两个或两个以上的进程在执行过程 中,由于竞争资源或者由于彼此通信而造成 的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的 进程称为死锁进程。

死锁的产生

竞争资源

共享资源数量不满足各个进程需求

各个进程之间发生资源竞争导致死锁

进程调度顺序不当

如题。

死锁的四个必要条件

互斥条件

进程对资源的使用时是排他性使用,某资源只能由一个进程使用,其他进程需要只能等待

请求保持条件

进程至少保持一个资源,又提出了新的资源请求

新资源被占用,请求被阻塞

被阻塞的进程不释放自己保持的资源

不可剥夺条件

进程获得的资源在未完成使用前不可被剥夺

获得的资源只能由进程自身释放

环路等待条件

发生死锁时,必然存在进程-资源环形链

死锁的处理

预防死锁的方法

摒弃请求保持条件

系统规定进程运行之前,一次性申请所有需要的资源

进程在运行期间不会提出资源请求,从而摒弃请求保持条件

摒弃不可剥夺条件

当一个进程请求新的资源得不到满足时,必须释放占有的资源

进程运行时占有的资源可以被释放,意味着可以被剥夺

摒弃环路等待条件

可用资源线性排序,申请必须按照需要递增申请

线性申请不再形成环路,从而摒弃了环路等待条件

银行家算法

内容略,按需百度。

上一篇下一篇

猜你喜欢

热点阅读