当前位置: 首页 > Linux

作业管理进程调度

时间:2023-04-06 03:13:00 Linux

进程调度:保留老进程的运行信息,请移除老进程(包)选择新进程,准备运行环境,分配CPU(新入口)1.就绪队列2.委托机制3.新老进程上下文切换机制抢占式调度(允许在某种策略下挂起当前进程&保存本进程的上下文信息)一般系统pc&Mac非抢占式调度(处理器不会被放弃直到进程完成)四两种调度算法:1.firstinfirstserve2.短进程优先级(运行时间最短的先执行)3.高优先级(进程有自己的优先级,紧急任务可以先处理)4.时间片round-robin调度算法是绝对公平的(1.先到先得将其作为一个整体排序;2.从队列中取出待执行的进程,分配一个时间片执行)死锁在作业管理中:两个或多个进程在执行期间由于资源竞争而被阻塞。1.产生竞争资源的进程调度顺序不当2.四个必要条件互斥请求保留(当请求新资源时,发现被占用,但被阻塞的进程又不愿意释放持有的资源)Inalienable(获得的cpu资源只能自己释放)循环等待(进程资源的循环链,类似于科学家拿着筷子的例子)死锁处理:防止死锁的方法:破坏死锁的四个必要条件中的任何一个1.销毁请求在进程运行之前,一次性申请所有需要的资源。2.破坏是不可剥夺的。当一个进程请求新的资源不能满足时,就必须释放占用的资源。3.破坏循环,等待可用资源线性排序,避免死锁的银行家算法(基于银行借贷系统的分配策略)客户每次申请需要申报最大资金额度贷款。如果银行能满足要求,他们应该把贷款给客户。使用贷款后,可及时返还进度。贷款金额等于所需资源,银行代表系统未分配的资源