操作系统4.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:36 大小:3.6MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

操作系统4.doc

操作系统4.doc

预览

免费试读已结束,剩余 26 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第四章进程管理为了描述程序在并发执行时对系统资源的共享,我们需要一个描述程序执行时动态特征的概念,这就是进程或线程。在本章中,我们将讨论进程的概念和进程间的关系。4.1进程(process)4.1.1程序的顺序执行和并发执行程序的执行有两种方式:顺序执行和并发执行。顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统;现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。顺序执行的特征顺序性:按照程序结构所指定的次序(可能有分支或循环)封闭性:独占全部资源,计算机的状态只由于该程序的控制逻辑所决定可再现性:初始条件相同则结果相同。如:可通过空指令控制时间关系。并发执行的特征间断性:“走走停停”,一个程序可能走到中途停下来,失去原有的时序关系;失去封闭性:共享资源,受其他程序的控制逻辑的影响。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。失去可再现性:失去封闭性->失去可再现性;外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。并发执行的条件:达到封闭性和可再现性并发执行失去封闭性的原因是共享资源的影响,去掉这种影响就行了。1966年,由Bernstein给出并发执行的条件。程序P(i)针对共享变量的读集和写集R(i)和W(i)条件:任意两个程序P(i)和P(j),有:R(i)W(j)=;W(i)R(j)=;W(i)W(j)=;前两条保证一个程序的两次读之间数据不变化;最后一条保证写的结果不丢掉。现在的问题是这个条件不好检查。4.1.2进程的定义和描述1.进程的定义一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。它对应虚拟处理机、虚拟存储器和虚拟外设等资源的分配和回收引入多进程,提高了对硬件资源的利用率,但又带来额外的空间和时间开销,增加了OS的复杂性2.进程的特征动态性:进程具有动态的地址空间(数量和内容),地址空间上包括:代码(指令执行和CPU状态的改变)数据(变量的生成和赋值)系统控制信息(进程控制块的生成和删除)通常不可在计算机之间迁移--程序通常对应着文件,静态,可以复制独立性:各进程的地址空间相互独立,除非采用进程间通信手段,并发性、异步性:“虚拟”结构化:代码段,数据段和核心段(在地址空间中)--程序文件中通常也划分了代码段和数据段,而核心段通常就是OS核心(由各个进程共享,包括各进程的PCB)3.进程与程序的区别进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。进程是暂时的,程序的永久的:进程是一个状态变化的过程,程序可长久保存。进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。4.进程控制块(PCB,processcontrolblock)进程控制块是由OS维护的用来记录进程相关信息的一块内存。每个进程在OS中的登记表项(可能有总数目限制),OS据此对进程进行控制和管理(PCB中的内容会动态改变),不同OS则不同处于核心段,通常不能由应用程序自身的代码来直接访问,而要通过系统调用,或通过UNIX中的进程文件系统(/proc)直接访问进程映象(image)。文件名为进程标识(如:00316),权限为创建者可读写。进程控制块的内容进程描述信息:进程标识符(processID),唯一,通常是一个整数;进程名,通常基于可执行文件名(不唯一);用户标识符(userID);进程组关系(processgroup)进程控制信息:当前状态;优先级(priority);代码执行人口地址;程序的外存地址;运行统计信息(执行时间、页面调度);进程间同步和通信;阻塞原因资源占用信息:虚拟地址空间的现状、打开文件列表CPU现场保护结构:寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针)5.PCB的组织方式将处于同一状态的进程组织在一起链表:同一状态的进程其PCB成一链表,多个状态对应多个不同的链表各状态的进程形成不同的链表:就绪链表、阻塞链表索引表:同一状态的进程归入一个index表(由index指向PCB),多个状态对应多个不同的index表各状态的进行形成不同的索引表:就绪索引表、阻塞索引表图SEQ图表\*ARABIC1PCB的组织6.进程上下文进程上下文是对进程执行活动全过程的静态描述。进程上下文由进程的用户地址空间内容、硬件寄存器内容及与该进程相关的核心数据结构组成。用户级上下文:进程的用户地址空间(包括用户栈各层次),包括用户正文段、