操作系统本科2进程的描述与控制区修改Word文件下载.docx
- 文档编号:15309866
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:33
- 大小:282.38KB
操作系统本科2进程的描述与控制区修改Word文件下载.docx
《操作系统本科2进程的描述与控制区修改Word文件下载.docx》由会员分享,可在线阅读,更多相关《操作系统本科2进程的描述与控制区修改Word文件下载.docx(33页珍藏版)》请在冰豆网上搜索。
1.顺序性
处理机的操作,严格按照程序所规定的顺序执行,即只有前一操作结束后,才能执行后继操作。
2.封闭性
程序是在封闭的环境下运行的。
即程序在运行时,它独占全机资源,因而机内各资源的状态(除初始状态外),只有本程序才能改变它。
程序一旦开始运行,其执行结果不受外界因素的影响。
3.可再现性
只要程序执行时的环境和初始条件相同,当程序多次重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都将获得相同的结果。
程序顺序执行时的特性,将为程序员检测和校正程序的错误,带来极大的方便。
3.1.3程序并发执行
一.程序并发执行
对于具有下列四条语句的程序段:
S1:
a:
=x+2;
S2:
b:
=y+4;
S3:
c:
=a+b;
S4:
d:
=c+8;
其前趋图如图2-4。
二、程序并发执行时的特征
程序的并发执行,虽然提高了系统吞吐量,但也产生了下述一些与顺序执行时不同的新特征:
1.间断性(并发程序间的相互制约)
程序在并发执行时,由于它们共享资源或为完成同一项任务而相互合作,致使在并发程序之间形成了相互制约的关系。
简言之,相互制约将导致并发程序具有“执行----暂停执行----执行”这种间断性的活动规律。
2.失去封闭性
程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。
3.不可再现性(程序和机器执行程序的活动不再一一对应)
三.并发进程间的关系
并发进程间的关系可以是无关的,也可以是有交往的。
并发进程间无关是指它们是各自独立的,即如果一个进程的执行不影响其他进程的执行,且与其它进程的进展情况无关;
并发进程间有交往是指一个进程的执行可能影响其他进程的执行结果,即一个进程的执行依赖其他进程的进展情况。
有交往的并发进程一定共享某些资源。
四.与时间有关的错误
例1:
由观察者和报告者两个进程管理交通路口的自动计数系统。
观察者识别卡车并计数,报告者定时把观察者的计数值打印输出,然后把计数值清0。
当这两个进程并发执行时,若报告者进程执行时无卡车通过,则能正确统计某时间段内的卡车数量;
若报告者进程执行时有卡车通过,统计结果会产生错误。
begin
count:
integer;
=0;
cobegin
PR0CESSObserver
L1:
observealorry;
=count+1;
①
gotoL1;
end;
PROCESSReporter
printcount;
②
=0;
③
coend;
end;
执行的顺序
打印的结果
count的结果
①→②→③
1
②→③→①
②→①→③
有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,在使用共享资源时会出错。
这里的共享变量是count,观察者进程的临界区是“count:
=count+1”,在报告者进程中的临界区是“printcount;
count:
=0”。
由于对临界区不作管理,所以会产生与时间有关的错误。
3.2进程的描述3.2.1进程的定义与特征
一.进程的定义
中央处理器(CPU)是计算机系统中的重要资源之一。
在单道程序设计环境下,CPU被一道程序独占,CPU严格按程序的指令顺序来执行。
单道程序独占计算机系统的所有资源,只有程序本身的动作才能改变这些资源的状态,所以其具有封闭性。
顺序执行的程序的运行结果与其运行速度无关,也就是说,同一程序在同一数据集上的多次运行的结果是相同的,具有可再现性。
在单道程序环境下,CPU和其他资源被一个程序独占,资源利用率很低,造成了很大的浪费。
为了提高CPU的利用率,采用了多道程序设计技术,系统中有多个程序同时运行。
此时的程序具有下述特点:
(1)程序的运行结果与它们的相对速度有关。
(2)程序与它的执行过程不再一一对应。
(3)并发程序之间存在直接或间接的依赖和制约关系。
总之,程序一旦运行起来,它不但与程序本身有关,而且与它运行时所处的运行环境有关,程序的活动不再是静态的、封闭的,而显现出并发性、动态性以及相互制约的关系。
所以用程序的概念已经不能描述上述这些特征,于是引入进程的概念。
进程是程序及其数据在计算机上的一次运行,是系统进行调度和资源分配的独立单位。
进程的概念能很好地描述程序的并发执行,并且能够揭示操作系统的内部特征。
事实上,操作系统的并发性和共享性等特征就是通过进程的活动体现出来的。
二.进程的特征:
(1)动态性:
进程是程序的一次执行,它有着创建、活动、暂停、终止等过程,具有一定的生命期,是动态地产生、变化和消亡的。
(2)并发性:
进程之间的动作在时间上可以重叠,即系统中有若干进程都已经开始,但又没有结束,称这些进程为并发进程。
(3)独立性:
进程是系统调度和资源分配的独立单位,它具有相对独立的功能,拥有自己独立的进程控制块PCB。
(4)异步性:
各个并发进程按照各自独立的、不可预知的速度向前推进。
(5)交互性:
由于并发进程之间具有直接或间接的关系,在运行过程中它们之间需要进行必要的交互(同步、互斥和数据通信等),以完成特定的任务。
(6)结构性:
从结构上看,进程实体是由程序段、数据段和进程控制段三部分组成。
三.进程和程序的区别与联系
(1)进程是程序及其数据在计算机上的一次运行活动,它属于一种动态的概念。
进程的运行实体是程序,离开程序进程没有存在的意义。
从静态角度看,进程是由程序、数据和进程控制块PCB三部分组成的。
而程序是一组有序的指令集合,属于一种静态的概念。
(2)进程是程序的一次执行过程,它是动态地创建和消亡的,具有一定的生命期,是暂时存在的;
而程序则是永久存在的,可长期保存。
(3)一个进程可以执行一个或几个程序,一个程序也可以构成多个进程。
3.2.2进程的状态及相互转换
进程在其生命期内,由于系统中各进程之间的相互制约关系及系统的运行环境的变化,使得进程的状态在不断地发生变化。
一般来说,一个进程会处于几种状态。
一.进程的三个基本状态
(1)就绪状态:
若进程已具备了运行条件,只因CPU被别的进程占用而不能被CPU执行,则称此时进程处于就绪状态。
一旦把CPU分配给它,该进程就可以运行。
从宏观上讲,它是一种逻辑上的可运行状态。
系统中处于就绪状态的进程可以有多个。
(2)执行状态:
当一个进程已分配到CPU,它的程序正在被CPU执行时进程所处的状态称执行状态,也称为运行状态。
对于单CPU系统而言,处于执行状态的进程只可能有一个。
(3)等待状态:
进程因等待某种事件的发生而暂时不能运行的状态称等待状态,例如,等待输人/输出、等待进程间的同步/互斥等。
一旦引起等待的原因消失,进程便转为就绪状态。
以便在适当的时候占用CPU。
系统中处于等待状态的进程可以有多个。
有的系统按照进程不同的等待原因,把处于等待状态的进程又分成多种状态。
二.创建(新)状态和终止状态
(1)创建(新)状态:
一个进程刚刚建立,但还未将它插入就绪对列时的状态。
(2)终止状态:
一个进程已经正常结束或异常结束,OS已将它从就绪对列中移出,但尚未将它撤消时的状态。
进程的动态性决定了它不会固定处于某个状态,系统中的进程由于各种不同的原因在以上各个状态之间变化。
其状态变化及原因如图2.5所示。
如果等待的事件发生,处于等待状态的进程并不马上转入执行状态,而是先转入就绪状态,然后再由系统调度程序在适当的时候将该进程转为执行状态,这样进程转成执行状态(这一过程)由调度程序统一管理,就不会引起混乱。
三.进程状态的转换
1.创建(新)状态→就绪状态:
2.就绪状态→执行状态:
3.执行状态→等待状态:
4.执行状态→就绪状态:
5.执行状态→终止状态:
3.2.3进程的挂起状态
一.挂起状态的引入
引入挂起状态的原因有:
1.终端用户的需要;
2.父进程的需求:
3.操作系统的需要;
4.对换的需要;
5.系统负荷调节的需要;
二.带有挂起状态时的进程状态转换
1.活动就绪→静止就绪:
当过程处于未被挂起的就绪状态时,称此为活动就绪状态,表示为Ready。
当用挂起原语Suspend将该进程挂起后,该进程便转变为静止就绪状态,表示为Readys,处于Readys状态的进程,不再被调度执行。
2.活动阻塞→静止阻塞:
当进程处于未被挂起的阻塞状态时,称为它处于活动阻塞状态,表示为Blocked当用Suspend原语将它挂起后,进程便转变为静止阻塞状态,表示为Blockeds。
处于该状态的进程,在其所期待的事件出现后,它将从静止阻塞变为静止就绪。
3.静止就绪→活动就绪:
处于Readys状态的进程,若用激活原语Active激活后,该进程将转变为Ready状态。
4.静止阻塞→活动阻塞:
处于Blockcds状态的进程,若用激活原语Active激活后,进程将转变为Blocked状态。
图2-6示出了具有挂起状态的进程状态图。
3.2.4进程的表示
一.进程控制块PCB的作用
进程通常有程序、数据集合和进程控制块三部分。
系统在对进程管理时并不关心进程的具体内容,而只关心它的外部特性。
于是系统通过建立进程控制块PCB来描述和管理进程。
进程控制块PCB与进程一一对应,用于描述进程的特征和变化过程,PCB中记录了操作系统所需的、用于描述进程情况及控制进程运行所需的全部信息,系统可以通过PCB对进程进行管理,可以说PCB是进程存在的唯一标志。
当进程被创建时,系统要为其分配一个PCB,在进程的生命期内系统利用该PCB对其进行管理,进程运行结束后要释放PCB。
这时的进程实际上由程序、数据和PCB三部分组成。
不同的进程可以共享同一段程序而对不同的数据进行处理。
这时要求被共享的程序段必须是纯代码。
所谓纯代码,又称为可再入码,是可以为多个进程共享的程序段,代码不因程序的执行而改变。
二.PCB的内容和管理:
PCB中记录了有关进程的一些描述信息和控制信息,包括进程标识符、进程当前的状态、优先级、进程放弃CPU时的现场信息,以及指示组成进程的程序和数据在存储器中存放位置的信息、资源使用信息、进程各种队列的链接指针和反映进程之间的隶属关系的信息等。
为了实现对进程的管理,系统把所有进程的PCB按其状态实行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 本科 进程 描述 控制区 修改