操作系统 进程管理

上传人:豆浆 文档编号:4573104 上传时间:2017-08-06 格式:PPT 页数:65 大小:405.50KB
返回 下载 相关 举报
操作系统 进程管理_第1页
第1页 / 共65页
操作系统 进程管理_第2页
第2页 / 共65页
操作系统 进程管理_第3页
第3页 / 共65页
操作系统 进程管理_第4页
第4页 / 共65页
操作系统 进程管理_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《操作系统 进程管理》由会员分享,可在线阅读,更多相关《操作系统 进程管理(65页珍藏版)》请在金锄头文库上搜索。

1、第三章 进程的描述与控制,1,2.1 进程的概念2.2 进程控制2.3 线程 2.4 实例:Solaris 2.5 进程互斥2.6 信号量和、操作2.7 进程同步2.8 经典的进程同步问题2.9 进程通信,第二章 进程管理,第三章 进程的描述与控制,2,2.1 进程的概念,2.1.1 程序的顺序执行与并发执行 2.1.2 进程的定义2.1.3 进程的特征 2.1.4 进程的状态及转换2.1.5 进程控制块,第三章 进程的描述与控制,3,程序的顺序执行,程序的顺序执行如图在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。一道程序执行完后另一道才能开始。,第三章 进

2、程的描述与控制,4,程序顺序执行的特点,顺序性:一个程序开始执行必须要等到前一个程序已执行完成封闭性:程序一旦开始执行,其计算结果不受外界因素影响可再现性:程序的结果与它的执行速度无关(即与时间无关),只要给定相同的输入,一定会得到相同的结果。,第三章 进程的描述与控制,5,程序的并发执行,所谓程序的并发执行是指:若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。,并发与并行概念的区别?Concurrency,parallel,第三章 进程的描述与控制,6,程序并发执行的特点,间断性失去程序的封闭性不可再现性,第三章 进程的描述与控制

3、,7,2.1.2 进程的定义,进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。进程有很多各式各样的定义,如: 行为的一个规则叫做程序,程序在处理机上执行时所发生的活动称为进程(Dijkstra)一个具有一定功能的程序关于某个数据集合的一次运行活动。进程是一个程序与其数据一道通过处理机的执行所发生的活动,第三章 进程的描述与控制,8,进程同程序的比较,程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的

4、,进程是暂时的。进程更能真实地描述并发,而程序不能进程是由程序和数据两部分组成的进程具有创建其他进程的功能,而程序没有同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程,第三章 进程的描述与控制,9,思考,为什么要引入进程的概念?,第三章 进程的描述与控制,10,2.1.3 进程的特征,动态性:进程是程序的执行并发性:多个进程可同存于内存中,能在一段时间内同时运行独立性:独立运行的基本单位,独立获得资源和调度的基本单位。异步性:各进程按各自独立的不可预知的速度向前推进结构特征:由程序段 、数据段、进程控制块三部分组成,第三章 进程的描述与控制,11,

5、2.1.4 进程的状态及转换,进程有三种基本状态:进程在生命消亡前处于且仅处于三种基本状态之一不同系统设置的进程状态数目不同,第三章 进程的描述与控制,12,进程的三种基本状态,就绪状态(Ready):存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到CPU,就立即可以运行。这些进程所处的状态为就绪状态。运行状态(Running):正在运行的进程所处的状态为运行状态。等待状态(Wait / Blocked ):若一进程正在等待某一事件发生(如等待输入输出工作完成),这时,即使给它CPU,它也无法运行,称该进程处于等待状态、阻塞、 睡眠、封锁状态。,第三章 进程的描述与控制,13,进程

6、的状态变迁图,第三章 进程的描述与控制,14,五状态进程模型,第三章 进程的描述与控制,15,七状态进程模型,第三章 进程的描述与控制,16,【思考题】,1如果系统中有N个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?2. 有没有这样的状态转换,为什么? 等待运行; 就绪等待,第三章 进程的描述与控制,17,2.1.5 进程控制块(Process Control Block),为了描述一个进程和其它进程以及系统资源的关系,为了刻画一个进程在各个不同时期所处的状态,人们采用了一个与进程相联系的数据块,称为进程控制块(PCB)。系统利用PCB来控制和管理

7、进程,所以PCB是系统感知进程存在的唯一标志进程与PCB是一一对应的,第三章 进程的描述与控制,18,PCB的内容,进程描述信息:进程标识符(process ID),唯一,通常是一个整数进程名,通常基于可执行文件名(不唯一)用户标识符(user ID);进程组关系进程控制信息:当前状态优先级(priority)代码执行入口地址程序的外存地址运行统计信息(执行时间、页面调度)进程间同步和通信;阻塞原因,第三章 进程的描述与控制,19,进程的队列指针进程的消息队列指针所拥有的资源和使用情况:虚拟地址空间的现状打开文件列表CPU现场保护信息:寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针

8、)指向赋予该进程的段/页表的指针,第三章 进程的描述与控制,20,思考,OS如何进行进程切换?何时会发生进程切换?,第三章 进程的描述与控制,21,PCB表: 系统把所有PCB组织在一起,并把它们放在内存的固定区域,就构成了PCB表 PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度,PCB表组织方式,第三章 进程的描述与控制,22,链接结构,相同状态的进程PCB组成一个链表,不同状态对应多个不同的链表就绪链表、阻塞链表,第三章 进程的描述与控制,23,第三章 进程的描述与控制,24,索引结构,对具有相同状态的进程,分别设置各自的PCB索引表,表明PCB在PCB表中的地址,第

9、三章 进程的描述与控制,25,第三章 进程的描述与控制,26,进程队列,不同状态进程分别组成队列运行队列、就绪队列、等待队列,第三章 进程的描述与控制,27,第三章 进程的描述与控制,28,进程映象,用户程序用户数据栈用于过程调用和参数传递进程控制块PCB在OS空间用户进程不能直接访问、修改自己的PCB,第三章 进程的描述与控制,29,思考,请说说PCB的作用。,第三章 进程的描述与控制,30,2.2 进程控制,进程控制就是对系统中的所有进程实施管理,进程控制一般由原语来实现。所谓原语是一种特殊的系统功能调用,它可以完成一个特定的功能,其特点是原语执行时不可被中断。,第三章 进程的描述与控制,

10、31,思考,实现:开关中断,如何实现原语?,第三章 进程的描述与控制,32,常用的进程控制原语,创建原语终止原语阻塞原语、唤醒原语,第三章 进程的描述与控制,33,进程创建,申请空白PCB为新进程分配资源 如内存初始化进程控制块 将新进程插入就绪队列,第三章 进程的描述与控制,34,思考,为什么创建进程要用原语来实现?,第三章 进程的描述与控制,35,进程终止,根据被终止进程的标识符,从PCB集合中检索出该进程的PCB将进程所拥有的资源交给父进程或系统进程释放PCB,第三章 进程的描述与控制,36,进程的阻塞与唤醒,阻塞:当一个进程所期待的某一事件尚未出现时,该进程调用阻塞原语将自己阻塞。进程

11、阻塞是进程的自身的一种主动行为。唤醒:处于阻塞状态的进程是绝不可能叫醒它自己的,它必须由它的合作进程用唤醒原语唤醒它。,第三章 进程的描述与控制,37,思考,请设想一下进程在什么情况下会变为阻塞状态?阻塞进程在什么情况下会被唤醒?谁来唤醒它?,第三章 进程的描述与控制,38,创建进程实例,BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, B

12、OOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation );,第三章 进程的描述与控制,39,2.3 线程,2.3.1 线程的引入 2.3.2 线程与进程的比较 2.3.3 用户级线程和内核支持线程,第三章 进程的描述与控制,40,2.3.1 线程的引入,引入进程的目的是为了使多个程序并发执行,以改善资源利用率、提高系统吞

13、吐量。引入线程则是为了减少程序并发执行时的所付出的时空开销。,第三章 进程的描述与控制,41,进程的两个基本属性,进程是一个可拥有资源的基本单位。进程同时又是一个可独立调度和分派的基本单位。 进程作为一个资源拥有者,在创建、撤消、切换中,系统必须为之付出较大时空开销。所以系统中进程的数量不宜过多,进程切换的频率不宜过高,但这也就限制了并发程度的进一步提高。,第三章 进程的描述与控制,42,为解决此问题,人们想到将进程的上述两个属性分开,即对作为调度和分派的基本单位,不同时作为独立分配资源的单位;对拥有资源的单位,不对之进行频繁切换。线程因而产生。,第三章 进程的描述与控制,43,在引入线程的O

14、S中,线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己基本不拥有系统资源,只拥有少量必不可少的资源:程序计数器、一组寄存器、栈。它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程;同一进程中的多个线程之间可以并发执行。,第三章 进程的描述与控制,44,引入线程的好处,创建一个新线程花费时间少(结束亦如此)两个线程的切换花费时间少因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核适合多处理机系统,第三章 进程的描述与控制,45,例子,LAN中的一个文件服务器,在一段时间内需要处理几个文件请求因此有效的方法是:为每一个请求创建

15、一个线程在一个SMP机器上:多个线程可以同时在不同的处理器上运行,第三章 进程的描述与控制,46,例子,一个线程显示菜单,并读入用户输入;另一个线程执行用户命令考虑一个应用:由几个独立部分组成,这几个部分不需要顺序执行,则每个部分可以以线程方式实现当一个线程因I/O阻塞时,可以切换到同一应用的另一个线程,第三章 进程的描述与控制,47,2.3.2 线程与进程的比较,线程具有进程的许多特征,故又称轻型进程,传统进程称重型进程。在引入线程的OS中,每一进程都拥有多个线程,至少一个。,第三章 进程的描述与控制,48,1、调度在传统OS中,拥有资源、独立调度和分派的基本单位都是进程,在引入线程的系统中,线程是调度和分派的基本单位,而进程是拥有资源的基本单位。在同一个进程内线程切换不会产生进程切换,由一个进程内的线程切换到另一个进程内的线程时,将会引起进程切换。,第三章 进程的描述与控制,49,2、并发性在引入线程的系统中,进程之间可并发,同一进程内的各线程之间也能并发执行。因而系统具有更好的并发性。,第三章 进程的描述与控制,50,3、拥有资源无论是传统OS,还是引入线程的OS,进程都是拥有资源的独立单位,线程一般不拥有系统资源,但它可以访问隶属进程的资源。即一个进程的所有资源可供进程内的所有线程共享。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号