《计算机操作系统》第2章.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实例目的
❖强调编写代码规范; ❖加深理解操作系统的CPU调度策略; ❖掌握分析方法:流程图,伪代码,N-S; ❖掌握用c语言开发项目的思路; ❖掌握测试方法; ❖学会书写相关文档。
IC-MSP<2.0>
模块设计
❖void main():CPU调度主函数 ❖void jobSchedule():进程调度 ❖void initJobs():初始化进程控制块列表 ❖void OSRun():模拟操作系统的运行 ❖PCB * createJob():进程创建 ❖void showJobinfo(PCB *job):显示进程信息 ❖void doJob(PCB *job):运行指定的进程 ❖int random(int imaxvalue):生成随机整数
5
p3 p2 p1
6
p2 p3 p1
IC-MSP<2.0>
其他算法
❖优先级法:队列中优先级最高的进程投入运 行,而不管CPU周期的长短和其他因素。 ❖轮转法:按一定时间片(记为q)轮番运行各个 进程。如果q是一个定值,则轮转法是一种对 各进程机会均等的调度方法。 ❖多队列反馈法:把就绪进程按优先级排成多 个队列,同队列的进程具有相同的时间片。高 优先级队列的时间片比低优先级队列的小。
IC-MSP<2.0>
Linux进程的属性
❖进程ID; ❖父进程和父进程的ID; ❖用户ID(UID)和所归属Fra Baidu bibliotek组(GID); ❖进程状态:分为运行R、休眠S、僵尸Z; ❖进程执行的优先级; ❖进程所连接的终端名。
IC-MSP<2.0>
Linux进程管理工具 ❖ Ps:监视进程工具 ; ❖ Pgrep:通过程序的名字来查询进程的工具 ; ❖ kill:终止进程 ; ❖ top监视系统任务的工具 。
计算机操作系统
回顾
操作系统概论
操作系统基本概念和发展史
操作系统类型
批处理
分时、实时 网络 分布式
操作系统接口及接口实例
IC-MSP<2.0>
第2 章
进程与线程
IC-MSP<2.0>
本章目标
掌握进程的概念 掌握进程调度的原理 掌握进程通信机制 了解线程的概念
IC-MSP<2.0>
什么是进程
IC-MSP<2.0>
P1
0
P2 P3
t
24 27 30
结果
p1需24ns p2需(24+3)ns p3需要t3=(24+3+3)ns 平均为(24+27+30)/3=27ns
IC-MSP<2.0>
最短周期优先法 将周期短的进程放在前面,长的放在后面。
1
p1 p2 p3
2
p1 p3 p2
3
p2 p1 p3
4
p3 p1 p2
IC-MSP<2.0>
进程与程序的区别 ❖程序是“静止”、无生命的,进程是“活动” 的。 ❖程序可以脱离机器长期保存,而进程是执行着 的程序。 ❖程序不具有并发特征,不占系统资源,进程则 相反,并受到其他进程的制约和影响。 ❖一个程序可对应多个进程。
IC-MSP<2.0>
❖运行状态 ❖就绪状态 ❖等待状态
❖一个线程可以创建和撤销另一个线程; ❖同一进程中的多个线程之间可以并发执行; ❖线程同样有就绪、阻塞和执行三种基本状态。
IC-MSP<2.0>
线程与进程的比较
❖线程是调度和分配的基本单位,而进程是资源拥 有的基本单位; ❖进程间可并发执行,进程中的线程亦可并发执行; ❖进程的调度与切换都是由操作系统内核完成,而 线程则既可由操作系统内核完成,也可由用户程序 进行。
什么是进程 进程是一个可并发执行的具有独立功能的 程序关于某个数据集合的一次执行过程,也是操 作系统进行资源分配和保护的基本单位。简单的 说:程序的一次执行就是一个进程。
IC-MSP<2.0>
进程的特性 ❖一个程序可以派生多个进程。 ❖多个不同程序运行时,也会有多个相对应进程 与其对应。 ❖进程是动态的,有始有终,有生命周期,有进 程状态变化。
进程的三种基本状态
等待态 就绪态
运行态
IC-MSP<2.0>
进程状态的变迁
进进进进
进进1 进进
进进进进
进进3 进进
进进进进进进
进进
进进2 进进
IC-MSP<2.0>
进程调度的概念 进程调度也称为处理机调度,它协调和控制 各进程对CPU的使用。相应的进程调度程序可叫 分配程序或低级调度程序。
IC-MSP<2.0>
IC-MSP<2.0>
CPU调度实例
实例说明
实例目的
CPU调度
模块设计 流程图
模块测试
代码实践
IC-MSP<2.0>
实例说明 功能是模拟CPU的调度,调度策略为基于 动态优先级的调度策略。实例是使用C语言实 现,可以在多种编译工具上进行调试(比如 vc6.0,turbo c等)。
IC-MSP<2.0>
进程调度算法
调度算法
先来先服务 最短周期优先 优先级法 轮转法 多队列反馈法
IC-MSP<2.0>
先来先服务
只考虑进程进入就绪队列的先后,而不考虑 它的下一个CPU周期的长短及其他因素。
p2 p1
p3 p2 p1 进程就绪队列
进程就绪队列
IC-MSP<2.0>
先来先服务举例
设P1占CPU时间为24ns,P2为3ns,P3为3ns。 则执行情况如下所示:
IC-MSP<2.0>
进程1
共享存储原理图
进程2
存储区域
进程3
进程4
IC-MSP<2.0>
进程控制块
进程控制块(PCB)是描述进程名字、状态、程 序段与数据段的数据结构。
PCB
…
私有数据块
…
…
程序段
IC-MSP<2.0>
线程的概念 线程是进程的一个实体,被系统独立调度和 分配。除寄存器和栈等,本身基本不拥有系统资源。
IC-MSP<2.0>
死锁
死锁就是多个进程竞争资源而形成的一种僵持局面
死锁的起因
系统内的资源数量不足 进程推进的顺序不当
防范死锁机制
死锁预防
打破资源的互斥和不可剥夺条件 打破死锁的环路条件
死锁避免(防止系统进入不安全状态)
检测与恢复
IC-MSP<2.0>
进程通信
软中断(通过发送信号给进程来实现) 共享存储(将信息发送到存储区域,供接受进程读取) 共享文件(进程间通过共享文件来传达信息) 消息传递(把一组比特位传递到对方进程的接受地点) 信箱(信箱头和包括若干信格的信箱体组成)
IC-MSP<2.0>
main()
CPU调度流程图
系统运行函数
初始化系统 进程列表
系统运行 标志为1
No
退出程序