您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 操作系统课件――进程管理
17:421第2章进程管理Part1进程基本知识Part2Linux进程管理17:422Part1进程基本知识1为什么引入进程2进程基本概念3进程控制原语4进程同步5进程通信6进程调度7死锁8线程简介17:4231进程引入早期的计算机系统采用批处理管理模式,进入计算机系统工作的程序只有一个,因此程序是顺序执行的。顺序执行程序具有顺序性、封闭性和可再现性为了提高计算机系统内各种资源的使用效率,现代计算机系统设计中普遍采用了多道程序技术,程序在系统中是并发执行的。17:424从硬件方面看:处理机、外设、存储部件并行工作;从程序方面看:则可能有若干个作业程序或者同时、或者互相穿插在系统中并行运行。这时,机器不再顺序执行某程序。即,某程序的前一动作结束后,系统不一定立即执行其后续操作,而可能转而执行其它程序的某一操作。如右图,系统中有n个作业,每个作业都有三个处理步骤,输入数据、处理、输出,即Ii,Ci,Pi(i=1,2,3,...,n)。17:425问题:为什么要引入并发?顺序执行模式下的系统工作效率系统总运行时间:80CPU效率:CPU占用时间/总时间=(10+5+10+10+5)40/80=50%DEV1使用效率:15/80=18.75%DEV2使用效率:25/80=31.25%引入并发提高了系统效率17:426并发执行模式下的系统工作效率系统总运行时间:45CPU使用效率:40/45=89%DEV1使用效率:15/45=33%DEV2使用效率:25/45=55.6%17:427两种执行模式下的系统工作效率变化:系统总运行时间:80-》45CPU使用效率:50%-》89%DEV1使用效率:18.75%-》33%DEV2使用效率:31.25%-》55.6%引入并发提高了系统效率!!!!17:428但是程序的并发执行会导致:间断(异步)性:“走走停停”失去封闭性:共享资源,受其他程序的控制逻辑的影响。失去可再现性:失去封闭性-失去可再现性;17:429程序的并发执行可能导致问题例1:设有一台标准输入设备(键盘),和一台标准输出设备(显示器或打印机),输入程序负责从标准设备中读取一个字符,送缓冲区中。输出程序从缓冲区中取数据,送标准设备输出。17:4210例2:订票系统,两个终端,运行T1、T2进程T1:T2:......Read(x);Read(x);ifx=1thenx:=x-1;ifx=1thenx:=x-1;write(x);write(x);......17:42112进程基本概念多道系统中的程序并发运行的新特点,程序本身是无法描述的,为此,当一个程序在并发系统中执行时,需引进一个新的数据结构来记录和描述这些特征。这样,新引进的数据结构与它所描述的程序便形成了一个有机体-进程(Process)。MIT于60年代初期提出进程模型进程是具有独立功能的程序在某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。17:4212进程=程序+数据+PCB(系统利用PCB来控制和管理进程,是系统感知进程存在的唯一标志),这三部分构成进程在系统中存在和活动实体,称为“进程映象or进程实体”。PCB:processcontrolblock,为记录程序在并发系统中执行时的动态特性的数据结构是进程管理和控制的最重要的数据结构,在创建时建立PCB,直到进程撤消而撤消;PCB就象我们的户口,系统用它来记录进程的外部特征,描述进程的运动变化过程(进程的状态转换、进程的推进);进程控制块是由OS维护的用来记录进程相关信息的一块内存。17:4213注意:进程与PCB是一一对应的是每个进程在系统中的登记表项(有总数限制),OS据此对进程进行控制和管理(PCB内容会动态改变);处于核心段,通常不能由应用程序自身的代码来直接访问,而要通过系统调用,或通过UNIX中的进程文件系统(/proc)直接访问进程映象(image)。17:4214PCB的内容:进程描述信息:包括进程标识符(ProcessID,唯一,通常是一个整数)、PPID(ParentPID)和用户标识符(userID)等。进程控制信息:进程当前状态、优先级、代码执行入口地址、程序外存地址、运行统计信息(执行时间、调度情况等)、同步和通信等;资源占用信息:虚拟地址空间的现状、打开文件列表CPU现场保护结构:寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针)17:4215PCB表:系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表。PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度。PCB的组织方式:链表方式;索引表方式PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCBn......空PCB运行态就绪态等待1等待2675101517:4216进程的特征并发性:动态性:生命周期独立性:独立调度异步性:结构性程序与进程的区别进程是动态的,程序是静态的;进程是暂时的,程序的永久的;进程与程序的组成不同;通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。类比1电影拷贝可以长期保存,而一次放映活动1~2小时。类比217:4217进程的分类系统进程:系统进程起着资源管理和控制的作用。或者:执行操作系统核心代码的进程。用户进程:执行用户程序的进程。(系统进程优先于用户进程)系统进程被分配一个初始的资源集合,为它独占,也以最高优先权的资格使用。用户进程通过系统服务请求的手段竞争使用系统资源;用户进程不能直接做I/O操作,而系统进程可以做显示的、直接的I/O操作。系统进程在管态下活动,而用户进程则在用户态(目态)下活动。17:4218进程的状态及其转换不同系统设置的进程状态数目不同三状态模型:(基本状态)进程在生命消亡前总是处于且仅处于三种基本状态之一(就绪、运行、阻塞)。当然,除某些比较特殊的进程以外,大多数进程有其发生、发展和消亡的过程,不会无休止地在上述三种状态中循环。五状态模型:引入创建、终止状态七状态模型:系统出于某种原因(调节负载,对换,父进程,操作系统,终端用户)引入挂起状态。17:4219三状态模型:(基本状态)进程在生命消亡前总是处于且仅处于三种基本状态之一。运行态(Running):当进程由调度/分派程序(Dispatcher)分派后,进程占有CPU,并在CPU上运行。(注:在单CPU系统中,总只有一个进程处于此状态)就绪态(Ready):一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)等待态(Blocked):阻塞态、挂起态、封锁态、冻结态、睡眠态,指进程因等待某种事件的发生而暂时不能运行的状态(意:即使CPU空闲,进程也不可运行)17:4220就绪--运行:调度程序选择一个新的进程运行运行--就绪:运行进程时间片用完或因一高优先级进程就绪运行--等待:I/O事件发生(典型情况),初始化I/O且必须等待结果等待--就绪:I/O事件发生完成。进程状态转换-三状态模型转换在进程运行过程中,由于进程自身进展情况及外界环境的变化,三种基本状态可以依据一定的条件相互转换(四种转换)。17:4221示例:设内存中3个进程A、B、C,他们的程序代码已全部装入内存。若A、C两进程需要执行12条指令,B进程需要执行10条指令,且B进程执行到第4条指令处必须等待I/O,假设系统设定每6条指令时间为某进程提供的服务时间。17:422217:4223进程状态转换-五状态模型转换引入了创建状态与终止状态。创建(新new)状态:通常是进程控制块已经创建但还没有加载到内存中的新进程。终止(退出exit)状态:进程已结束运行,回收除PCB之外的其他资源,并让其他进程从PCB中收集有关17:4224进程状态转换-七状态模型转换由于某种原因,导致一些进程被对换至外存,成为挂起状态。阻塞挂起状态(Blockedsuspend):进程在外存并等待某事件的出现;就绪挂起状态(Readysuspend):进程在外存,但只要进入内存,即可运行;就绪状态(Ready):进程在内存且可立即进入运行态;阻塞状态(Blocked):进程在内存等待某事件出现17:42253进程控制原语创建进程、撤消进程、实现进程状态变迁都是操作系统的底层功能之一,称为进程控制。进程控制程序通常做成原语,属于操作系统的内核。内核:kernel,是OS的常驻部分,是对硬件的首次扩充,它由原语、中断处理和设备驱动程序所组成。原语:primitive,是一种特殊的系统调用命令,是由若干条指令构成的用以完成特定功能的一段程序,是机器指令的延伸,特点是原子性。CreateandTerminate,创建与终止;ProcessSwitch,进程切换;BlockandWakeup,阻塞与唤醒;SuspendandActivate,挂起与激活17:4226进程的创建:系统为一个程序分配一个工作区(存放程序处理的数据),并通过创建原语为该程序建立一个PCB后,进程创建完成。创建原语完成以下工作:建立一个PCB(申请空PCB);为进程分配内存等必要资源(进程的工作区,存放程序处理的数据集);填写PCB中各项目,如,初始状态为“就绪态”;PCB插入进程就绪队列。17:4227进程的撤销进程完成其任务,希望终止时,调用撤消进程的系统调用(进程撤消原语)撤消进程。撤消原语的工作:根据ID,从PCB链中查找对应PCB,并检查进程状态;若处于执行态,则立即终止;若还有子进程,则先终止子进程;收回进程所占有的资源(归还对象为系统or父进程);撤消该进程的PCB;如果是执行态,则转调度程序(dispatcher)17:42284进程同步生活中的同步问题产生的原因在于甲乙未能协同执行。17:4229在多道环境中,多个进程可以并发执行,同时又要共享系统资源,这些资源有些是可共享使用的,有些是以独占方式使用的。由此将会引起一系列的矛盾,产生错综复杂的相互制约的关系。17:4230协同工作的进程之间存在如下关系同步:synchronism,直接作用,指合作进程在执行时序上的一种相互制约关系互斥:mutualexclusion,间接作用,同一时刻不允许多个进程访问同一资源的现象,称为进程的互斥。并发-》进程间产生复杂的制约关系原因:资源共享进程合作17:4231协同工作的进程之间存在同步关系,但是进程之间的更一般关系却是互斥(!!!),同时互斥又可以理解为是一种特殊的同步(???)。同步与互斥的解决方法软硬件方法:软件:单双标志、双标志改进、Peterson’sAlgorithm硬件:关中断、TS和swap指令信号量机制:重点介绍管程机制:基于面向对象的方法,将共享变量以及对于共享变量所能进行的所有操作集中在一个模块中(类,对象??)17:42324.1几个概念临界资源:criticalresource,系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或共享变量(例如下例中的变量a)。临界区:criticalsection,简称CS,在进程中涉及到临界资源的程序段叫临界区17:4233进入临界区必须遵循如下四条准则:空闲让进:当无进程在CS时,任何有权使用CS的进程可进入;忙则等待:不允许两个以上的进程同时进入CS;有限等待:任何进入CS的要求应在有限的时间内得到满足,以免陷入“死等”;让权等待:进程不能进入CS时应放弃占用CPU,以免陷入“忙等”17:42344.2信号量机制操作系统可以从进程管理者的角度来处理同步问题,信号量(semaphore)就是由操作系统提供的管理公有资源的有效手段。荷兰学者E.W.Dijkstra在1965年提出信号量(semaphore)机制以及有关的p、v原语操作P、V分别是荷兰语的test(prober
本文标题:操作系统课件――进程管理
链接地址:https://www.777doc.com/doc-3402651 .html