进程和处理机调度
来源:互联网 发布:java基础知识考试题目 编辑:程序博客网 时间:2024/04/30 23:58
n 死锁:指各并发进程彼此等待对方所占用的资源,且这些进程在未得到对方资源前不会释放自己所拥有的资源,从而导致并发进程不能继续向前推进的状态
产生死锁的四个必要条件:资源互斥、非剥夺、请求和保持(部分分配)、环路等待。
n 死锁的解决方案
a) 预防:在系统设计时确定资源分配算法,保证不发生死锁
具体的方法是破坏产生死锁的四个必要条件之一
b) 避免:在系统运行过程中,对进程发出的每个系统能够满足的资源申请进行动态检查,
并根据检查结果决定是否分配资源,若分配后系统可能发生思索,则不予分配,否则
予以分配
c) 检测及解除
1、允许死锁发生,操作系统不断监视系统进展情况,判断死锁是否发生
2、一旦死锁发生则采取专门的措施,解除死锁并以最小的代价恢复操作系统的运行
n 进程调度
a) 进程调度的任务是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选中一个 进程,把CPU的使用权交给被选中的进程
b) 算法原则
i. 具有公平性
ii. 资源利用率高——特别是CPU的利用率
iii. 在交互式系统情况下追求相应时间
iv. 在批处理系统情况下追求系统吞吐量
n 各种进程调度算法
a) 先进先出进程调度算法(FIFO,FCFS)
i. 按照进程就绪的先后次序来调度进程
ii. 优点:实现简单
iii. 缺点:没考虑进程的优先级
b) 最短作业优先(SJF)
i. 要求进程执行前先估计执行时间,给执行时间短的进程优先分配处理机
ii. 优点:缩短了等待时间,提高吞吐量
iii. 缺点;不利于长作业,时间估算不准
c) 基于优先级的调度(HPF——Highest Priority First)
i. 优先选择就绪队列中优先级高的进程投入运行
ii. 优先级根据优先数来决定
d) 时间片轮转程序调度算法
把CPU划分若干时间片,并且按顺序付给就绪队列中的每一个进程,进城
轮流占有CPU,当时间片用完时,即使进程未执行完毕,四通也剥夺该进程的CPU,
将该进程排在就绪队列末尾,同时系统选择另一个进程运行。
e) 多级队列反馈调度算法
将就绪队列分为N级,每个就绪队列分配给不同的时间片,队列级别越高,时间越长,级别越小,时间片越小,最后一级采用时间片轮转,其他队列采用先进先出;系统从第一级调度,当地一级为空时,系统转向第二队列......当运行进程用完一个时间片,放弃CPU时,进入下一级队列;等待进程被唤醒时,进入原来的就绪队列;当进程第一次就绪时,进入第一级队列。
- 进程和处理机调度
- 处理机进程调度模拟
- 处理机调度和死锁
- 操作系统(二):进程和线程管理_3_处理机调度
- 【操作系统】多处理机系统中的进程调度和Unix的进程调度
- 操作系统 进程管理之处理机调度
- 多处理机的进程调度方式
- 处理机调度
- 处理机调度
- 处理机调度
- 处理机调度
- 处理机调度
- 处理机调度
- 处理机调度
- 处理机调度
- 处理机调度
- 处理机的高级、中级和低级调度
- OS中处理机调度模型和调度算法
- JAVA中正则表达式的应用 (一)
- JAVA中正则表达式的应用 (二)
- 错误提示:以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机
- SQL语句
- 令牌及其概念
- 进程和处理机调度
- 指针变量也是传值调用的(C语言)!
- Linux系统下的多线程编程入门
- 多线程学习(二)-线程池和定时器——多线程的自动管理
- Tips_Qt介绍
- 智能JSP表单WING-JSPFormWizard 正式发布
- Mandriva 的起源
- [精华] 跟我一起写 Makefile
- 用GDB调试程序