- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统 2进程描述与控制(4学时)
第2章 进程描述与控制 2.1 进程的引入 2.2 进程的定义 2.3 进程的描述 2.4 进程控制 2.5 线程 2.1 进程的引入 2.1.1 程序的顺序执行 2.1.2 程序的并发执行 2.1.3 程序并发执行的条件 2.1.1 程序的顺序执行 程序的执行有两种方式:顺序执行和并发执行。 顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统; 现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。 1、程序的顺序执行定义 程序的顺序执行:具有独立功能的程序独占 CPU直至得到最终结果的过程。视频 2、顺序执行的特征 顺序性:按照程序结构所指定的次序(可能有分支或循环) 封闭性:独占全部资源,计算机的状态只由于该程序的控制逻辑所决定 可再现性:初始条件相同则结果相同。如:可通过空指令控制时间关系。 2.1.2 程序的并发执行 1、程序并发执行的目的: 提高计算机的处理能力 提高资源利用率 2、分为两种形式: 多道程序环境下的多道程序的并发执行 在某道程序的几个程序段中,包含可同时执行或可颠倒顺序执行的代码。 3、定义:程序的并发执行是指一组在逻辑上互相独立的程序或程序段在执行时间上客观上互相重叠,即一个程序或程序段的执行尚未结束,另一个程序(段)的执行已经开始的执行方式。视频 程序的并发执行 并发:在一段时间内的同时并行 并行:在同一物理时刻的同时 4、并发执行的特征 间断(异步)性:走走停停,一个程序可能走到中途停下来,失去原有的时序关系; 失去封闭性:共享资源,受其他程序的控制逻辑的影响。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。 失去可再现性:失去封闭性 -失去可再现性;外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。 5、不加控制的并发执行所带来的影响 例:两个循环程序A和B它们共享变量N。程序A每执行一次,都要做N:=N+1操作;程序B每执行一次,都要执行Print(N)操作,然后将N置0。程序A和B以不同的速度运行。这样可能出现三种情况(假定某时刻变量N 的值为 n) 例的说明 程序A和B的并发执行,产生了错误的结果,不同执行顺序得到不同的结果,程序的执行不再具有封闭性和结果的可再现性。 原因:对公共变量N的共享引起的。 为了获得结果的可再现性,程序的并发执行是需要条件的。 2.1.3 程序并发执行的条件 程序 P(i) 针对的读变量集和写变量集 为R(i)和W(i) R(Pi)={a1,a2,…am}:表示程序在执行期间所需参考的变量的集合 W(Pi)={b1,b2,…bm}:表示程序在执行期间所需改变的变量的集合 例如:语句c:=a-b,则R(c:=a-b)={a,b} W(c:=a-b)={c} 程序 P(i) 针对的读变量集和写变量集 为R(i)和W(i) 任意两个程序P(i)和P(j)可并发的条件: R(i)?W(j)=?,and W(i)?R(j)=?, and W(i)?W(j)=? 2.2 进程的定义 进程描述了程序的动态执行过程; 它对应虚拟处理机、虚拟存储器和虚拟外设等资源的分配和回收; 反映系统中程序执行的并发性、随机性和资源共享 引入多进程,提高了对硬件资源的利用率,但又带来额外的空间和时间开销,增加了OS 的复杂性; 2.2.2 进程的特征 动态性: 进程对应程序的执行 进程是动态产生,动态消亡的 进程在其生命周期内,在三种基本状态之间转换 独立性:各进程的地址空间相互独立,除非采用进程间通信手段; 并发性:任何进程都可以同其他进程一起向前推进 异步性:每个进程都与其相对独立的不可预知的速度向前推进 结构化:进程 = 代码段 + 数据段 + PCB 2.2.3 进程与程序的关系 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制。 进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。 进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。 2.3 进程的描述 2.3.1 进程的组成 2.3.2 进程控制块PCB 2.3.3 进程的状态及其转换 2.3.1 进程的组成 进程 = 程序 + 数据 + 进程控制块PCB 程序是进程的不可缺少的组成部分;如果一个程序段允许被共享,则它应该是可重入的,或纯代码段 数
文档评论(0)