- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 进程管理 Process Management 在传统操作系统中,资源分配和独立运行的基本单位是进程。OS的四大特征也都是基于进程而形成的。 进程管理的主要功能是把处理机分配给进程以及协调各个进程之间的相互关系。由进程调度程序和进程控制程序两部分内容组成。 本章主要内容 进程的基本概念 进程控制 进程同步 经典进程同步问题 管程机制 进程通信 线程 二、程序顺序执行(Sequential Execution of Program) 程序执行时,仅当前一操作完成后,才能执行后继操作。 Bernstein条件:若两个程序(进程)p1、p2能满足下述条件,则它们便能并发执行,且具有可再现性: R(p1)∩W(p2)∪R(p2) ∩W(p1) ∪W(p1) ∩W(p2) ={ } 可理解为: 一个任务的一次执行对应一个进程。 注 意! 三种基本状态的变换体现了OS的资源管理作用。 进程的核心思想在于运行——CPU资源的分配。 通常进程从执行态到阻塞态是主动行为。 进程从阻塞态到就绪态是被动行为。 不可能出现的状态转换: 就绪?阻塞 阻塞?运行 六、进程控制块( Process Control Block) (一)PCB的作用 作用:使一个在多道程序环境下不能独立运行的程序,变成一个能独立运行的基本单位,一个能与其它进程并发执行的进程。 PCB是进程存在的唯一标识。 PCB是OS中最重要的记录型数据结构。它记录了OS所需的用于描述进程情况及控制进程运行的全部信息。 2.2 进程控制Process Control 由进程终止原语Destroy()完成。 输入参数:进程号 返回:成功或失败标记 功能:撤销指定进程的PCB,收回该进程拥有的全部资源 步骤: 1)由标识符,在PCB集中检索其PCB,读取状态; 2)若“执行”则终止运行,并进行进程调度。 3)查其子孙进程,若有则对其Destroy(); 4)归还资源给父进程或系统; 5)将被终止进程的PCB从所在队列中移出; 由阻塞原语Block()实现。 正在执行的进程本身调用Block,是一个主动行为。 1)停止进程的执行; 2)改状态“执行”为“阻塞”,插入相应阻塞队列; 3)重新调度(进行切换,即保留现场,重设现场)。 2.3 进程同步 Process Synchronization 进程同步的主要任务是使并发执行的诸进程间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。 同步与互斥比较 1、利用软件方法解决进程互斥问题 2、利用硬件方法解决进程互斥问题 3、用信号量解决进程互斥问题 (四)信号量机制 Ⅰ、整型信号量机制(Integer Semaphore) Ⅱ、记录型信号量机制(Record-type Semaphore) 例:系统有两台打印机,有多个需要执行打印操作的进程,描述各个进程的执行。 Ⅲ、信号量集机制(semaphore set) 实例:三个进程执行中要共享变量count。?? 分析:count属于临界资源,对其应互斥访问。 二、进程同步 Sempty :是Pp进程运行结束发送的信号量,是Pc运行需要等待的信号量,用于判断Buf是否为空。若空则为1,否则为0。 Sfull:是Pc进程运行结束发送的信号量,是进程Pp运行需要使用的信号量,用于判断Buf中是否有数据。有数据为1,无数据为0。 初始: Sempty =1, Sfull =0 问题分析 1设bufempty为Pa私用信号量,buffull为Pb私用信号量。 内核的功能 在不同操作系统中,内核功能不尽相同,但大多数操作系统内核都包含如下功能: 时钟管理:操作系统的许多活动都需要时钟,如分时中的基于时间片的进程调度; 中断处理:是操作系统赖以活动的基础; 原语操作:内核中的原语操作完成操作系统中的一些基本功能,如进程控制、进程同步等。 原 语 处理机执行状态 禁止中断方式解决进程互斥 使每个进程在进入临界区后立即关闭所有中断。 原因:在时钟中断或其他中断出现时才会发生CPU进程切换。由于禁止中断,所以不会发生进程切换。因此,一旦禁止中断后,进程运行过程中不必担心其他进程的干扰。 缺陷: 一旦某进程关闭中断后,如果它不再开放中断,则系统可能会因此而终止。 多处理器系统中无效。因为关闭中断仅对执行本指令的CPU起作用,其他CPU照常运行,因此不能保障对临界区的互斥进入。 一个信号量表示一类资源,当一个进程需要获得两类或更多类资源才能运行时,可使用信号量集。 1 AND
文档评论(0)