- 1、本文档共26页,可阅读全部内容。
- 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.1 进程概念
第2章 进程管理;2.1 进程的概念;I1; 程序的顺序执行具有如下特点:; 2.程序的并发执行及其特性;I1; 程序的并发执行,是否还能保持顺序执行时的特性呢?下面我们通过例子来说明程序并发执行时的特性。
设有观察者和报告者并行工作。在一条单向行驶的公路上经常有卡车通过。观察者不断观察并对通过的卡车计数,报告者定时地将观察者的计数值打印出来,然后将计数器重新清“0”。此时我们可以写出如下程序,其中parbegin表示多个程序可以并发执行。
;
int n=0;void observer(void){ while (1) {
…
n=n+1; remainder of observer; }}
void reporter(void){ while(TRUE) {
… print(n); n=0; remainder of reporter; }
}void main( )
{
parbegin(observer( ),reporter( ));
}
; 由于观察者和报告者各自独立地并行工作,n=n+1的操作,既可以在报告者的print (n) 和n=0操作之前,也可以在其后,还可以在print (n) 和n=0之间,即可能出现以下三种执行序列:
① n=n+1;print(n) ;n=0;
② print(n) ;n=0 ;n=n+1;
③ print(n) ;n=n+1 ;n=0;
假设在开始某个循环之前,n的值为s,则在完成一个循环后,对上述三个执行序列打印机打印的n值和执行后的n值如下表所示:
;执行序列; 由上表可见,由于观察者和报告者的执行速度不同,导致了计算结果的不同,这就是说,程序并发执行已丧失了顺序执行所保持的封闭性和可再现性。而产生了如下一些新的特征:
① 间断性
② 失去封闭性
③ 不可再现性?
;程序的并发执行所表现出的特性说明以下两个问题:
⑴ 程序和计算机执行程序的活动不再一一对应
⑵ 并发程序间存在相互制约关系
程序之间的制约关系有两种:
直接制约关系和间接制约关系。
① 直接制约关系通常是在彼此之间有逻辑关系的两个并发执行的程序之间发生的,一般是由于各个程序段要求共享信息引起的。
② 间接制约关系是由于两个并发程序段由于竞争使用同一资源引起的,得到资源的程序段可以继续执行,得不到资源的程序段就只好暂停等待,直至获得可用资源时再继续运行。
;2.1.2 进程定义; 为了强调进程的并发性和动态性,我们给进程作如下定义:
进程是可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。
;2.1.3 进程状态及其转换;就绪;2. 具有挂起状态的进程状态转换;执行;2.1.4 进程控制块 ; 在通常的操作系统中,PCB应包含如下一些信息:
① 进程标识信息。
② 位置信息。
③ 状态信息。
⑤ 进程现场保护区。
⑥ 资源清单。
⑦ 队列指针或链接字。
⑧ 其它信息。;;② 链接表方式:系统按照进程的状态将进程的PCB链接成队列,从而形成就绪队列、阻塞队列、运行队列等。按链接方式组织PCB的情况如图2.6。
③ 索引表方式:系统按照进程的状态分别建立就绪索引表、阻塞索引表等,通过索引表来管理系统中的进程。按索引方式组织PCB的情况如图2.7。
;执行指针;执行指针;2.1.5 进程的特性; 进程通常分为两类,一类是系统进程,另一类是用户进程。它们的区别是:
① 系统进程是操作系统用来管理系统资源并行活动的并发软件;用户进程是可以独立???行的用户程序段,它是操作系统提供服务的对象,是系统资源的实际使用者。
② 系统进程之间的关系由操作系统自己负责,这样有利于增加系统的并行性,提高资源的利用率;用户进程之间的关系主要由用户自己负责,为了便于用户管理自己的任务,操作系统提供一套简便的任务调用命令作为协调手段,并在用户区根据用户作业的性质(是单任务还是多任务)装入相应的任务调度程序。
③ 系统进程直接管理有关的软、硬设备的活动;用户进程只能间接地和系统资源发生关系,当用户进程需要某种资源时,它必须向系统提出请求,由系统调度和分配。
④ 在进程调度中,系统进程的优先级高于用户进程。无论是系统进程还是用户
文档评论(0)