操作系统的作业管理

一、进程调度

调度即决策哪个进程可以获得CPU的使用权

1.调度机制

①【就绪队列的排队机制】将就绪进程排成队列
②【选择运行进程的委派机制】按一定的策略选择就绪进程
③【新老进程的上下文切换机制】保存前进程的上下文信息,装入被委派进程的上下文

2.调度方法

①【非抢占式调度】让被分配的进程执行完毕
②【抢占式调度】允许以一定策略暂停当前进程

3.调度算法

①【先来先服务算法】利用就绪队列,先来先服务
②【短进程优点调度算法】优先选择就绪队列中运行时间最短的进程
③【高优先权优先调度算法】优先选择权重高的进程
④【时间片轮转调度算法】利用就绪队列,每次从队列头部取出一个进程并分配时间片,相对公平

二、死锁

死锁是指进程在竞争资源的过程中发生阻塞,彼此永远等待对方的状态

1.死锁满足的条件

①【互斥条件】排他性
②【请求保持条件】进程占用资源A,又请求占用资源B,因资源B被占用而导致阻塞
③【不可剥夺条件】进程占用的资源在未完成使用前不能被剥夺
④【环路等待条件】进程-资源环形链

2.预防死锁的方法

①【摒弃请求保持条件】进程运行前就分配所有需要的资源
②【摒弃不可剥夺条件】当进程请求一个已被占用的资源时,必须释放该资源
③【摒弃环路等待条件】让资源线性排序,申请资源必须按顺序申请

3.预防死锁的算法

银行家算法:将资源先全部分配给能够满足其需求的进程,待其工作完毕后归还所有资源,再将全部资源分配给下一个能满足需求的进程,依次类推。

发布了48 篇原创文章 · 获赞 4 · 访问量 6181

猜你喜欢

转载自blog.csdn.net/Knightletter/article/details/102508661