进程的调度:
保留旧的进程的运行信息,请出旧进程(收拾包袱)
选择新进程,准备运行环境并分配CPU (新进驻)
1.就绪队列
2.委派机制
3.新老进程上下文切换机制
抢占式的调度 (允许在一定策略下暂停当前的进程&保存此进程的上下文信息)通用系统 pc&Mac
非抢占式的调度(直到进程完成才会让出处理器)
四个调度算法:
1.first in first serve
2.短进程优先 (运行时间最短的,优先执行)
3.高优先权 (进程自带优先权,紧迫任务可以优先被处理)
4.时间片轮转调度算法 绝对公平
(1.先到先得给它整体排序 2. 从queue队列取出待执行进程,分配一个时间片执行)
作业管理之死锁:
两个以上的进程在执行过程中,由于竞争资源造成阻塞。
1.产生
竞争资源
进程调度顺序不当
2.四个必要条件
互斥
请求保持 (当请求一个新资源的时候发现已经被占用,但是被阻塞的进程又不愿意释放自己保持的资源)
不可剥夺 (获得的cpu资源只能自己释放)
环路等待 (进程资源环形链,类似科学家拿筷子的例子)
死锁的处理:
预防死锁的方法:
破坏死锁四个必要条件中的任意一个
1.破坏请求保持
在进程运行之前,一次性申请所有需要的资源
2. 破坏不可剥夺
当一个进程请求新的资源得不到满足时,必须释放占有的资源
3.破坏环路等待
把可用资源进行线性排序
避免死锁的银行家算法 (以银行借贷系统分配策略为基础)
客户每次申请贷款时需要申明最大资金量,如果银行可以满足,都应该给予借贷
客户在使用贷款后,可以及时归还
进程就等于客户,贷款的金额等于需要的资源,银行代表系统的还没分配出去的资源
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。