美文网首页
操作系统-03-操作系统的作业管理

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

作者: wuyou1998 | 来源:发表于2021-03-03 23:54 被阅读0次

    进程调度

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

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

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

    就绪队列的排队机制
    在前文中我们知道所有的就绪进程都摆放在操作系统的就绪队列里。
    就绪队列的排队机制就是将就绪进程按照一定的方式排成队列,以便调度程序可以最快找到就绪进程。
    
    选择运行进程的委派机制
    调度程序以一定的策略选择就绪进程,将CPU资源分配给它。
    
    新老进程的上下文切换机制
    保存当前进程的上下文信息,装入被委派执行进程的运行上下文。
    

    非抢占式的调度

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

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

    抢占式调度

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

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

    image-20210303230057946

    调度算法

    先来先服务算法

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

    短进程优先调度算法

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

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

    高优先权优先调度算法

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

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

    时间片轮转调度算法

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

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

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


    死锁

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

    死锁的产生

    竞争资源

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

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

    进程调度顺序不当

    如题。

    死锁的四个必要条件

    互斥条件

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

    请求保持条件

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

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

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

    不可剥夺条件

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

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

    环路等待条件

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

    死锁的处理

    预防死锁的方法

    摒弃请求保持条件

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

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

    摒弃不可剥夺条件

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

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

    摒弃环路等待条件

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

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

    银行家算法

    内容略,按需百度。

    相关文章

      网友评论

          本文标题:操作系统-03-操作系统的作业管理

          本文链接:https://www.haomeiwen.com/subject/jlkhqltx.html