1/153
0/100
您的浏览器不支持进度条
下载所得到的文件列表
计算机操作系统第3章进程管理教学讲义.ppt
文档介绍:
计算机操作系统第3章进程管理教学讲义.ppt第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.多道程序系统中程序执行环境的变化多道程序执行的系统环境具有下述三个特点:(1)独立性每道程序都是逻辑上独立的,它们之间不存在逻辑上的制约关系。(2)随机性在多道程序环境下,特别是在多用户环境下,程序和数据的输入与执行开始时间都是随机的。(3)资源共享资源共享将导致对进程执行速度的制约。read(a); read(b);它们既可以同时执行,也可颠倒次序执行。对于这样的语句,同时执行不会改变顺序程序所具有的逻辑性质。因此,可以采用并发执行来充分利用系统资源以提高计算机的处理能力。程序的并发执行可总结为:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。程序的并发执行不同于程序的并行执行。程序的并行执行是指一组程序按独立的、异步的速度执行。并行执行不等于时间上的重叠。可以将并发执行过程描述为:S0 Cobegin P1;P2;...Pn Coend Sn这里,S0,Sn分别表示并发程序段P1,P2,…,Pn开始执行前和并发执行结束后的语句。P1,2,…,Pn也可以由同一程序段中的不同语句组成。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是可以并发执行的。多道执行与单道执行有何优点:例:有三个程序A、B、C;每个程序都由输入、计算、输出三部分代码组成;记为Ai、Ac、Ao,Bi、Bc、Bo,、Co;假设各部分代码在相应的设备上执行的时间都为t;在单道环境下:总的运行时间9t,输入设备占用3t,输出设备占用3t。 CPU利用率=3t/9t=3/9=33.3% 输入设备利用率=3t/9t=3/9=33.3% 输出设备利用率=3t/9t=3/9=33.3%ott时间ttttttt多道环境下:总的运行时间5t,输入设备占用3t,输出设备占用3t。 CPU利用率=3t/5t=3/5=60% 输入设备利用率=3t/5t=3/5=60% 输出设备利用率=3t/5t=3/5=60%otttt输入设备输出设备CPU(2)程序的并发执行所带来的影响程序的并发执行充分地利用了系统资源,从而提高了系统的处理能力,这是并发执行好的一方面。但是,正如前面所提到的那样,由于系统资源有限,程序的并发执行必然导致资源共享和资源竞争,从而改变程序的执行速度。如果并发执行的各程序段中语句或指令满足上述Bernstein的三个条件,则认为并发执行不会对执行结果的封闭性和可再现性产生影响。但在一般情况下,系统要判定并发执行的各程序段是否满足Bernstein条件是相当困难的。从而,如果并发执行的程序段不按照特定的规则和方法进行资源共享和竞争,则其执行结果将不可避免地失去封闭性和可再现性。下面的例子说明了这一点。 内容来自淘豆网www.taodocs.com转载请标明出处.