电子科大 蒲晓蓉 操作系统第二讲.docx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档