计算机操作系统第3章

计算机操作系统第3章

ID:37597977

大小:483.10 KB

页数:153页

时间:2019-05-12

计算机操作系统第3章_第1页
计算机操作系统第3章_第2页
计算机操作系统第3章_第3页
计算机操作系统第3章_第4页
计算机操作系统第3章_第5页
资源描述:

《计算机操作系统第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章进程管理3.1进程的概念3.2进程的描述3.3进程状态及其转换3.4进程控制3.5进程互斥3.6进程同步3.7进程通信3.8死锁问题3.9线程3.1进程的概念现代操作系统的重要特点:程序的并发执行、资源共享、用户随机地使用。1.程序的顺序执行程序的顺序执行:程序独占处理机直至最终结束的过程。程序的顺序执行具有如下特点:(1)顺序性程序顺序执行时,其执行过程可看作一系列严格按程序规定的状态转移过程。(2)封闭性程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。(3)可再现性只要输入

2、的初始条件相同,则无论何时重复执行该程序都会得到相同的结果。2.多道程序系统中程序执行环境的变化多道程序执行的系统环境具有下述三个特点:(1)独立性每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。(2)随机性在多道程序环境下,特别是在多用户环境下,程序和数据的输入与执行开始时间都是随机的。(3)资源共享资源共享将导致对进程执行速度的制约。3.程序的并发执行(1)什么是程序的并发执行并发执行:即一道程序的执行尚未结束;另一道程序的执行已经开始的执行方式。是为了增强计算机系统的处理能力和提高资

3、源利用率所采取的一种同时操作技术。程序的并发执行可进一步分为两种:第一种是多道程序系统的程序执行环境变化所引起的多道程序的并发执行。微观上仍是顺序执行,尽管多道程序的并发执行在宏观上是同时进行的。第二种并发执行是在某道程序的几个程序段中(例如几个程序),包含着一部分可以同时执行或顺序颠倒执行的代码。例如语句:read(a);read(b);它们既可以同时执行,也可颠倒次序执行。对于这样的语句,同时执行不会改变顺序程序所具有的逻辑性质。因此,可以采用并发执行来充分利用系统资源以提高计算机的处理能力。程

4、序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。程序的并发执行不同于程序的并行执行。程序的并行执行是指一组程序按独立的、异步的速度执行。并行执行不等于时间上的重叠。可以将并发执行过程描述为:S0CobeginP1;P2;...PnCoendSn这里,S0,Sn分别表示并发程序段P1,P2,…,Pn开始执行前和并发执行结束后的语句。P1,2,…,Pn也可以由同一程序段中的不同语句组成

5、。1966年Bernstein提出了两相邻语句S1,S2可以并发执行的条件:将程序中任一语句Si划分为两个变量的集合R(Si)和W(Si)。其中R(Si)={a1a2…am},aj(j=1,…,m)是语句Si在执行期间必须对其进行读操作的变量;W(Si)={b1b2…bn},bj(j=1,…,n)是语句Si在执行期间必须对其进行写操作的变量;如果对于两相邻语句S1和S2,有①R(S1)∩W(S2)={∮},②W(S1)∩R(S2)={∮},③W(S1)∩W(S2)={∮}同时成立,则语句S1和S2是

6、可以并发执行的。多道执行与单道执行有何优点:例:有三个程序A、B、C;每个程序都由输入、计算、输出三部分代码组成;记为Ai、Ac、Ao,Bi、Bc、Bo,Ci、Cc、Co;假设各部分代码在相应的设备上执行的时间都为t;在单道环境下:总的运行时间9t,输入设备占用3t,输出设备占用3t。CPU利用率=3t/9t=3/9=33.3% 输入设备利用率=3t/9t=3/9=33.3% 输出设备利用率=3t/9t=3/9=33.3%AiAoAcBiBoBcCiCcCoAiAoAcBiBoBcCiCcCott时

7、间ttttttt多道环境下:总的运行时间5t,输入设备占用3t,输出设备占用3t。CPU利用率=3t/5t=3/5=60% 输入设备利用率=3t/5t=3/5=60% 输出设备利用率=3t/5t=3/5=60%CPU时间片进程A进程B进程CtAiAcAoBiBcBoCiCcCotttt输入设备输出设备CPU(2)程序的并发执行所带来的影响程序的并发执行充分地利用了系统资源,从而提高了系统的处理能力,这是并发执行好的一方面。但是,正如前面所提到的那样,由于系统资源有限,程序的并发执行必然导致资源共享和

8、资源竞争,从而改变程序的执行速度。如果并发执行的各程序段中语句或指令满足上述Bernstein的三个条件,则认为并发执行不会对执行结果的封闭性和可再现性产生影响。但在一般情况下,系统要判定并发执行的各程序段是否满足Bernstein条件是相当困难的。从而,如果并发执行的程序段不按照特定的规则和方法进行资源共享和竞争,则其执行结果将不可避免地失去封闭性和可再现性。下面的例子说明了这一点。堆栈的取数和存数过程图例:设有堆栈S,栈指针top,栈中存放内存中相应数据块地址(如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。