您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 22进程及进程通信XXXX
内容目录概要总结练习操作系统与进程通信-----2.2进程及进程通信第2章目录概要2.1操作系统概述2.2进程及进程通信2.3线程2.4文件2.5操作系统网络服务2.6操作系统接口2.2节目录概要2.2.1进程的引入•进程概念及特点、进程与程序、进程控制块及进程映像、进程状态及状态变化2.2.2进程描述、进程状态及进程控制•创建原语、撤销原语、阻塞原语、唤醒原语2.2.3进程控制•互斥、同步概念与同步问题2.2.4并发进程的相互制约——同步与互斥•整型信号量、记录型信号量•利用信号量实现进程互斥、同步2.2.5信号量机制•生产者-消费者问题•读者-写者问题2.2.6经典的进程同步问题•共享内存模式•消息传递模式2.2.7进程通信2.2.1进程的引入批处理--作业分时系统--用户程序或任务程序如何描述所有这些CPU的活动?单道程序•只允许一次执行一个程序•程序对系统有完全的控制权,能访问所有的系统资源多道程序•多个程序可以同时存在于内存•共享系统的所有资源2.2.1进程的引入单道程序•顺序性:处理机的操作严格按照程序所规定的顺序执行•封闭性:程序运行的环境资源只能由程序本身访问和修改•可再现性:只要它的运行条件(初始数据)相同,其运行结果一定相同多道程序•间断性:各程序在执行时间上是重叠的,相互制约•失去封闭性:一个程序的环境可能会受其它程序影响•不可再现性:并发程序的运行结果不确定2.2.1进程的引入•不确定性的示例–假设一个火车订票系统程序,其中读取某车次车票余额并售出车票的程序片段为ticketP,现在两个窗口T1和T2并发执行这段程序,两个并发程序必须共享某车次的剩余车票数的变量tNumticketP……//从共享文件中读取车票数tNumRead(tNum);//如果还有余票,则售出,票数减1,假设每次只能售一张,否则票数不变,返回iftNum=1thentNum--;elsereturn(-1);//车票数据写回共享文件Write(tNum);……2.2.1进程的引入0运行环境的非封闭性、结果不可再现性、间断性2.2节目录概要2.2.1进程的引入•进程概念及特点、进程与程序、进程控制块及进程映像、进程状态及状态变化2.2.2进程描述、进程状态及进程控制•创建原语、撤销原语、阻塞原语、唤醒原语2.2.3进程控制•互斥、同步概念与同步问题2.2.4并发进程的相互制约——同步与互斥•整型信号量、记录型信号量•利用信号量实现进程互斥、同步2.2.5信号量机制•生产者-消费者问题•读者-写者问题2.2.6经典的进程同步问题•共享内存模式•消息传递模式2.2.7进程通信2.2.2进程描述、进程状态及进程控制•进程概念及特点–CPU的并发活动通过CPU在多个程序执行之间切换,伪并行—多道程序设计比较多处理机系统,真正硬件并行进程一个正在执行程序的实例,包括数据、程序计数器、寄存器和变量的当前值进程2.2.2进程描述、进程状态及进程控制•进程概念及特点–不同的定义进程是程序的一次执行进程是一个程序及其数据在处理机上顺序执行时所发生的活动进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位可以与其它程序并行执行的程序的一次执行允许将多个程序调入内存并发执行要求对各种程序提供更严格的控制和划分现代计算机系统一次执行一个程序;程序对系统有完全的控制,能访问所有的系统资源早期计算机系统进程执行中的程序现代分时系统的工作单元2.2.2进程描述、进程状态及进程控制•进程与程序动态的有生命过程,存在是暂时的包括程序和数据、状态,可以顺序的执行多个程序进程静态的存在是永久的可以对应多个进程程序2.2.2进程描述、进程状态及进程控制•进程概念及特点–进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位–进程实体:进程映像,由程序、数据以及描述进程状态的数据结构组成的–进程的特征动态性并发性独立性异步性进程控制块2.2.2进程描述、进程状态及进程控制•进程控制块及进程映像–进程控制块PCB(ProcessControlBlock)描述活动状态,包含内容:包含了进程的描述信息和控制信息唯一标识进程存在的数据结构使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程进程标识符进程状态信息进程执行现场信息进程调度信息进程控制信息2.2.2进程描述、进程状态及进程控制•进程映像–进程的实体即进程映像,是由程序、数据和进程控制块组成的进程程序数据进程控制块描述了进程所要完成的功能进程在执行时的操作对象进程存在的物理标志和体现2.2.2进程描述、进程状态及进程控制•进程状态及状态变化–运行状态(Running):一个进程已获得处理机,正在执行。–就绪状态(Ready):一个进程得到了除CPU以外的所有必要资源,一旦得到处理机就可以运行,又称为逻辑可运行状态。–阻塞状态(Blocked):一个进程因等待某事件发生(如申请打印机,打印机忙)而暂时无法继续执行,从而放弃处理机,使进程执行处于暂停状态,又称为逻辑不可运行状态e.g:计算进程|打印进程注意:就绪、阻塞的区别!2.2.2进程描述、进程状态及进程控制•进程状态及状态变化2.2.2进程描述、进程状态及进程控制•进程实现–OS是根据PCB来对并发执行的进程进行控制和管理的2.2.2进程描述、进程状态及进程控制•进程实现–进程调度选择一个可用的进程到CPU上执行–进程在不同的队列之间移动驻留在内存中就绪的、等待运行的进程保存在就绪队列中等待特定I/O设备的进程列表称为设备队列2.2节目录概要2.2.1进程的引入•进程概念及特点、进程与程序、进程控制块及进程映像、进程状态及状态变化2.2.2进程描述、进程状态及进程控制•创建原语、撤销原语、阻塞原语、唤醒原语2.2.3进程控制•互斥、同步概念与同步问题2.2.4并发进程的相互制约——同步与互斥•整型信号量、记录型信号量•利用信号量实现进程互斥、同步2.2.5信号量机制•生产者-消费者问题•读者-写者问题2.2.6经典的进程同步问题•共享内存模式•消息传递模式2.2.7进程通信2.2.3进程控制•进程控制机构–进程的状态变化是由系统的进程控制机构完成的–具有创建进程、撤销进程和实施进程间同步、通信等功能–包含在操作系统的内核里•原语–OS内核中由若干条指令构成,用于完成特定功能的一个过程,该过程在执行时是不可中断的–控制进程的原语:创建原语、撤销原语、阻塞原语、唤醒原语等现代OS广泛采用层次式结构,通常将一些与硬件密切相关的模块,以及运行频率较高的模块安排在紧靠硬件的软件层次中,并将它们常驻内存,以提高OS的运行效率,并对它们加以特殊的保护2.2.3进程控制•创建原语–创建一个新进程–有四类事件会导致创建一个进程–进程树系统初始化正在运行的进程创建用户请求创建批处理作业初始化根进程子进程父进程2.2.3进程控制•创建原语–主要工作:为被创建进程建立一个进程控制块PCB,分配进程标识符,形成PCB申请空白PCB为新进程分配资源初始化进程控制块将新进程插入就绪队列2.2.3进程控制•撤销原语–撤销或终止一个进程–系统可以按照进程标识符撤销一个进程,也可以按照优先级撤销多个进程–撤销进程一般由父进程或祖先进程发出,给出的参数是进程标识符或优先级。如果一个进程被撤销,那么它的子孙进程必须先行撤销。正常退出(自愿)出错退出(自愿)严重错误(非自愿)被其他进程杀死(非自愿)2.2.3进程控制•撤销原语–主要工作:将被撤销进程及其子孙进程的所有资源(主存、外设、PCB)全部收回,归还系统根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度若该进程还有子进程,还应将其所有子进程予以终止,以防他们成为不可控的进程将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其他程序来搜集信息2.2.3进程控制•阻塞原语–当一个进程期待某一事件(如请求系统服务、启动某种操作、数据尚未到达、无新工作可做等)出现时,该进程就调用阻塞原语将自己置为阻塞(等待)状态–主要工作是保存阻塞进程的现场,让出处理机调用阻塞原语把自己阻塞停止进程的执行,修改PCB中的状态信息,并将其插入相应的阻塞队列转处理机调度程序,选择一个进程运行2.2.3进程控制•唤醒原语–当处于阻塞状态的进程所等待的事件出现时,由发现者进程调用唤醒原语唤醒该阻塞进程–引起唤醒的事件与引起阻塞的事件是相对应的–唤醒原语的主要工作是将阻塞进程从阻塞队列移到就绪队列将该阻塞进程的进程控制块PCB从阻塞队列中移出修改PCB中的状态信息再将其插入到就绪进程队列2.2节目录概要2.2.1进程的引入•进程概念及特点、进程与程序、进程控制块及进程映像、进程状态及状态变化2.2.2进程描述、进程状态及进程控制•创建原语、撤销原语、阻塞原语、唤醒原语2.2.3进程控制•互斥、同步概念与同步问题2.2.4并发进程的相互制约——同步与互斥•整型信号量、记录型信号量•利用信号量实现进程互斥、同步2.2.5信号量机制•生产者-消费者问题•读者-写者问题2.2.6经典的进程同步问题•共享内存模式•消息传递模式2.2.7进程通信2.2.4同步与互斥•并发的进程–独立性:各进程都可以独立向前推进–制约性:进程之间有时会相互制约直接制约•源于进程间的合作•异步环境下的并发进程,各自的执行结果互为对方的执行条件,从而限制各进程的执行速度的过程•同步间接制约•源于进程对资源的共享和争用•由共享公有资源而造成的对并发进程执行速度的制约•一旦将这个竞争资源分配给一个进程,其它进程就必须等待,直到前者完成任务释放资源为止•互斥2.2.4同步与互斥•并发的进程–间接制约示例设想假脱机目录中有许多槽位,编号依次为1,2,…,每个槽位存放一个文件名假设有两个共享变量:out,指向下一个要打印的文件;In,指向目录中下一个空闲槽位操作系统要有进程间的同步与互斥措施控制局部变量next_free_slott0Anfs_A=7t1Bnfs_B=7t2B加入队列,in=8t3A加入队列,in=8B要打印的被覆盖!2.2.4同步与互斥•互斥–竞争资源的进程首先面临的是互斥的要求–某些资源由于其物理特性,一次只允许一个进程使用,不能多进程同时共享,我们称其为临界资源打印机、磁带机物理设备变量、数据、队列软临界资源避免与时间有关的错误共享了变量同时使用了这个变量多个进程之间需要互斥使用临界资源指在一个进程开始使用但尚未结束使用的期间,另一个进程也开始了使用2.2.4同步与互斥•互斥–访问临界资源的程序段称为临界区CS(CriticalSection)–其它程序段统称为非临界区non_CS–把与同一个临界资源相关联的临界区称为同类临界区互斥使用临界资源的问题控制不允许进程同时进入各自的同类临界区2.2.4同步与互斥•互斥–使用临界区的基本要求互斥进入:只允许一个进程访问该临界资源不互相阻塞:如果有若干进程都要求进入临界区,必须在有限时间内允许一个进程进入,不应互相阻塞,以至于哪个进程都无法进入公平性:进入临界区的进程要在有限时间内退出,不让等待者无限等待RepeatNon_CS;临界区入口控制代码CS-inCode;CS;临界区出口控制代码CS-outCode;Untilfalse2.2.4同步与互斥•同步概念与同步问题–同步(synchronism)是指有协作关系的进程之间需要调整它们之间的相对速度计算进程•当上一次计算结果还在缓冲区未被打印时,Computing进程不能向其中送入新的计算结果,计算进程必须等待单缓冲区打印进程•当计算结果未出来前,Printer进程必须等待互斥也是一种特殊的同步,而同步时共享的资源(缓冲区)也是临界资源,因此有时我们将同步和互斥面临
本文标题:22进程及进程通信XXXX
链接地址:https://www.777doc.com/doc-308476 .html