《计算机操作系统ppt》由会员分享,可在线阅读,更多相关《计算机操作系统ppt(94页珍藏版)》请在金锄头文库上搜索。
1、计算机操作系统 主讲教师:曹建秋 贺清碧,课程主要内容,操作系统引论(1章) 进程管理(2-3章) 存储管理(4章) 设备管理(5章) 文件管理(6章) 操作系统接口(7章) 系统安全性(9章) *分布式操作系统,从进程的观点研究操作系统,把OS看作是由若干个可独立运行的程序和一个可对这些程序进行协调控制的核心(内核)组成。这些运行的程序称为进程,它是资源分配和独立运行的基本单位,每一进程都完成某一特定任务,而OS的内核则必须要控制和协调这些进程的运行,解决进程之间的通信,并从系统可并发工作为出发点,实现并发进程间通信,并解决由此带来的共享资源的竞争问题。,Process Management
2、 进程管理-第2章,进程的基本概念与控制 进程的基本概念 进程控制 线程的基本概念 UNIX中进程的描述与控制 进程同步与通信 进程同步 经典进程的同步问题 管程机制 进程通信 UNIX中进程的同步与通信 调度与死锁(第3章),本章作业,2.1 进程的基本概念,前趋图 程序顺序执行 程序并发执行 进程的描述 进程的定义、特征 进程的状态(状态、状态转换 及挂起状态) 进程控制块PCB,Process Management进程管理-processes 进程,返回目录,一、前趋图的定义,3,有向无循环图,记DAG,Eg1: 以下三条语句的前趋图为: s1: a:=x+y s2: b:=a-5 s3
3、: c:=b+1,Eg2: S1: a:=x+2S2: b:=y+4S3: c:=a+bS4: d:=c+6,返回,二、程序顺序执行,程序执行时,必须按照某种先后次序逐个执行 Eg s1: a:=x+ys2: b:=a-5s3: c:=b+1 程序顺序执行时有如下特征: 顺序性 封闭性 可再现性,返回,三、程序并发执行,在处理一批作业时,有的程序可实现并发执行S1: a:=x+2S2: b:=y+4S3: c:=a+bS4: d:=c+6,三、程序并发执行,程序并发执行时的特征 间断性 失去封闭性 不可再现性(补充)程序并发执行的条件(Bernstein),程序并发执行条件例题,Eg S1:
4、a:=x+2 S3: c:=a-bS2: b:=z+4 S4: w:=c+1 试利用Bernstein条件证明:(1)s1与s2并发执行;(2) s1与s3,s2与s3,s3与s4不能。 解:各语句的读、写集分别为:R(S1)=x, W(S1)=a,R(S2)=z, W(S2)=b,R(S3)=a,b, W(S3)=c,R(S4)=c, W(S4)=w,因为 R(S1) W(S2)=,R(S2) W(S1) = 且W(S1) W(S2) = 所以由Bernstein条件,s1与s2并发执行。同理可证s1与s3,s2与s3,s3与s4不能(略)。,返回,一、进程的定义、特征,1、进程proces
5、s的定义1)进程是程序的一次执行。2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。3)进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位。 注:进程与程序的主要区别,Process Management进程管理-processes 进程,进程与程序的主要区别,1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态概念。 2)程序的存在是永久的。而进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。 3)程序仅是指令的有序集合。而进程则由程序段、相关数据段进
6、程控制块(PCB)组成。 4)进程与程序之间不是一一对应。,进程与程序的主要区别,2、进程process的基本特征(1)结构特征为了描述和记录进程的运动变化过程,并使之能正确运行,每个进程都应配置了一个进程PCB。所以,从结构上看,每个进程(进程实体)都是由程序段、相关数据段及进程控制块(PCB)组成。 注:1.在早期UNIX版本中称进程的三个组成部分为“进程映像”2.区别进程实体和进程(2)动态性 进程的实质是程序在处理机上的一次执行过程,因此是动态性的。所以动态性是进程的最基本的特征。同时动态性还表现在 进程则是有生命期的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤消而消亡。,
7、Process Management进程管理-processes 进程,一、进程的定义、特征,(3)并发性指多个进程实体同时存在于内存中,能在一段时间内同时运行。引入进程的目的就是为了使进程能并发执行,以提高资源利用率,所以并发性是进程的重要特征,也是OS的重要特征。 (4)独立性指进程是一个能独立运行的基本单位,也是系统进行资源分配和调度的独立单位。 (5)异步性指进程以各自独立的、不可预知的速度向前推进。,返回,二、 进程状态,为了刻画了整个进程,可以将一个进程的生命周期划分为一组状态: 1、进程的5种状态(三种基本状态) new新建/创建:进程正在创建中的状态 ready就绪: 进程已获
8、得了除处理机以外的所有资源,等待分配处理机执行的等待状态。 running运行/执行: 当一个进程获得必要的资源并正在处理机上执行的状态。 waiting等待/阻塞: 正在执行的进程由于发生某事件而暂时无法执行下去,此时进程所处的状态。 terminated终止/撤消/退出:进程执行完毕,释放所占资源的状态。,Process Management进程管理-processes 进程,进程在运行期间并非固定处于某个状态,而是不断从一个状态转换到另一个状态。 2、进程状态转换,3、进程的挂起状态在某些系统中,为了更好地管理和调度进程,引入了挂起状态: 挂起状态/静止状态:程序在运行期间,由于某种需要
9、,往往要将进程暂停执行,使其静止下来,以满足其需要。这种静止状态就称为进程的挂起状态。,引起挂起状态的原因,终端用户的需要:终端用户在自己程序运行中发现问题要求使正在执行的进程暂停执行而使进程处于挂起状态。 父进程的需要:父进程为了考查和修改某个子进程,或者协调各子进程间的活动,需要将该子进程挂起。 操作系统的需要:操作系统为了检查运行中的资源使用情况或进行记帐,而将某些进程挂起。 对换的需要:为了提高内存的利用率,而将内存中某些进程挂起,以调进其它程序运行。 负荷调节的需要:由于工作负荷较重,而将一些不重要的进程挂起,以保证系统能正常运行(实时操作系统),返回控制进程的挂起与激活,具有挂起状
10、态的进程状态 在引入挂起状态后,就增加了挂起状态(静止状态)与非挂起状态(活动状态)间的转换,如图所示:,返回,三、进程控制块Process Control Block (PCB),进程控制块PCB是操作系统为了管理和控制进程的运行而为每一个进程定义的一个数据结构,它记录了系统管理进程所需的全部信息。系统根据PCB而感知进程的存在,PCB是进程存在的唯一标志。 1、进程控制块PCB的作用 是OS对并发执行的进程进行控制和管理的根据。 也是系统用来感知进程存在的根据,即PCB是进程存在的唯一标志。,Process Management进程管理-processes 进程,1、进程控制块PCB的作用
11、 2、进程控制块PCB中的信息 3、进程控制块PCB的组织方式,2、进程控制块PCB中的信息根据操作系统的要求不同,PCB所包含信息有些不同,但通常包含以下信息: 进程标志符:由系统创建进程时分配给进程的唯一标识号,通常为一整数,称为进程号,用于区分不同的进程。其所属用户通常也为一整数,称为用户号。 处理机状态(断点信息):即处理机中各种寄存器(通用寄存器、PC、PSW等)的内容 进程调度:记录了进程调度的相关信息(状态、优先级、事件等)。 进程控制:记录了系统对进程控制的信息(程序和数据的地址、同步机制、资源清单、链接指针),Process Management进程管理-processes
12、进程,3、进程控制块PCB的组织方式在一个系统中,通常存在着许多进程,它们所处的状态不同,为了方便进程的调度和管理,需要将各进程的PCB用适当方法组织起来。目前常用的组织方式有: 链接方式 图示把同一状态的PCB链接成一个队列,这样就形成了就绪队列、阻塞队列等。 索引方式 图示 将同一状态的进程组织在一个索引表中,索引表的表项指向相应的PCB ,不同状态对应不同的索引表。,Process Management进程管理-processes 进程,返回,按链接方式组织PCB,按索引方式组织PCB,2.3 进程的控制,进程控制是进程管理中最基本的功能,即对系统中所有的进程实施有效的管理,其功能包括进
13、程的创建、撤消、阻塞与唤醒等,这些功能一般是由操作系统的内核来完成。 补充:OS 内核:在现代OS中,常把一些功能模块(与硬件紧密相关的、常用设备的驱动程序及运行频率较高的)放在紧靠硬件的软件层次中,加以特殊保护,同时把它们常驻内存,以提高OS的运行效率,这部分功能模块就称OS的内核。内核是基于硬件的第一层软件扩充,它为系统控制和管理进程提供了良好的环境。,Process Management进程管理-processes 进程,补充:处理机的执行状态为防止OS及其关键数据(如PCB等)不被用户有意或无意破坏,通常将处理机的执行状态分为两种,Process Management进程管理-proc
14、esses 进程,一、进程创建,一个进程可以创建若干个新进程,新创建的进程又可以创建子进程,为了描述进程之间的创建关系,引入了进程图(如下图所示:)1、进程图:又称为进程树或进程家族树,是描述进程家族关系的一棵有向树。,Process Management进程管理-processes 进程,父进程,祖先进程,子进程,2、引起进程创建的事件,在多道程序环境中,只有进程才可以在系统中运行。为了使一个程序能运行,必须为它创建进程。导致进程创建的事件有: 用户登录:在分时OS中,用户在终端键入登录命令后,如是合法用户,则系统为该终端创建一进程,并插入就绪队列。 作业调度:在批处理OS中,当按某算法调度
15、一作业进内存,系统为之分配必要资源,同时为该作业创建一进程,并插入就绪队列。 提供服务:在程序运行中,若用户需某种服务,则系统创建一进程为用户提供服务,并插入就绪队列。 应用请求:在运行中,由于应用进程本身的需求,自己创建一进程,并插入就绪队列。,3、进程的创建,操作系统一旦发现了要求创建进程的事件后,便调用进程创建原语create()按以下过程创建一新进程:,一个进程在完成其任务后,应加以撤消,以便及时释放其占有的各类资源。 1、导致进程撤消的事件 进程正常结束 进程异常结束 外界干预如果系统中发生了要求撤消进程的事件,OS便调用撤消原语去撤消进程。 2、撤消原语可采用2种撤消策略: 只撤消指定的进程 撤消指定进程及其所有的子孙进程,二、进程的撤消,Process Management进程管理-processes 进程,3、进程撤消的过程,Process Management进程管理-processes 进程,当一个进程期待的事件尙未出现时,该进程调用阻塞原语block()(功能:将进程由执行状态转为阻塞状态)将自己阻塞起来。对于处于阻塞状态的进程,当该进程期待的事件出现时,由其它相关进程调用唤醒原语wakeup()(功能:将进程由阻塞状态变为就绪状态)将阻塞的进程唤醒,使其进入就绪状态。 1、引起进程阻塞和唤醒的事件 请求系统服务 启动某种操作 新数据尚未到达 无新工作可做,