首页 操作系统第三章复习

操作系统第三章复习

举报
开通vip

操作系统第三章复习操作系统原理■现代操作系统的特点:程序的并发性系统资源共享用户操作的随机性■程序的并发执行:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。■并发执行带来的问题:间断(异步)性:“执行一暂停一执行”,一个程序可能走到中途停下来,失去原有的时序关系。失去封闭性:共享资源,受其他程序的控制逻辑的影响。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。(并发执行失去封闭性的原因是共享资源的影响)失去可再...

操作系统第三章复习
操作系统原理■现代操作系统的特点:程序的并发性系统资源共享用户操作的随机性■程序的并发执行:一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。■并发执行带来的问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 :间断(异步)性:“执行一暂停一执行”,一个程序可能走到中途停下来,失去原有的时序关系。失去封闭性:共享资源,受其他程序的控制逻辑的影响。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。(并发执行失去封闭性的原因是共享资源的影响)失去可再现性:失去封闭性一>失去可再现性;外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。■进程的定义进程,即是一个具有一定独立功能的程序对某个数据集合在处理机上的执行过程和分配资源的基本单位。■进程与程序的区别进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。程序可以作为软件资料长期保存,而进程是有生命周期的。如果把程序比作菜谱,那么进程则是按照菜谱炒菜的过程。进程具有并行特征,而程序没有:程序不反映执行过程,所以不具有并行特征。进程是竞争系统资源的基本单位。进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。■进程的静态描述:*进程控制块PCB:进程控制块包含了进程的描述信息、控制信息及资源信息,是进程动态特征的集中反映。*有关程序段描述进程所要完成的功能。*数据结构集进程执行时必不可少的工作区和操作对象。进程控制块是由OS维护的用来 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 进程相关信息的一块内存。在创建一个进程时,OS首先创建其PCB,然后才能根据PCB中的信息对进程实施有效的管理和控制。当一个进程完成其功能后,系统释放PCB,进程随之消亡。进程控制块PCB的内容:*进程描述信息*进程控制信息*资源管理信息CPU现场保护结构■进程描述信息:进程名或进程标识符(processID),唯一,通常是一个整数;*用户标识符(userID);*进程家族关系(processgroup)■进程控制信息:*当前状态;(就绪态、执行态、等待态)优先级(priority);*占有CPU时间;*进程优先级偏移;*占据内存时间;*代码执行入口地址、程序的外存地址;*计时信息(进程占有和利用资源的有关情况);*进程间同步和通信;■资源占用信息:*虚拟地址空间的现状、I/O信息、文件系统信息等;*占用内存大小及其管理用数据结构指针;*在复杂系统中,内存对换和覆盖用的有关信息;*共享程序段大小及其起始地址;I/O设备号、要传送的数据长度、缓冲区地址和长度、与设备相关的数据结构指针*指向文件系统的指针及有关标识。CPU现场保护结构寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针)■与进程有关的所有现场信息都保存在PCB中;■进程执行结束后,OS通过释放PCB释放进程占有的资源■进程上下文是对进程执行活动全过程的静态描述。■进程上下文的构成:与进程有关的各种寄存器(如通用寄存器、程序计数器PC、程序状态字PSW等)程序段经过编译后形成的机器指令代码集(正文段)*数据集和各种堆栈值PCB结构■进程在执行时所拥有的地址空间称为进程空间;进程空间的大小只与处理机的位数有关;一个进程的生命期可以划分为:就绪状态执行状态*等待状态(又称为阻塞状态)*执行状态(Running):占用处理机资源;处于此状态的进程的数目小于等于CPU的数目。*在没有其他进程可以执行时(如所有进程都在等待状态),通常会自动执行系统的idle进程(相当于空操作)。*就绪状态(Ready):进程已获得除处理机外的所需资源,等待分配处理机资源;只要分配CPU就可执行。*可以按多个优先级来划分队列,如:时间片用完一>低优,I/O完成一>中优,页面调入完成一>高优*等待状态(Wait):由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前无法继续执行。该事件发生前即使把处理机分配给该进程,也无法运行。如:等待I/O操作的完成。发生而睡眠■进程控制:系统使用一些具有特定功能的程序段来创建、撤消进程以及完成进程各状态间的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的。■进程控制--原语原语:把系统态下执行的某些具有特定功能的程序段称为原语。原语分为:指令级原语:在执行期间不允许中断;功能级原语:不允许并发执行。用于进程控制的原语有:创建原语、撤消原语、阻塞原语、唤醒原语。■进程的创建方式:*由系统程序模块统一创建由系统统一创建的进程之间的关系是平等的,它们之间一般不存在资源继承关系。*由父进程创建在父进程与子进程之间存在隶属关系,且互相构成树型结构的家族关系。属于某个家族的一个进程可以继承其父进程所拥有的资源。奉无论以哪一种方式创建进程,在系统生成时,都必须由操作系统创建一部分承担系统资源分配和管理工作的系统进程。■无论是系统创建方式还是父进程创建方式,都必须调用创建原语来实现。以下几种情况下进程被撤消:*该进程已完成所要求的功能而正常终止;*由于某种错误导致非正常终止;*祖先进程要求撤消某个子进程。■阻塞原语:将进程由执行状态变为阻塞状态(等待状态);■唤醒原语:将进程由阻塞状态变为就绪状态。临界区不允许多个并发进程交叉执行的一段程序称为临界区(CriticalSectionorCriticalRegion);临界区是由属于不同并发进程的程序段共享公用数据或变量而引起的;临界区不可能用增加硬件的方法来解决。因此,临界区也可以被称为访问公用数据的那段程序。互斥:不允许两个以上的并发进程同时进入临界区称为互斥。■并发进程互斥执行必须满足:*不能假设各并发进程的相对执行速度;某个进程不在临界区时,它不能阻止其他进程进入临界区;*若干个并发进程申请进入临界区时,只能有一个进程进入临界区;申请进入临界区的进程应在有限时间内得以进入临界区。死锁,指多个进程互不相让,都得不到足够的资源,只好一直处于等待状态;饥饿,指一个进程一直得不到资源(其他进程可能轮流占用资源)。使用临界区加锁的方法可以实现并发进程互斥地访问临界区:当某个进程进入临界区之后,它将锁上临界区,直到它退出临界区时为止。其他并发进程在申请进入临界区时,首先测试该临界区是否是上锁的,如果该临界区已被锁住,则该进程要等到该临界区开锁之后才有可能获得临界区。设临界区的类名为S,为了保证每一次临界区中只能有一个程序段被执行,又设锁定位Key[S]。Key[S]表示该锁定位属于类名为S的临界区,加锁后的临界区程序如下:Lock(Key[S])(临界区)Unlock(Key[S])Key[S]=0时表示临界区不可用,Key[S]=1时表示临界区可用。通常,信号量sem大于等于零时,代表可供并发进程使用的资源数,小于零时表示等待使用临界区的进程数。信号量的数值仅能由P,V原语操作改变,一次P原语操作使信号量sem减1,而一次V原语操作将使信号量sem加1。当某个进程正在临界区内执行时,其他进程如果执行了P原语操作,则该进程并不象调用lock时那样因进不了临界区而返回到起点,等以后重新执行测试,而是在等待队列中等待有其他进程做V原语操作释放资源后,进入临界区,这时P原语的执行才真正结束。另外,当有好几个进程执行P原语未通过而进入待状态之后,如果有某个进程作了V原语操作,则等待进程中的一个可以进程临界区,其他进程必须等待。P原语操作功能semi=serri'l调用lit程入蟀待佻列转进程胴度P原语的实现P伊begin封建中断:lock(lockbitjval[sem]-val[sein]-1ffval[sem]<0保护当前进程CPU现物当前姓程徂态曾为」等待-将当前进程插入悄号的等待队列转进程调度unlock(lockbit);拜成中断end■V原语操作功能5em=seiri+lV5…―醇语的实现一begin封悼中断:lock(lockbit)val£seni]=val[sem]+1ifval[sem]W0localk从sem的萼符队列中选一旌程,共指针置为k将k插入就绪队列进程状态囹角穴就靖叫:Hunlock(Fockbit);开放中断end为临界资源设置一个互斥信号量sem,其初值为1;在每个进程中将临界区代码置于P(sem)和V(sem源语之间。必须成对使用P和V原语:遗漏P原语则不能保证互斥访问,遗漏V原语则不能在使用临界资源之后将其释放(给其他等待的进程);P、V原语不能次序错误、重复或遗漏。同步:所谓同步就是并发进程在一些关键点上可能需要相互等待与互通消息,这样的相互制约关系称为进程同步。互斥的概念来自于诸进程对独占使用资源(设备)的竞争;同步来源于多个进程的合作。■私用信号量(PrivateSemaphore)*与进程互斥时使用的公用信号量相对*公用信号量用于整组并发进程的互斥*私用信号量用于制约进程与被制约进程之间实现同步执行,与其他进程无关。利用P,V原语实现进程同步的方法与利用Wait和Signal过程相同,也是分三步:奉首先为各并发进程设置私用信号量奉为私用信号量赋初值奉最后用P,V原语和私用信号量 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 各进程的执行顺序。进程同步举例:缓冲区队列读、写操作*Deposit(data)^Remove(data)描述:Pa:depositedata):IbeginlocalxP(Bufempty)按FIFO方式选择个空缓冲区Buf(»0Buf(x),dataBuf(x)置满标记V(Buffull)«ndPb:remove(data)beginlocalxP(Buffull)按FIFO方式选驿-个满缓冲区Buf(x)data-*Buf(x)Buf{x)置空标记V(Bufempty)end高级通信:能够传送任意数量的数据,包括三种方式:消息缓冲区、邮箱机制、管道。■在单机系统中,进程间的通信可以分为:*主从式*会话式*消息或邮箱机制*共享存诸区方式管道通信plpeg)与fd[L]EE]读端wtite(fd[1]upsize)IIread(fd[OLbufrsize)端无名管道为建立管道的进程及其子孙进程提供了一条以比特流方式传送消息的通信管道■所谓死锁,是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源,从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。奉死锁的起因是并发进程的资源竞争。奉产生死锁的根本原因:系统提供的资源个数少于并发进程所要求的该类资源数。奉可采用适当的资源分配方法避免死锁。■死锁发生的必要条件互斥条件:一个资源一次只能被一个进程所使用;非剥夺条件:进程所获得的资源在未使用完毕前,不能被别的进程强行剥夺,只能由获得该资源的进程自己释放。部分分配条件:进程每次申请它所需要的一部分资源,在等待新资源的同时,继续占有已分配到的资源。环路条件:若干个进程构成环行请求链,链中每个进程已获得的资源同时被下一个进程请求。■解决死锁的方法:*预防:限制并发进程对资源的请求避免:在分配资源时,根据资源的使用情况做出预测检测与恢复:当死锁发生时,通过外力破坏死锁发生的必要条件,从而使得并发进程从死锁状态中恢复出来。死锁检测算法主要是检查是否有循环等待。线程的概念一个进程内的基本调度单位称为线程(Tread)或称为轻权进程(lightweightprocess),这个调度单位既可以由操作系统内核控制,也可以由用户程序控制。线程与进程的比较进程是资源分配的基本单位,线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。*进程是抢占CPU资源的调度单位,它拥有一个完整的虚拟地址空间。当进程发生调度时,不同的进程拥有不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。线程只由相关堆栈、寄存器和线程控制表TCB组成。寄存器可被用来存储线程内的局部变量,但不能存储其他线程的相关变量。*进程切换时将涉及到有关资源指针的保存以及地址空间的变化等问题,线程切换时不会涉及到资源信息的保存和地址空间的变化问题,从而减少了OS的开销。进程的调度与切换都是由OS内核完成,线程既可以由OS内核完成,也可由用户程序进行。线程有三个基本状态:执行、就绪、阻塞
本文档为【操作系统第三章复习】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_113440
暂无简介~
格式:doc
大小:62KB
软件:Word
页数:9
分类:
上传时间:2018-05-18
浏览量:0