网站大量收购闲置独家精品文档,联系QQ:2885784924

第二节_处理机管理1_2.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
补充内容 处理机的执行状态分系统态和用户态两种: (1)系统态(管态、核心态):有较高特权,能执  行一切指令,访问所有寄存器和存储区。 (2)用户态(目态):有较低特权,能执行规定指令,访问指定寄存器和存储区。  用户程序运行在用户态,不能执行OS指令及区域。 OS内核运行在系统态,进程控制是由OS内核实现的。 第2章 处理机管理 2.1 概述 2.2 进程及其状态 多用户 程序 程序的执行有两种方式:顺序执行和并发执行。 顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统; 现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。 图2-1 程序的顺序执行 这是最自然、也是最初的设计。仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。 S1: a:=x+y; S2: b:=a-5; S3: c:=b+1; 程序的顺序执行 程序顺序执行时的特征 (1)顺序性:处理机的操作严格按照程序所规定的顺序执行,只有当上一个操作完成后,下一个操作才能执行。 (2)封闭性:程序运行在一个封闭的环境中,即程序运行时独占系统的全部资源,这些资源的状态只能因程序的执行而改变,不受任何外界因素的影响。 (3)可再现性:由于程序顺序执行的封闭性,只要程序顺序执行的初始条件和环境相同,则不论何时执行,也不论程序执行期间是否存在停顿,程序所得的结果也相同。 结论:正由于程序顺序执行的特点,程序员可以方便地检测和重现程序的错误,可以方便地调试和校正程序。 程序的并发执行及其特征 1.程序的并发执行 并发程序执行图 并发程序 对比于顺序程序,程序并发执行时的特征: 间断性 程序在并发执行时,由于共享资源,或者需要相互合作,致使相互间产生了制约关系,呈“走走停停”的间断执行特征。 失去封闭性 程序并发执行时的系统环境(主要指各程序所共享的系统资源的状态)是由多个程序来改变的,因而失去了封闭性。 难以再现性 程序在并发执行时的中间结果与其执行速度等有关,具有不确定性。 I1 I2 I3 I4 C1 C2 C4 C3 P1 P2 P3 P4 例如,有两个程序A和B,它们共享一个变量N(初始值为x)。 A: N:=N+1 B: Print(N); N:=0; 程序A和B并发执行,以不可预知的速度运行,可出现以下三种情况: (1)N:=N+1在Print(N)和N:=0之前,此时得到的N值分别为x+1, x+1, 0。 (2)N:=N+1在Print(N)和N:=0之后,此时得到的N值分别为x, 0, 1。 (3)N:=N+1在Print(N)和N:=0之间,此时得到的N值分别为x, x+1, 0。 补充:并发执行失去封闭性的原因是共享资源的影响,去掉这种影响就行了。1966年,由Bernstein(波恩斯坦)给出并发执行的条件。若两个程序P1和P2满足下述条件,便能并发执行且有可再现性: (R(P1)?W(P2))?(R(P2)?W(P1))?(W(P1)?W(P2))={} 解释: 运算的读集R(Pi)是指在运算执行期间参考的所有变量的集合; 运算的写集W(Pi)是指在运算执行期间要改变的所有变量的集合。 存在的问题是这个条件不好检查 例: S1: a:=x+y R(S1)={x,y} W(S1)={a} S2: b:=z+1 R(S2)={z} W(S2)={b} S3: c:=a-b R(S3)={a,b} W(S3)={c} S4: d:=c+1 R(S4)={c} W(S4)={d} 可见: 语句S1和S2可以并发执行吗? 语句S1和S3可以并发执行吗? 语句S2和S3可以并发执行吗? 语句S3和S4可以并发执行吗? 语句S2和S4可以并发执行吗? (R(S1)?W(S2)) ?(R(S2)?W(S1))?(W(S1)?W(S2))={} 可以 不可以,因为: R(S3)?W(S1)={a}?{} 不可以,因为: R(S3)?W(S2)={b}?{} 不可以,因为: R(S4)?W(S3)={c}?{} 可以 程序任意并发执行具有一些新的特征(间断性、无封闭性、难以再现性),旧的程序的概念已不足以刻画这种并发执行的程序及其执行所产生的新特征。为使程序能并发执行,且为了能对并发执行的程序加以描述和控制而引入进程。简言之,为了实现程序的并发执行。 进程的引入 2.2 进

文档评论(0)

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

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

1亿VIP精品文档

相关文档