- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 进程管理
???????本章要点
基础:进程描述及控制
策略:进程调度
实现:互斥与同步
避免:死锁与饥饿
解决:几个经典问题
关于:进程通信2.1进程的引入
???????程序顺序执行
程序:源代码程序、目标程序和可执行程序
程序执行:编辑、编译、链接、执行
程序的结构:顺序结构、分支结构和循环结构
程序顺序执行的特征:顺序性、封闭性、可再现性
???????程序并发执行
多道程序设计技术:多个程序并发执行
程序并发执行时的特征间断性、非封闭性、不可再现性。
???????程序并发执行引发的问题
协调各程序的执行顺序
例如,当输入的数据还未全部输入内存时,计算必须等待
多个执行程序共享系统资源,程序之间可能会相互影响,甚至影响输出结果
选择哪些、多少个程序进入内存执行?
内存中的执行程序谁先执行
内存如何有效分配?
???????进程的概念
定义:可并发执行的程序,在一个数据集合上的运行过程。
申请/拥有资源???调度(线程)
程序:静态概念,是指令和数据的集合,可长期存储
进程与程序对应关系
一个程序可以对应一个进程或多个进程
一个进程可以对应一个程序,或者一段程序
???????进程的特征
动态性
并发性
独立性
异步性
引入进程带来的问题
增加了空间开销:为进程建立数据结构
额外的时间开销:管理和协调、跟踪、填写和更新有关数据结构、切换进程、保护现场
更难控制:
协调多个进程竞争和共享资源如何预防
解决多个进程因为竞争资源而出现故障
处理机的竞争尤为突出
????
???进程的结构
组成(进程映像):程序、数据集合、进程控制块PCB(Process Control Block)
PCB是进程存在的唯一标志。创建进程时,创建PCB;进程结束时,系统将撤销PCB
???????PCB
进程标识信息:进程的内部和外部标识符
处理机状态信息:通用寄存器值、指令寄存器值、程序状态字值、用户栈指针值
进程调度信息:进程状态、进程优先权、进程调度的其他信息
其他信息:程序及数据地址、进程同步和通讯机制、资源清单、链接指针
?PCB的组织方式
???????单队列
所有进程的PCB通过链表组织成为一个单一队列。适用于进程数目不多的系统。(过多导致查找过于频繁)如,Windows操作系统
???????表格结构
PCB按进程状态不同,组织成不同的表格:就绪进程表、执行进程表(多级系统中)及阻塞进程表
系统分别记载各PCB表的起始地址。
???????多级队列
PCB按进程状态不同用链接指针组成不同队列:就绪进程队列、阻塞进程队列(可按阻塞原因不同,分别组织)
系统分别记载各PCB链表的起始地址
2.2 进程的状态
进程执行轨迹
进程的轨迹:进程执行的指令序列,用以观察处理机的执行过程????????????????????????????????????????
???两状态进程模型
?两状态:执行、未执行
?进程获得处理机,进入执行状态;当时间片结束或其它某种原因,进程释放处理机,暂停执行,处于未执行状态?
??两状态进程模型:
????1队列形式
注:并非所有进程只要“未执行”就处于就绪,有的需要阻塞等待I/O完成
???未执行又分为就绪和阻塞
????进程的五状态
执行状态(Running)
就绪状态(Ready)
阻塞状态(Blocked)
新状态(NEW)
终止状态(Terminated)?
1新状态:进程已经创建,但未被OS接纳为可执行进程
2就绪状态:准备执行
3执行状态:占用处理机(单处理机环境中,某一时刻仅一个进程占用处理机)
4阻塞状态:等待某事件发生才能执行,如等待i/0完成等
5终止状态:因停止或取消,被OS从执行状态释放。
空-新状态新创建的进程首先处于新状态
新状态??就绪状态??当系统允许增加就绪进程时,操作系统接纳新建状态进程,将它变为就绪状态,插入就绪队列中。
就绪状态??执行状态??当处理机空闲时,将从就绪队列中选择一个进程执行,该选择过程称为进程调度,或将处理机分派给一个进程,该进程状态从就绪转变为执行。
执行状态终止状态??执行状态的进程执行完毕,或出现诸如访问地址越界、非法指令等错误,而被异常结束,则进程从执行状态转换为终止状态。
执行状态??就绪状态分时系统中,时间片用完,或高优先级的进程到来,将中断较低优先级进程的执行。进程从执行状态转变为就绪状态,等待下一次调度。
执行状态阻塞状态??执行进程需要等待某事情发生。通常,会因为进程需要的系统调用不能立即完成,如读文件、共享虚拟内存、等待i/0操作、等待另一进程与之通信等事件而阻塞。
阻塞状态??就绪状态当阻塞进程等待的事情发生,就转换为就绪状态。进入就绪队列排队,等待被调度执行。
?
注:某些系统允许父进程在任何情况下终止其子进程。
文档评论(0)