os_ecust_2.ppt
上传人:yy****24 上传时间:2024-09-10 格式:PPT 页数:83 大小:1.9MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

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

16 金币

下载此文档

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

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

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

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

进程管理为了描述程序在并发执行时对系统资源的共享,我们需要一个描述程序执行时动态特征的概念,这就是进程。在本章中,我们将讨论进程概念、进程控制和进程间关系。本章的学习目的是使学生建立起进程的概念。进程、线程是操作系统中最重要的内容,在多道并发系统内,应用程序都是以进程或线程的形式参与系统的并发执行的。通过本章学习应掌握进程的定义和特征,深入理解进程的基本状态以及状态转换,进程与程序的区别;掌握进程的同步与互斥,能够灵活运用信号量描述同步问题;了解进程通信的类型;了解管程的定义及如何利用管程解决一些经典的同步问题,了解线程的概念。主要内容程序的顺序执行和并发执行进程的定义和特征进程的状态转换进程的描述程序的顺序执行和并发执行程序并发执行顺序执行的特征:(前趋图)顺序性:按照程序结构所指定的次序(可能有分支或循环)封闭性:独占全部资源,计算机的状态只由于该程序的控制逻辑所决定可再现性:初始条件相同则结果相同。如:可通过空指令控制时间关系。并发执行的特征间断(异步)性:"走走停停",一个程序可能走到中途停下来,失去原有的时序关系;失去封闭性:共享资源,受其他程序的控制逻辑的影响。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。失去可再现性:失去封闭性->失去可再现性;外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。程序并发执行的条件:进程的定义和特征进程的特征进程与程序的区别进程的状态及其转换三状态进程模型(单队列结构)三状态进程模型(多队列结构)三种基本状态其他状态创建状态(New):进程刚创建,但还不能运行(一种可能的原因是OS对并发进程数的限制);如:分配和建立PCB表项(可能有数目限制)、建立资源表格(如打开文件表)并分配资源,加载程序并建立地址空间表。结束状态(Exit):进程已结束运行,回收除PCB之外的其他资源,并让其他进程从PCB中收集有关信息(如记帐,将退出码exitcode传递给父进程)。17挂起状态活动进程状态的转换释放(Release):由于进程完成或失败而中止进程运行,进入结束状态;运行到结束:分为正常退出Exit和异常退出abort(执行超时或内存不够,非法指令或地址,I/O失败,被其他进程所终止)就绪或阻塞到结束:可能的原因有:父进程可在任何时间中止子进程;超时(Timeout):由于用完时间片或高优先进程就绪(被抢先)等导致进程暂停运行;事件等待(EventWait):进程要求的事件未出现而进入阻塞;可能的原因包括:申请系统服务或资源、通信、I/O操作等;事件出现(EventOccurs):进程等待的事件出现;如:操作完成、申请成功等;进程控制块(PCB,processcontrolblock)进程控制块的内容进程控制块的结构图PCB的组织方式进程控制进程控制的功能进程的创建和终止进程的创建过程?终止进程阻塞和进程唤醒进程的挂起与激活2.3进程互斥和同步2.3.1进程互斥临界资源进程互斥是指进程之间互相排斥地使用临界资源,即你在使用时我不能使用,我在使用时你不能使用。进程同步,指系统中多个进程中发生的事件存在某种时序关系,需要相互合作,共同完成一项任务。具体说,一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态。因此,进程互斥也是一致同步,因为它也是进程之间的一致协调。公汽上司机与售票员之间共享变量的修改冲突38临界区的访问过程临界区(criticalsection):进程中访问临界资源的一段代码。进入区(entrysection):在进入临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应"正在访问临界区"标志退出区(exitsection):用于将"正在访问临界区"标志清除。剩余区(remaindersection):代码中的其余部分。同步机制应遵循的准则信号量(semaphore)整型信号量和P、V原语记录型信号量记录型信号量的P、V原语AND型信号量信号量集为临界资源设置一个互斥信号量mutex(MUTualExclusion),其初值为1;在每个进程中将临界区代码置于P(mutex)和V(mutex)原语之间必须成对使用P和V原语:遗漏P原语则不能保证互斥访问,遗漏V原语则不能在使用临界资源之后将其释放(给其他等待的进程);P、V原语不能次序错误、重复或遗漏利用信号量实现前趋关系2.4经典进程的同步问题同步问题:生产者进程不能往“满”的缓冲区中放产品,消费者进程不能从“空”的缓冲区中取产品Consumer2.4.2哲学家进餐问题DPP(thediningphilosophersproblem)Varchopstick:a