作业管理

一. 进程调度

是指计算机通过决策决定哪个就绪进程可以获得CPU使用权。与多道程序设计有关

两个步骤:

保留旧进程的运行信息,清除旧进程(收拾包袱)

选择新进程,准备运行环境并分配CPU(新进驻)

 

有两种类型:

1. 非抢占式的调度

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

调度程序不以任何原因抢占正在被使用的处理器。

直到进程完成工作或因为IO阻塞才会让出处理器。

2. 抢占式的调度

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

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

调度算法:

先来先服务调度算法

短进程优先调度算法

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

2. 该算法不利于长作业进程的执行

高优先权优先调度算法

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

2. 这样使得紧迫的任务可以优先处理

(前台进程/后台进程)

时间片轮转调度算法

1. 按照先来先服务的原则排列好就绪进程

2. 每次从队列头部取出待执行进程,分配一个时间片执行,将时间片用完以后,不论执行完与否,都将其重新插入队列尾部?

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

二. 死锁

死锁的产生:

1 竞争资源

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

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

2. 进程调度顺序不当

死锁的四个必要条件:

1. 互斥条件

进程对资源的使用是排他性的使用

某资源只能由一个进程使用,其他进程需要使用只能等待

2. 请求保持条件

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

新资源被占用,进程被阻塞

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

3. 不可剥夺条件

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

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

4. 环路等待条件

 

死锁的处理:

预防死锁的方法

1. 摒弃请求保持条件

2. 摒弃不可剥夺条件

3.  摒弃环路等待条件

银行家算法

贷款策略:

需要三张表

可分配资源表是指当前还有多少资源可供分配。

首先相减得到还需分配资源表

其次将还需分配资源表与可分配资源表做对比,得到可满足需求的进程。

上图为P2可以满足,因此优先进行,完成后资源释放,继续其他进程对比运行。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值