还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第一章★
1.操作系统的概念一般把操作系统定义为用以控制和管理计算机系统资源以便顾客使用的程序和数据构造的集合★
2.操作系统的基本类型批处理操作系统、分时操作系统、实时操作系统、个人计算机操作系统、网络操作系统、分布式操作系统
①批处理操作系统特点顾客脱机使用计算机成批处理多道程序运行长处由于系统资源为多种作业所共享,其工作方式是作业之间自动调度执行并在运行过程中顾客不干预自己的作业,从而大大提高了系统资源的运用率和作业吞吐量缺陷无交互性,顾客一旦提交作业就失去了对其运行的控制能力;并且是批处理的,作业周转时间长,顾客使用不以便批处理系统中作业处理及状态
②分时操作系统Time SharingOS分时操作系统是一种联机的多顾客交互式的操作系统,如是多顾客分时操作系统UNIX分时计算机系统由于中断技术的使用,使得一台计算机能连接多种顾客终端,顾客可通过各自的终端使用和控制计算机,我们把一台计算机连接多种终端的计算机系统称为分时计算机系统,或称分时系统分时技术把处理机的响应时间提成若于个大小相等或不相等的时间单位,称为时间片如毫秒,每个终端顾客获得100就等于获得一种时间片,该顾客程序开始运行,当时间片到用完,顾客程序暂停运行,等待下一次运行CPU,特点人机交互性好在调试和运行程序时由顾客自己操作共享主机多种顾客同步使用顾客独立性对每个顾客而言好象独占主机
③实时操作系统real-time OS实时操作系统是一种联机的操作系统,对外部的祈求,实时操作系统可以在规定的时间内处理完毕特点有限等待时间有限响应时间顾客控制可靠性高系统出错处理能力强设计实时操作系统要考虑的某些原因实时时钟管理1持续的人—机对话2过载3高度可靠性和安全性需要采用冗余措施4
④通用操作系统同步兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能Pdeposit databegin localxAP Bufempty;按FIFO方式选择一个空缓冲区Bufx;Bufx—dat置满标记Bufx vBuffiinendPremove dataBegin localx PBuffiill;按FIFO方式选择一个装满数据的缓冲区Bufx data-Buf%Buf%置空标B记VBufemptyEnd★
7.生产者与消费者问题对于生产者进程产生一种数据,当要送入缓冲区时,要检查缓冲区与否已满,若未满,则可将数据送入缓冲区,并告知消费者进程;否则,等待;对于消费者进程当它去取数据时,要看缓冲区中与否有数据可取,若有则取走一种数据,并告知生产者进程,否则,等待这种互相等待,并互通信息就是经典的进程同步同步,缓冲区是个临界资源,因此,诸进程对缓冲区的操作程序是一种共享临界区,因此,尚有个互斥的问题depositdatabeginPavail Pmutex送数据入缓冲区有界缓艇«P-某单元2*P/-VfiillVmutex12-►-►…一►nend removedata beginPfiillPmutex取缓冲区中某单元数据VavailVmutex Endfull缓冲区产品数目,初值为O;ornpty:缓冲区可存放产品的主位,初值为nIDLltOX:对中区后■信■号■火丁,制J值.为1;prodi_icer,consume ITO{{wh ile产未完while迁蔓继续消费{P full;生产一个产品;pmutex;从缓冲区中取电一个产品;p empty;vmutex;pmutex;v empty;楂产品放入缓冲区;F消费一个产品;vmutex;v full;
8.进程通信}通信意味着进程间传递数据操作系统可以看作是多种进程构成的,这些进communication程都具有各自独立的功能,且大多数都被外部需要而启动执行在单机系统中进程的通信有种形式4主从式1会话式2消息或邮箱机制3共享存储区方式4会话方式的特点⑴使用进程在使用服务进程所提供的服务之前,必须得到服务进程的许可⑵服务进程根据使用进程的规定提供服务,但对所提供服务的控制由服务进程自身完毕使用进程和服务进程在进行通信时有固定连接关系3消息或邮箱机制的特点是只要存在空缓冲区或邮箱,发送进程就可以发送消息1与会话系统不一样,发送进程和接受进程之间无直接联接关系2发送进程和接受进程之间存在缓冲区或邮箱用来寄存被传送消息3邮箱通信就是由发送进程申请建立一与接受进程联接的邮箱设置邮箱的最大好处是发送进程和接受进程之间没有时间上的限制共享存储区方式不规定数据移动,两个需要互相互换信息的进程通过共享数据区的操作到达互相通信的目的死锁问题
9.死锁指个并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源从而导致大家都想得到资源而又得不到资源,个并发进程不能继续向前推进的状态★死锁的起因主线原因在于系统提供的资源个数少于并发进程所规定的该类资源数★产生死锁有四个必要条件互斥条件并发进程所规定和占有的资源是不能同步被两个以上进程使用或操作的,进程对他所需要的资源进行排他性1控制不剥夺条件进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放2部分分派进程每次申请它所需要的一部分资源,在等待新资源的同步,继续占用已分派的资源3环路等待条件存在一种进程循环链,链中每一种进程已获得的资源同步被下一种进程所祈求4只要有一种条件不满足,死锁就可解除防止死锁破坏“祈求与保持条件”每个进程在运行之前,必须预先提出自己所要使用的所有资源,调度程序在该进程所需要的资源
1.末得到满足之前,不让它们投入运行,并且当资源一旦分派给某个进程之后,那么在该进程的整个运行期间对应资源一直被它占有,这就破坏了产生死锁的部分分派条件破坏环路条件对系统提供的每一项资源,由系统设计者将它们按类型进行线性排队,并赋予不一样的序号
2.资源受控动态分派为了防止死锁发生,操作系统必须根据预先掌握的有关资源使用方法的信息控制资源分派,使得共同
3.进展途径的下一步不致于进入危险区,即只要有产生死锁的也许性,就防止把一种资源分派给一种进程死锁的检测和恢复资源剥夺法
1.还原算法即恢复计算成果和状态1建立检查点重要是用来恢复分派前的状态2撤销进程法
2.按一定的次序中断进程序列,直至已释放到有足够的资源来完毕剩余的资源为止第四章.一种作业从提交给计算机系统到执行结束退出系统,一般都要经历提交、收容、执行和完毕四个状态1一种作业在其处在从输入设备进入外部存储设备的过程成为提交状态处在提交状态的作业,因其信息尚未所有进入系统,因此不能被调用程序选用收容状态也称为后备状态,输入管理系统不停地将作业输入到外存中对应部分或称输入井,即专门用来寄存待处理作业信息的一组外存分区若一种作业的所有信息已所有被输入进输入井,那么,在它尚未被调度去执行之前,该作业处在收容状态作业调度程序从后备作业中选用若干作业到内存投入运行它为被选中作业建立进程并分派必要的资源,这时,这些被选中的作业处在执行状态当作业运行完毕,但它所占用的资源尚未所有被系统收回时,该作业处在完毕状态一般来说,处理机调度可分为级作业调度、互换调度、进程调度、线程调度4作业调度又称宏观调度或高级调度,其重要任务是按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分派内存、输入输出设备等必要的资源,并建立对应的根程序,以使该作业的进程获得竞争处理机的权利,此外,当该作业执行完毕时,还负责回收系统资源互换调度又称中级调度,其重要任务是按照给定的原则和方略,将处在外存互换区中的就绪状态或就绪等待状态的进程调入内存,或把处在内存就绪状态或内存等待状态的进程互换到外存互换区互换调度重要波及内存的管理和扩充,一般将它归在存储管理之中进程调度又称微观调度或低级调度,其重要任务是按照某种方略和措施选用一种处在就绪状态的进程占用处理机只有在多道批处理系统中才有作业调度,而在分时和实时系统中一般只有进程调度、互换调度和线程调度这是由于在分时和实时系统中,为了缩短响应时间或为了满足顾客需求的截止时间,作业不是建立在外存中,而是直接建立在内存中.作业调度2作业调度的功能记录系统中各作业的状况,包括执行阶段的有关状况一般,系统为每个作业建立一种作业控制表记录这些有关信1JCB息作业控制块JCB在作业调度的过程中记录作业各方面的信息它随作业的创立而产生,随作业的撤销而被清除从后备队列中选用一部分作业投入执行2为被选中的作业做好执行前的准备工作3在作业执行结束时做好善后处理工作4作业调度目的对所有作业应当是公平合理的1应使设备有高的运用率2每天执行尽量多的作业3有快的响应时间4对于批处理系统,作业的平均周转时间或平均带权周转时间,被作为衡量调度算法优劣的原则;对于分时系统和实时系统,外加平均响应时间作为衡量调度算法优劣的原则★1周转时间作业从提交时刻到完毕时刻称为作业的周转时间i Ti=Tei-Tsi为作业的完毕时间,为作业的提交时间Tei iTsi一种作业的周转时间阐明了该作业在系统内停留的时间,包括两部分一是等待时间;二为执行时间Ti=Twi+Tri重要是指作业由后备状态到执行状态的等待时间,它不包括作业进入执行状态后的等待时间Twi i★一批作业的平均周转时间为nT==l/n LTii=l★带权周转时间作业周转时间作业执行时间Wi=Ti/Tri TiTri★一批作业的平均带权周转时间为nW=l/n LWi i=l进程调度
3.进程调度的功能:
①用块记录系统中所有进程的执行状况PCB
②按照一定的调度算法,选择一种处在就绪状态的进程,给它分派处理机(这是最重要的功能)
③实行进行进程上下文的切换引起进程调度的原因()正在执行的进程执行完毕这时,假如不选择新的就绪进程执行,将挥霍处理机资源1()执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态2
(3)执行中进程调用了P原语操作,从而因资源局限性而被阻塞;或调用了V原语激活了等待资源的进程队列
(4)执行中进程提出了I/O祈求后被阻塞()在分时系统中时间片已经用完5()在执行完系统调用,在系统程序返回顾客进程,可认为系统进程执行完毕,从而可调度选择一新的顾客程序执行6以上都是执行不可剥夺方式下做引起的进程调度的原因,在执行方式是可剥夺时,尚有CPU CPU()就绪队列中的某进程的优先级变得高于目前执行进程的优先级,从而也将发生进程调度7可剥夺方式即就绪队列中一旦有优先级高于目前进程优先级的进程存在时,便立即发生进程调度,转让处理机非剥夺方式(不可剥夺方式)虽然在就绪队列存在有优先级高于目前执行进程时,目前进程仍将继续占有处理机,直到该进程因自己调度调用原语操作或、等待进入阻塞状态或时间片用完时才重新发生调度让出处理机I/O进程调度性能评价
(1)进程调度性能是衡量操作系统性能的一种重要指标()在大多数状况下,运用测试或模拟系统响应时间的措施来评价进程调度的性能2★
4.调度算法
①先来先服务()算法FCFS将顾客作业和就绪进程按提交次序或变成就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理长处在一般意义下是公平的,即每个作业或进程都按照它们在队列中等待时间长短来决定它们与否优先享有服务缺陷对于那些执行时间较短的作业或进程来说,假如它们在某些执行时间很长的作业或进程之后抵达,则它们等待很长时间
②(时间片)轮转法()RR算法描述就绪队列按进程抵达的时间来排列处理机的时间被分为固定大小的时间片调度程序总是选择就绪队列中的第一种进程一种执行进程假如在用完一种时间片后还没有完毕其任务,它就自动释放处理机回到就绪队列的末尾重新排队,等待下一次被调度缺陷只能用来分派那些可抢占资源,并且这种算法只能用于进程调度,不能用于作业调度(作业调度包括了不可抢占资源)时间片的选用非常重要,时间片长度的选择会直接影响系统开销和响应时间假如时间片长度过短,则调度程序剥夺处理机的次数增多,这将使进程上下文互换次数也大大增长,加重了系统开销假如时间片长度选择过长(大),大到一种进程足以完毕其所有运行工作所需的时间,那么时间片轮转法就退化为先来先服务方略了最佳的时间片量值应能使分时顾客得到好的响应时间时间片确实定在轮转法中,时间片长度根据系统对响应时间的规定和就绪队列中所能容纳的最大进程数确定的q RNmax q=R/Nmax一种改善的措施就是每当一轮调度开始时,系统根据就绪队列中目前的进程数计算一次作为新一轮调度的时间片q,
③多级反馈轮转法(进程调度)
(1)在时间片轮转法中设置三个就绪队列时间片完毕就绪队列a.等待结束就绪队列b..新进程就绪队列c
(2)每个队列建立时按FCFS排列,同一队列中进程的优先级相似,不一样队列具有不一样的优先级优先级高的队列中进程的时间片短,优先级低的队列中进程的时间片长
(3)进程调度时,先调度高优先级就绪队列中的进程,当高优先级就绪队列为空时才调度优先级低的就绪队列中的进程()一种进程在执行过程中要经历不一样的就绪队列4
④优先级法算法描述按照某种原则给作业或进程确定一种优先级,进程的就绪队列或作业的后备队列按对象的优先级进行排列,高前低后对象进入队列是插入当调度发生时,排列在最前面的进程或作业被调度确定优先级的措施有两类动态法和静态法静态法是根据作业或进程的静态特性,在作业或进程开始执行之前就确定它们的优先级,一旦开始执行后就不能变化动态法把作业或进程静态性和动态性结合起来确定作业或进程的优先级,伴随作业或进程的执行过程,优先级不停变化作业调度中静态优先级确定原则()由顾客自己根据作业的紧急程度输入一种合适的优先级1
(2)由系统或操作员根据作业类型指定优先级
(3)系统根据作业规定资源状况确定优先级进程调度静态优先级确定原则()按照进程的类型给与不一样的优先级1()将作业的静态优先级作为它所属进程的优先级2由于在进程调度中静态优先级确定措施的缺陷系统效率低、调度性能不高,因此多采用动态的措施确定优先级进程调度动态优先级确定原则
(1)根据进程占有CPU时间的长短来决定一种进程占有处理机时间越长,则在被阻塞后再次获得调度的优先级越低,反之,获得调度的也许性越大
(2)根据就绪进程等待CPU的时间长短来决定一种就绪进程在就绪队列中等待的时间越长,则它获得调度选中的优先级就越高
⑤最短作业优先法(作业调度)SJF选择那些估计需要执行时间最短的作业投入执行,为它们创立进程和分派资源长处可使得系统在同一时间内处理的作业个数最多,从而吞吐量也就不小于其他调度方式缺陷对于一种不停有作业进入的批处理系统来说,最短作业优先法有也许使得那些长作业永远得不到调度执行的机会
⑥最高响应比优先法(作业调度)综合平衡和既考虑等待时间长的作业,也照顾执行时间短的作业FCFS SJF,响应比(等待时间执行时间)执行时间R=W+T/T长处长作业有机会获得调度执行缺陷同一时间内处理的作业数少于最短作业优先法,吞吐量也不不小于最短作业优先法调度前计算响应比,系统开销增长算法评价算法FCFS入作业抵达率;U服务器(主机)的服务率;只有当入V口时系统才是稳定的n系统中的平均作业个数;R系统响应时间;P:A/ii,是系统中存在作业的概率,1・P是系统中没有作业的概率()n=P/I-PLittle成果n=入R;R=n/X算法的评价FCFS()R=n/X=p/I-p*1/X算法RRq时间片;每个进程平均需要的时间片数,即该进程抵达等待队列的次数;k:线性优先级法的调度性能平均服务时间,贝」1/U:I l/U=kXq算法的评价RR已使用过次时间片的进程的响应时间是k()(())R k=P/X1-p=l/(U(l-P))=kXq/(l-p)方式短作业驻留时间与长作业相似,对短作业不利FCFS轮转法所需服务时间短的顾客响应时间将会不不小于所需服务时间长的顾客响应时间实时调度算法分类静态表格驱动类、静态优先级驱动抢先式调度算法类、动态计划调度算法类、竭力而为调度算法类具有代表性的实时调度算法时限式调度法(静态表格驱动类代表)是一种以满足顾客规定期限为调度原则的算法算法描述时限有两种处理开始时限和处理结束时限,在实际中可以使用任一种时限频率单调调度(静态优先级驱动抢先式调度算法类代表)是一种被广泛用于多周期性实时处理的调度算法其基本原理是频率低(周期越长)的任务优先级越低第五章.存储器能接受数据和保留数据、并且能根据命令提供这些数据的装置1存储器提成两类内存储器(简称内存、主存、物理存储器)外存储器(简称外存、辅助存储器)虚拟存储器为顾客提供一种不受物理存储器构造和容量限制的存储器的技术称为虚拟存储器,或称虚拟存储技术虚拟存储器需要大容量的外存储器的支持,或称物资基础程序地址顾客编程序时所用的地址(或称逻辑地址、虚地址),基本单位可与内存的基本单位相似,也可以不相似程序地址空间(逻辑地址空间、虚地址空间)顾客的程序地址的集合称为逻辑地址空间,它的编址总是从开始的,可以0是一维线性空间,也可以是多维空间物理地址把内存提成若干个大小相等的存储单元,每个单元给一种编号,这个编号称为内存地址(物理地址、绝对地址、实地址),存储单元占位,称作字节()8byte o物理地址空间物理地址的集合称为物理地址空间(主存地址空间),它是一种一维的线性空间安排进程的地址措施
(1)按照物理存储器中的位置赋予实际物理地址好处CPU执行目的代码时的执行速度高害处由于物理存储器的容量限制,能装入内存并发执行的进程数将会大大减少,对于某些较大的进程来说,当其所规定的总内存容量超过内存容量时将会无法执行;由于编译程序必须懂得内存的目前空闲部分及其地址,并且把一种进程的不一样程序段持续的寄存起来,因此编译程序将非常复杂
(2)编译链接程序把顾客源程序编译后链接到一种以0地址为始地址的线性或多维虚拟地址空间.存储管理功能2★地址映射将程序地址空间中使用的逻辑地址变换成主存中的地址的过程主存分派按照一定的算法把某一空闲的主存辨别配给作业或进程存储保护保证顾客程序(或进程映象)在各自的存储区域内操作,互不干扰提供虚拟存储技术使顾客程序的大小和构造不受主存容量和构造的限制,虽然在顾客程序比实际主存容量还要大的状况下,程序也能对的运行.★实现地址映射有三种方式
1.编程或编译时确定地址映射关系
2.静态地址映射
3.动态地址映射()编程或编译时确定地址映射关系1编程时确定虚一实地址的关系是指在用机器指令编程时,程序员直接按物理内存地址编程,这种程序在系统中是不能做任何移动的,否则就会出错()静态地址映射2静态地址映射是在程序装入内存时完毕从逻辑地址到物理地址的转换的在某些初期的系统中均有一种装入程序(加载程序),它负责将顾客程序装入系统,并将顾客程序中使用的访问内存的逻辑地址转换成物理地址长处实现简朴,不要硬件的支持缺陷程序一旦装入内存,移动就比较困难有时间上的挥霍在程序装入内存时要将所有访问内存的地址转换成物理地址必须占用持续的内存空间,很难做到程序和数据的共享()动态地址映射3动态地址映射是在程序执行时由系统硬件完毕从逻辑地址到物理地址的转换的动态地址映射是由硬件地执行时完毕的,程序中不执行的程序就不做地址映射的工作,这样节省了的时间重定位寄存器的内容由操作系统用特权指令来设CPU置,比较灵活实现动态地址映射必须有硬件的支持,并有一定的执行时间延迟现代计算机系统中都采用动态地址映射技术长处可以对内存进行非持续分派,动态重定位提供了实现虚拟存储器的基础,有助于程序段的共享动态地址映射技术能满足如下目的
(1)具有给一种顾客程序任意分派内存区的能力;
(2)可实现虚拟存储;
(3)具有重新分派的能力
(4)对于一种顾客程序,可以分派到多种不一样的存储区.内外存数据传播的控制3要实现内存扩充,在程序执行过程中,内存和外存之间必须常常地互换数据内外存的数据流动控制措施有两种一种是顾客自己控制程序,例子覆盖技术,一种初期的主存扩充技术,规定顾客理解程序构造,指定各程序段调入内存的先后次序另一种是操作系统控制,互换方式操作系统把等待状态的进程换出内存,而把等待事件已发生,处在就绪态的进程换A入内存祈求调入方式和预调入方式祈求调入方式在程序执行时,假如所要访问的程序段或数据段不在内存中,则B操作系统自动地从外存将有关程序段和数据段调入内存地一种操作系统控制方式预调入方式系统预测在不远的未来会访问到的哪些程序段和数据段,并在它们访问前调入.内存的分派和回收4在多道程序设计的环境中,内存分派的功能包括制定分派方略、构造分派用的数据构造、响应系统的内存分派的祈求和回收系统释放的内存区内存管理方略有种5()分派构造登记内存使用状况,供分派程序使用的表格和链表1
(2)放置方略确定调入内存的程序和数据在内存中的位置决定内存中放置信息的区域(或位置),即怎样在若干个空闲区中选择一种或几种空闲区的原则;()互换方略当内存局限性时,决定将某些信息调出内存的方略3()调入方略外存中的程序段和数据段什么时间按照什么样的控制方式进入内存4()回收方略回收的时机,对所回收的内存空闲区和已存在的内存空闲区的整顿
5.内存信息的共享与保护5常用的存储保护有三种硬件法、软件法、软硬件结合
(1)上下界保护(常用的硬件保护法)上界寄存器寄存程序装入内存后的开始地址(首址)下界寄存器寄存程序装入内存后的末地址鉴别式上界寄存器W物理地址《下界寄存器
(2)保护键法为每一种被保护存储块分派一种单独的保护键在程序状态字中则设置对应的保护键开关字段()界线寄存器与的顾客态或关键态工作方式相结合的保护方式顾客态进程只能访问那些在界线寄存器所规定3CPU范围内的内存部分,而关键态进程则可以访问整个内存地址空间.分区存储管理6分区管理把内存划提成若干个大小不等的区域,除操作系统占用一种区域之外,其他由多道环境下的各并发进程共享分区管理基本原理给每一种内存中的进程划分一块合适大小的存储区,以持续存储各进程的数据和程序,使各进程得以并发执行按分区的时机,分区管理可以分为固定分区、动态分区
(1)固定分区把内存空间提成若干个大小不等的区域,称为分区每个顾客程序(作业、进程)调入内存后,占用其中一种分区,程序运行完毕后释放该分区()动态分区2系统生成后,操作系统占用内存的一部分,剩余的部分作为一种空闲区,当一种顾客程序(作业、进程)调入内存时,把这个空闲区的低地址部分的区域分派给它,当有作业完毕后释放所占用的存储区在系统运行的过程中,系统中形成多种空闲的不持续的存储区,称主空闲分区的分派与回收固定分区时的分派和回收1当顾客程序要装入执行时,通过祈求表提出内存分派规定和所规定的内存空间大小存储管理程序根据祈求表查询分区阐明表,从中找出一种满足规定的空闲分区,并将其分派给申请者当进程执行完毕,不再需要内存资源时,管理程序将对应的分区状态置为未使用即可动态分区时的分派和回收2动态分区时的分派与回收重要处理三个问题分派空闲区、更新可用表、合并空闲区动态分区时的分派措施从可用表或自由链中寻找空闲区的措施初次适应算法、最佳适应算法、最坏适应算法
①初次适应算法初次适应算法的表是按空闲区首址升序的即空闲区表是按空闲区首址从小到大措施组织的分派时从表首开始,以祈求内存区的大小逐一与空闲区进行比较,找到第一种满足规定的空闲后,若空闲区大小与祈求区的大小相等,则将该空闲辨别配给祈求者,并撤销该空闲区所在表目;若不小于祈求区,就将该空闲区的一部分分派给祈求者,然后,修改空闲区的大小和首址
②最佳适应算法最佳适应算法是将申请者放入与其大小最靠近的空闲区中切割后的空闲区最小,若系统中有与申请区大小相等的空闲区,这种算法肯定能将这种空闲辨别配给申请者初次适应法则不一定这种算法最大的缺陷是分割后的空闲区将会很小,直至无法使用,而导致挥霍
③最坏适应算法为了克服最佳适应算法把空闲区切割得大小的缺陷,人们提出了一种最坏适应算法,即每次分派时,总是将最大的空闲区切去一部分分派给祈求者,其根据是当一种很大的空闲区被切割了一部分后也许仍是一种较大的空闲区防止了空闲区越分越小的问题动态分区的分派与回收3分派算法中切割空闲区是从低地址开始的,剩余的部分仍作为一种空闲区,门限值是切割空闲区后剩余的区域若不不小于门限值,就不切割该空闲区,统统分给申请者这三种放置算法的优劣很难辨别,要详细状况详细分析例如某时刻系统中有三个空闲区,其大小和首址为、、有一作业系列:35KB,100KB12KB,156KB28KB,200KB JOBLo单位KB大:不、首址大
1、首址351OO2312156121562820028200O O=^*7(单位K B大小首址大:小首址大
1、首址大小首址121562820028200528200351OO5130O13351OO O OO最佳适应算法大小首址大
1、首址351OO23亶122820028200彳自岂地续迸行分昌二1215612156OO、、12KB JOB2,30KB JOB3,28KB从搜索速度上看,最先适应算法具有最佳性能从回收过程来看,最先适应算法也是最佳的最先适应法尽量地运用了地地单位KB址空间,从而保证高地址有较大的空闲区来放置规定内存较多的作业或进程最佳适应法找到的空闲区是最佳的,最坏适应法是基于不留下碎片空闲区这一点出发的,它选择最大的空闲区来满足顾客的需求,以期分派后的剩余部分仍能进行再分派分区存储管理的优缺陷jotl(单位KB单位KB单位KB长处实现了多种作业或进程对内存的共享,有助于多道程序设计,从而提高了系统的资源运用率1该措施规定的硬件支持少,管理算法简朴,因而轻易实现2缺陷内存运用率仍然不高1作业或进程的大小受分区大小控制,除非配合采用覆盖技术和互换技术2无法实现各分区之间的信息共享3覆盖与互换技术.覆盖与互换技术是在多道环境下用来扩充内存的两种措施7覆盖技术规定程序员提供一种清晰地覆盖构造即程序员必须完毕把一种程序划提成不一样的程序段,并规定好它们的执行和覆盖次序的工作操作系统根据程序员提供的覆盖构造来完毕程序段之间的覆盖互换技术是指先将内存某部分的程序或数据写入外存互换区,再从外存互换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术互换技术不规定程序员给出程序段之间的覆盖构造,互换重要是在进程或作业之间进行,覆盖则重要是在同一种作业或进程内执行,覆盖只能覆盖那些与覆盖程序段无关的程序段互换进程由换入和换出两个过程构成.页式管理8页式管理的基本原理首先,进程虚拟地址空间提成大小相等的页面,进程的虚拟地址变为页号与页内地址构成内存空间也按页的大小划P W分称片或页面,这些页面为系统中的任一进程所共享除去操作系统以外,分页管理时,顾客进程在内存空间内除了在每个页面内地址持续之外,每个页面之间不再持续采用祈求调页或预调页技术实现内外存存储器的统一管理页式虚拟地址变为内存页面物理地址页式管理把页式虚拟地址与内存页面物理地址建立一一对应页表,并用对应的硬件地址变换机构,来处理离散地址变换问题页式存储管理要处理如下问题页式存储管理系统的地址映射;1调入方略;2淘汰方略;3放置方略4静态页面管理静态页面管理措施是在作业或进程开始执行之前,把该作业或进程的程序段或数据所有装入内存的各个页面中,并通过页表和硬件变换地址机构实现虚拟地址到内存物理地址的地址映射
①内存页面分派和回收静态页面管理的第一步是为规定内存的作业或进程分派足够的页面系统依托存储页面表、祈求表以及页表来完毕内存的分派工作页表是页式存储管理的数据构造,它包括顾客程序空间的页面与内存块的对应关系、页面的存储保护和存取控制方面的信息最简朴的页表是由页号和页面号构成,页表在内存中占有一块固定的存储区,大小由进程或作业的长度来决定页式管理时每个进程至少拥有一种页表祈求表用来确定作业或进程的虚拟空间的各页在内存中的实际对应位置系统应当懂得每个作业或进程的页表起始地址和长度,以进行内存分派和地址变换祈求表中还应当包括每个进程或作业所祈求的页面数存储页表指出内存各页面与否已被分派出去,以及未分派页面的总数一般有两种记录空闲存储块的措施位图法和链表法位图法在内存中划分一块固定区域,每个单元的每个比特代表一种页面,假如该页面已被分派,则对应比特位置否则置1,0链表法在空闲页面链中,对首页面的第一种单元和第二个单元分别放入空闲页面总数与指向下一种空闲页面的指针其他页面的第一种单元中则分别放入指向下一种页面的指针链表法由于使用了空闲页面自身的单元寄存指针,因此不占据额外的内存空间分派算法祈求表给出进程或作业规定的页面数,然后,由存储页面数表检查与否有足够的空闲页面,假如没有,则本次无法分派,假如有则首先分派设置页表,并填写祈求表中的对应表项后,按一定的查找算法,搜索出所规定的空闲页面,并将对应的页面号填入页表中静态页式管理的页面回收措施当进程执行完毕时拆除对应的页表,并把页表中的各页面插入存储页面表即可动态页式管理动态页式管理分为祈求页式管理和预调入页式管理祈求式分页存储管理与静态页式管理在内存块的分派与回收,存储保护某方面都十分相似,不一样之处在于地址重定位问题在祈求式分页存储管理的地址重定位时,也许会出现所需页面不在主存的状况,此时,系统必须处理如下两个问题()当程序要访问的某页不在内存时,怎样发现这种缺页状况?发现后应怎样处理?1
(2)当需要把外存上的某个页面调入内存时,此时内存中没有空闲块应怎么办?怎样发现不在内存中虚页的问题可以用扩充页表的措施处理增设缺页中断位和该页在外存的首址缺页中断位该位为“1”,表达此页已在内存;为“0”,表达该页不在内存当此位为0时,会发出“缺页”中断信号,以求得系统的处理抖动现象置换算法选择不妥,有也许产生刚被调出内存的页又立即被调回内存,调回内存很快又立即被调出内存,如此反复的局面这使得整个系统的页面调度非常频繁,以致大部分时间花费在主存和辅存之间的来回调入调出上的现象变化位该位为时,表达此页面在内存时数据未被修改正;为时,表达被修改正当此页面被选中为淘汰对象时,根“0”“1”据此位的取值来确定与否要将该页的内容进行磁盘回写操作页贝囿号中断位外存首址变化位号祈求页式管理中的置换算法置换算法在内存中没有空闲页面时被调用它的目的是选出一种被淘汰的页面把内存和外存统一管理的真正目的是把那些被访问概率非常高的页寄存在内存中因此,置换算法应当置换那些被访问概率最低的页,将它们移出内存比较常用的置换算法有随机淘汰算法(在系统设计人员无法确定哪些页被访问的概率较低时,随机地选择某个顾客的页面并将其换出)、轮转法(轮转法循回换出内存可用去内一种可以被换出的页,无论该页是刚被换进或已换进内存很长时RR间)和先进先出法FIFO(选择内存驻留时间最长的一页将其淘汰)近来最久未用页面淘汰算法(近来最久未用(LRU)页面淘汰算法的着眼点是在要进行页面淘汰时,检查这些淘汰对象的被访问时间,总是把最长时间未被访问过的页面淘汰出去这是一种基于程序局部性原理的淘汰算法也就是说,该算法认为假如一种页面刚被访问过,那么很快的未来被访问的也许性就大;否则被访问的也许性就小)近来至少用页面淘汰算法(近来至少用(LFU)页面淘汰算法的着眼点是考虑内存块中页面的使用频率,它认为在一段时间里使用得最多的页面,未来用到的也许性就大因此,当要进行页面淘汰时,总是把目前使用得至少的页面淘汰出去要实现页面淘汰算法,应当为每个内存中的页面设置一种计数器对某个页面访LFU问一次,它的计数器就加通过一种时间间隔,把所有计数器都清产生缺页中断时,比较每个页面计数器的值,把计数lo0o器取值最小的那个页面淘汰出去)最优页面淘汰算法(假如已知一种作业的页面走向,那么要进行页面淘汰时,应当把后来不再使用的或在最长时间内不会用到的页面淘汰出去,这样所引起的缺页中断次数肯定最小,这就是所谓的“最优(OPT)页面淘汰算法”遗憾的是,的前提是要已知作业运行时的页面走向,这是主线不也许做到的,因此页面淘汰算OPT OPT法没有实用价值,它只能用来做为一种标杆(或尺度),与别的淘汰算法进行比较假如在相似页面走向的前提下,某个淘汰算法产生的缺页中断次数与否靠近它)现象一般来说,对于任一作业或进程,假如给它的页面数越靠近于它所规定的页面数,则发生缺页的次数会越小Belady不过,使用算法时,有时会出现分派的页面数增多,缺页次数反而增长的奇怪现象这种现象称为现象FIFO Belady存储保护页式管理可认为内存提供两种方式的保护一种是地址越界保护,另一种是通过页表控制对内存信息的存取操作方式以提供保护地址越界保护可由地址变换机构中的控制寄存器的值——页表长度和所要访问的虚地址相比较来完毕存取控制保护的实现则是在页表中增长对应的保护位即可
⑤个人计算机上的操作系统个人计算机上的操作系统是联机的交互式单顾客操作系统,目前在个人计算机上使用的操作系统以系列和系windows linux统为主
⑥网络操作系统特性计算机网络是一种互连的计算机系统群体这些计算机在物理上是分散的1这些计算机是自治的,每台计算机有自己的操作系统,各自独立工作,它们在网络协议控制下协同工作2系统互连要通过通信设施硬件、软件来实现3系统通过通信设施执行信息互换、资源共享、互操作和协作处理4
⑦分布式系统Distributed System特性功能的分布1坚强性2高可靠性3★
3.操作系统的功能处理机管理、存储管理内存分派、存储保护、内存扩充、设备管理通道、控制器、输入输出设备的分派与管理,设备独立性、信息管理文献系统管理、顾客接口程序一级的接口、作业一级的接口.通道和中断技术4通道用于控制设备与内存间的数据传播启动后可独立于运行,实现与的并行I/O CPU CPU I/O通道有专用的处理器,可与并行工作O I/O CPU可实现联机处理O I/O中断是指在收到外部中断信号后,停止本来工作,转去处理该中断事件,完毕后回到本来断点继续工作CPU中断处理过程中断祈求,中断响应,中断点暂停目前任务并保留现场,中断处理例程,中断返回恢复中O断点的现场并继续原有任务监督程序发展为执行系统常驻内存executive system,★
5.多道批处理系统特点多道内存中同步寄存几种作业;O宏观上并行运行都处在运行状态,但都未运行完;OO微观上串行运行各作业交替使用CPU;长处资源运用率高和内存运用率较高;O CPU作业吞吐量大单位时间内完毕的工作总量大;o缺陷顾客交互性差整个作业完毕后或中间出错时,才与顾客交互,不利于调试和修改;O作业平均周转时间长短作业的周转时间明显增长;O多道程序系统中,要处理的问题同步互斥、内存不够、使用效率、内存保护.计算机硬件6构成计算机的基本硬件元素处理器、存储器、输入输出控制与总线、外部设备与操作系统有关的几种重要的寄存器数据寄存器■地址寄存器■条件码寄存器■程序计数器■指令计数器■程序状态字PSW■中断现场保护寄存器■过程调用用堆栈存储器的访问速度★页式管理的优缺陷长处由于它不规定作业或进程的程序段和数据在内存中持续寄存,从而有效地处理了碎片问题;1动态页式管理提供了内存和外存统一管理的虚存实现方式,使顾客可以运用的存储空间大大增长这既提高了主存的运2用率,又有助于组织多道程序执行缺陷规定有对应的硬件支持例如地址变换机构,缺页中断的产生和选择淘汰页面等都规定有对应的硬件支持这增长了机1器成本增长了系统开销,例如缺页中断处理2祈求调页的算法如选择不妥,有也许产生抖动现象3虽然消除了碎片,但每个作业和进程的最终一页总有一部分空间得不到运用假如页面较大,则这一部分的损失仍然较4大.段式管理9段式存储管理的基本思想把程序按内容或过程函数关系提成段,每段有自己的名字一种顾客作业或进程所包括的段对应于一种二维线性虚拟空间,也就是一种二维虚拟存储器段式管理程序以段为单位分派内存,然后通过地址映射机构把段式虚拟存储地址转化为内存中的实际地址和页式管理同样,段式管理也采用只把那些常常访问的段驻留内存,而把那些在未来一段时间内不被访问的段放在外存,待需要时自动调入内存的措施实现二维虚拟存储器段式与页式的比较段式页式分段由顾客设计自己划分,每段对应的程序模块,有完整的分页顾客看不见,由操作系统为内存管理划分逻辑意义页面是信息的物理单位段面是信息的逻辑单位页一般不能共享便于段的共享,执行时按需动态链接装入页面大小相似,位置不能动态增长段长不等,可动态装入,有助于新数据的增长一维地址空间二维地址空间段名、段中地址;段号、段内单元号管理形往往需要多次缺页中断才能把所需的信息完整地调入内存式上象页式,但概念不一样段式管理的实现原理段式管理把一种进程的虚地址空间设计成二维构造,即段号与段内相对地址段号与段号之间无次序关系,段的长度是S Wo不固定的每个段定义一组逻辑上完整的程序或数据例如,一种进程中的程序和数据可被划分为主程序段、子程序段、数据段与工作区段每个段是一种首地址为零、持续的一维线性空间段式管理的内存分派与释放段式管理中以段为单位分派内存,每段分派一种持续的内存区由于各段长度不等,因此这些存储区的大小不一并且,同一进程所包括的各段之间不规定持续段式管理的内存分派和释放是动态进行的,与分区式管理同样可以采用最先适应法、最佳适应法、最坏适应法等进行空闲辨别配内存回收法也同分区式管理当内存中没有足够的空闲区时,需要淘汰算法★段式管理的地址变换由于段式管理只寄存部分信息副本在内存,而大部分信息在外存中,这必然引起访问时发生所要访问的段不在内存现CPU象那么怎样感知到所要访问的段不在内存而启动中断处理程序呢?尚有,段式虚拟地址属于一种二维的虚拟空间,CPU怎样变换到一种一维线性物理地址呢?这些都由段式地址变换机构处理段式管理程序在进行初始内存分派之前,首先根据顾客规定的内存大小为一种作业或进程建立一种段表,以实现动态地址变换和缺段中断处理及存储保护等段式管理的地址变换一般在内存中给出一块固定的区域放置段表当某进程开始执行时,管理程序首先把该进程的段表始地址放入段表地址寄存器中通过访问段表寄存器,管理程序得到该进程的段表始地址从而可开始访问段表然后,由虚拟地址中的段号为索引,查段表若该段在内存,则判断其存取控制方式与否有错假如存取控制方式对的,则从段表对应s表目中查出该段在内存的起始地址,并将其和段内相对应地址相加,从而得到实际内存地址若该段不存在,则产生缺段w中断将控制权交给内存分派程序内存分派程序首先检查空闲区链,以找到足够长度的空闲区来装入所需的段假如CPU内存中的可用空闲区总数不不小于所规定的段长时,则检查段表中访问位,以淘汰那些访问概率低的段并将需要段调入段的共享与保护段式存储管理可以以便地实现内存信息共享和进行有效地内存保护这是由于段是按逻辑意义来划分的,可以按名访问的缘故段的共享在多道环境下,常常有许多子程序和应用程序是被多种顾客所使用的尤其是在多窗口系统、支持工具等广泛流行的今天,被共享的程序和数据的个数和体积都在急剧增长,有时往往超过顾客程序长度的许多倍内存只保留一种副本,供多种顾客使用,称为共享在多道环境下,由于进程的并发执行,一段程序为多种进程共享时,有也许出现多次同步反复执行该段程序的状况这就规定它在执行过程中,该段程序的指令和数据不能被修改共享段进行内外存互换时,应当设置一种共享位显然,一种正在被某进程使用或即将被某进程使用的共享段是不应当调出内存的段的保护地址越界保护法存取方式控制保护法12★段式管理的优缺陷长处提供了内外存统一管理的虚存实现段长可根据需要动态增长便于对具有完整逻辑功能的信息段进行共享便于实现动态链接缺陷需要更多的硬件支持处理碎片比较麻烦给系统管理带来一定的难度和开销每个段的长度受内存可用区大小的限制选择不恰当的淘汰算法,也许会产生抖动现象.段页式管理10段页式管理的基本思想段式管理为顾客提供了一种二维的虚地址空间,反应了程序的逻辑构造,有助于段的动态增长以及共享和内存保护等,这大大以便了顾客而分页管理系统则有效地克服了碎片,提高了存储器的运用率从存储管理的目的来讲,重要是以便顾客的程序设计和提高内存的运用率那么把段式管理和页式管理结合起来让其互取长补短不是更好吗?于是,段页式管理方式便被提了出来一般仅用于大型机段页式管理的实现原理段页式管理时的进程的虚拟地址空间中的虚拟地址由三部分构成即段号页号和页内相对地址S,P D由于虚拟空间的最小单位是页而不是段,从而内存可用区也就被划提成为若干个大小相等的页面,且每段所拥有的程序和数据在内存中可以分开寄存分段的大小也不再受内存可用区的限制为了实现段页式管理,系统必须为每个作业或进程建立一张段表,管理内存分派与释放、缺段处理、存储保护和地址变换等此外,由于一种段又被划提成了若干页,每个又必须建立一张页表,把段中的虚页变换成内存中实际页面显然,与页式管理时相似,页表中也要有实现缺页中断处理和页面保护等功能的表项此外,由于在段页式管理中,页表不再属于进程而属于段,因此,段表中应有页表首址和长度的项★动态地址变换过程在一般使用段页式存储管理的计算机系统中,都在内存中开辟出一块固定的区域寄存进程的段表和页表因此,在段页式管理系统中,要对内存中指令或数据进行一次存取的话,至少需要访问三次以上的内存显然,的执行指令速度大大减少CPU为了提高地址转换速度,设置迅速联想寄存器它用于寄存目前最常用的段号、页号和对应的内存页面与其他控制用栏目★局部性原理和抖动问题程序设计常识告诉我们,一种作业往往具有许多循环和子程序的构造因此,在作业运行期间,在一小段时间内,访问的地址空间往往只波及整个程序的一小部分在另一小段数据内,又只波及此外的一小部分这种现象称为局部性特性反应在页面综迹里,这种特性体现为,在任何一小段时间里,作业只集中于访问某几页所谓工作集,就是一种作业在某一小段时间内访问页面的集合如用表达在到之间所访问的不一样的页面,那么,这个就称之为作业在时间的工作集工作集长度是Wt,Z\t tW tWt,Zkt中的页面数工作集长度越短,局部性越突出一般来说,一种作业的工作集,在运行的不一样步刻是不一样的,工作集大小亦不相等并且,工作集大小与有关at At大小很难确定,过小,就不能体现一种工作集过渡到另一种工作集一般是缓慢的这一局部性特性一种进程执行过程中缺页的发生有两种也许一种是并发进程所规定的工作集总和不小于内存可提供的可用区这时,系统将无法正常工作,由于缺乏足够的空间装入需要的程序和数据另一种也许性是,虽然存储管理程序为每个并发进程分派了足够的工作集,但系统无法在开始执行前选择合适的程序和数据进入内存这种状况下,只能依托执行过程中,当发现所要访问的指令或数据不在内存时,由硬件中断后转入中断处CPU理程序,将需要的程序和数据调入系统抖动当给进程分派的内存不不小于所规定的工作集时,由于内存外存之间互换频繁,访问外存时间和输入输出处理时间大大增长,反而导致因等待数据空转,使得整个系统性能大大下降,这就导致了系统抖动CPU处理抖动问题、增长工作集大小;
1、选择不一样的淘汰算法,尽量保持工作集页面在内存中2实际上,为了使系统获得高效率,暂停一种作业,当其有足够数量的页面在主存时才恢复运行;而在调度一种新作业时,必须有足够多的空闲存储块,才让其进入主存寄存器大小指令的执行和中断操作系统的启动启动电源——产生中断信号——触发中的一段指令发现操作系统引导区位置——导入内存执行——操作系统程序加CPU载到内存制定区域一初始化硬件…….算法7算法的开始于结束begin....endrepeat操作…・・until条件当“条件”未被满足时反复所描述的“操作”条件操作….…当条件”满足时,进行对应的“操作”while dood条件操作操作fi满足所指的“条件”时,进行后的有关“操作”,否则完毕后的有关操作if thenelse if”“then”“else”第二章★L作业在一次应用业务处理过程中,从输入开始到输出结束,顾客规定计算机所做的有关该次业务处理的所有工作称为一种作业作业由不一样的次序相连的作业步构成,作业步是一种作业的处理过程中计算机所做的相对独立的工作.作业的组织2作业由三部分构成,即程序、数据和作业阐明书作业中包括的程序和数据完毕顾客所规定的业务处理工作,作业阐明书则体现顾客的控制意图★由作业阐明书在系统中生成一种称为作业控制块()的表格,包括作业名、估计执行时间、优先数(用于调JCB JCB度)、作业阐明书文献名、程序类型、资源规定(静态申请和动态申请)、作业状态(提交后各执行完毕)作业阐明书包括作业基本状况描述(顾客名、作业名、使用语言名、容许最大处理时间等)、作业控制描述(控制方式、操作次序、出错处理等)、作业资源规定描述(规定处理时间、内存空间、外设类型和数量、处理及优先级、库函数或实用程序等)★
3.怎样控制作业
①联机输入输出方式联机输入输出方式大多用在交互式系统中,顾客与系统通过交互式会话输入输出作业在联机输入输出方式中,外围设备直接与主机相连接
②脱机输入输出方式脱机输入又称为预输入方式,运用低级个人计算机作为外围处理机进行输入输出处理
③直接耦合方式把主机与低级外围通过一种公用的大容量外存直接耦合起来系统(外围设备同步联机操作)©SPOOLING多台外围设备通过通道或器件和主机与外存连接起来DMA
⑤网络联机方式网络联机方式以上述几种输入输出方式为基础当顾客通过计算机网络中的某一台设备对计算机网络中的另一台主机进行输入输出操作时,就构成了网络联机方式.系统调用4系统调用大体可分为类6设备管理该类系统调用被用来祈求和释放有关设备以及启动设备操作等1文献管理包括对文献的读、写、创立和删除等2进程控制包括进程创立、进程执行、进程撤销、进程等待和执行优先级控制等3进程通信该系统调用被用在进程之间传递消息或符号4存储管理包括调查作业占据内存区的大小、获取作业占据内存区的始址等5线程管理包括线程的创立、调度、执行、撤销等6系统调用的实现当顾客使用系统调用时,产生一条对应的指令,处理机在执行到该指令时发生对应的中断,并发出有关信号给该处理机制该处理机制在收到了处理机发来的信号后,启动有关的处理程序去完毕该系统调用所规定的功能陷进处理机构在系统中为控制系统调用服务的机构称为陷进处理机构陷进指令把由于系统调用引起处理机中断的指令称为陷进指令第三章.程序的并发执行1程序用来描述计算机所完毕的独立功能,并在时间上严格地按前后次序相继地进行计算机操作序列集合,是一种静态概念个程序由若干个程序段构成,而这些程序段的执行必须是次序的,这种程序执行的方式就称为程序的次序执行程序次序执行的特点次序性■
1.处理机严格按照程序所规定的次序执行,即每个操作必须在下一种操作开始之前结束.封闭性■2程序一旦开始执行,其计算成果不受外界的影响,当程序的初始条件给定之后,其后的状态只能由程序自身确定,即只有本程序才能变化它可再现性■
3.程序执行的成果与初始条件有关,而与执行时间无关即只要程序的初始条件相似,它的执行成果是相似的,不管它在什么时间执行,也不管计算机的运行速度多道程序系统中程序执行环境的变化执行环境的特点独立性■1在多道环境下执行的每道程序都是逻辑上独立的随机性■2程序和数据的输入和执行开始时间都是随机的资源共享■3软硬件资源的有限性导致资源共享程序并发执行若干个程序段同步在系统中运行,这些程序的执行在时间上是重迭的,一种程序段的执行尚未结束,另一种程序段的执行已经开始,虽然这种重迭是很小的,也称这几种程序段是并发执行的支.进程进程是一种程序对某个数据集的执行过程,是分派资源的基本单位
2.进程和程序的区别与联络
①程序是指令的集合,是静态的概念进程是程序在处理机上的一次执行的过程,是动态的概念程序可以作为软件资料长期保留进程是有生命周期的
②进程是一种独立的运行单位,能与其他进程并行并发活动而程序则不是
③进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位
④不一样的进程可以包括同一程序,只要该程序所对应的数据集不一样作业和进程的关系作业是顾客需要计算机完毕某项任务时规定计算机所做工作的集合而进程则是已提交完毕程序的执行过程的描述,是资源分派的基本单位其重要区别如下■作业是顾客向计算机提交任务的任务实体■一种作业可由多种进程构成■作业的概念重要用于批处理系统中进程描述在系统中一种进程存在进程控制块、有关程序段、数据构造集PCB
①进程控制块PCB ProcessControl Block包括一种进程的描述信息、控制信息及资源信息,有些系统尚有进程调度等待所使用的现场保护区集中反应一种进PCB程的动态特性在创立时,建立并伴随进程运行的全过程,当进程完毕其功能后,系统释放进程也随之消灭PCB,PCB,描述信息
1、进程名或进程标识号1name每个进程都必须有一种唯一的标识符,可以是字符串,也可以是一种数字系统中就是一种整型数在进程创立时UNIX由系统赋予、顾客名或顾客标识号2每个进程都从属于某个顾客,顾客名或顾客标识号有助于资源共享和保护、家族关系3process family有的系统容许一种进程可创立自己的子进程,子进程还可以创立,一种进程往往处在一种家族之中,就需要记录进程在家族中位置的信息控制信息
2、进程目前状态1status阐明进程目前所处的状态为了管理的以便,系统设计时会将相似的状态的进程构成一种队列,如就绪进程队列,等待进程则要根据等待的事件构成多种等待队列,如等待打印机队列、等待磁盘完毕队列等等I/O、进程优先级2priority进程的优先级反应进程的紧迫程度,一般由顾客指定和系统设置、执行程序开始地址3start-addr、多种计时信息4进程占用系统资源的状况,不一样的系统的处理差异很大、通信信息5communication information是指某个进程在运行的过程中要与其他进程进行通信,该区记录有关进程通信方面的信息资源管理信息3包括有关存储器的信息、使用输入、输出设备的信息、有关文献系统的信息、占用内存大小及管理用数据构造指针
1、在某些复杂系统中,尚有对换或覆盖用的有关信息
2、共享程序段大小及起始地址
3、输入输出设备的设备号,所要传送的数据长度、缓冲区地址、缓冲区长度及使用设备的有关数据构造指针等
4、指向文献系统的指针及有关标识等
5、现场保护区4CPU cpustatus当进程因某种原因不能继续占用时等待打印机,释放这时就要将的多种状态信息保护起来,为未来再CPUCPU,CPU次得到处理机恢复的多种状态,继续运行CPU
②进程上下文实际上是进程执行活动全过程的静态描述进程上下文是一种抽象的概念,它包括了每个进程执行过的、执行时的以及待执行的指令和数据,在指令寄存器、堆栈寄存个调用子程序的返回点和参数等,状态字寄存器等中的内容上文已执行过的进程指令和数据在有关寄存器与堆栈中的内容正文正在执行的指令和数据在有关寄存器与堆栈中的内容下文待执行的指令和数据在有关寄存器与堆栈中的内容
③进程上下文切换进程上下文切换发生在不一样的进程之间而不是同一种进程内包括个部分,第一部分为保留被切换进程的正文部分或3目前状态至有关存储区第二部分操作系统进程中有关调度和资源分派程序执行,并选用新的进程第三部分则是将被选中进程的本来被保留的正文部分从有关存储区中选出,并送至有关寄存器或堆栈中,激活被选中进程执行I进程P1执行中断或进程调用
④进程空间和大小任一进程均有自己的地址空间,把该空间称为进程空间或虚空间进程空间的大小只与处理机的位数有关程序的执行都在进程空间内进行顾客程序、进程的多种控制表格等都按一定的构造排列在进程空间中在有的系统中进程空间被划分为两部分顾客空间和系统空间为了防止顾客程序访问系统空间,导致访问出错,计算机通过程序状态寄存器等设置不一样的执行模式,即顾客模式(顾客态)和系统模式(系统态)来进行保护.进程状态及其转换3★进程的三种基本状态执行状态、就绪状态、等待状态(又称阻塞、挂起、睡眠)就绪状态(Ready)存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到就立即可以运行,这些进程所取的状态为就绪CPU,状态(有多种进程处在此状态)执行状态()Running当进程由调度/分派程序分派后,得到控制权,它的程序正在运行,该进程所处的状态为执行状态(在系统中,总CPU只有一种进程处在此状态)等待状态()Wait若一种进程正在等待某个事件的发生(如等待的完毕),而暂停执行,这时,虽然给它时间,它也无法执行,则I/O CPU称该进程处在等待状态★进程状态转换运行到等待等待某事件的发生(如等待完毕)I/O等待到就绪事件已经发生(如完毕)I/O运行到就绪时间片到(例如,两节课时间到,下课)新建进程到就绪新创立的进程进入就绪状态就绪到运行当处理机空闭时,由调度(分派)程序从就绪进程队列中选择一种进程占用CPU进程控制就是系统使用某些具有特定功能的程序段来创立、撤销进程以及完毕进程各状态的转换,从而到达多进程高效率并发执行和协调、实现资源共享的目的原语把系统态下执行的某些具有特定功能的程序段称为原语用于进程控制的原语有创立原语、撤销原语、阻塞原语、唤醒原语进程创立方式由系统程序模块统一创立;由父进程创立进程创立系统调用()create name,priority,start-addr系统()UNIX fork进程撤销
(1)该进程已完毕所规定的功能而正常终止
(2)由于某种错误导致非正常终止
(3)祖先进程规定撤销某个子进程在一般操作系统中进程撤销的系统调用是系统中是假如撤销进程有自己的子进程,则撤销原语先kill UNIXexit撤销其子进程的构造并释放子进程所释放的资源后,再撤销目前进程的构造和释放其资源PCB PCB进程的阻塞与唤醒当一种处在运行状态的进程,因等待某个事件的发生(如等待打印机)而不能继续运行时,将调用进程挂起系统调用,把进程的状态置为阻塞状态,并调用进程调度程序(等于让出处理机)进程从运行状态转换成阻塞状态是由进程挂起原语实现的,因此,调用进程挂起操作是在进程处在运行状态下执行的它的执行将引起等待某事件的队列的变化.一种正在运行的进程会因等待某事件(例如,等待打印机)的发生,由运行状态转换成阻塞状态,当它等待的事件发生后,这个进程将由阻塞状态转换成就绪状态这种转换由进程唤醒操作完毕调用进程唤醒操作一般在中断处理、进程通信等过程中例如,打印机完毕中断处理程序,在完毕了打印完毕的操作后,就去检查等待打印机的队列,若不为空,则调用进程唤醒操作,唤醒一种(或多种)等待打印机的进程.进程互斥4产生互斥的原因资源共享、进程合作★临界资源一次仅容许一种进程使用的资源称为临界资源★临界区每个进程中访问临界资源的那段程序段称为临界区(临界段)间接制约由于共享某公有资源而引起的在临界区内不容许并发进程交叉执行的现象称为有共享公有资源而导致的对并发进程执行速度的间接制约,简称间接制约★互斥在操作系统中,当某一进程正在访问某临界区时,就不容许其他进程进入,否则就会发生(后果)无法估计的错误我们把进程之间的这种互相制约的关系称为互斥进入临界区的准则⑴不能假设各并发进程的相对执行速度;()并发进程中的某个进程不在临界区时,它不能制止其他进程进入临界区;2
(3)并发进程中的若干个进程申请进入界区时,只能容许一种进程进入;()当有若干个进程欲进入临界区时,应在有限的时间内使其进入4处理进程互斥的最简朴的措施是加锁在系统中为每个临界资源设置一种锁位,表达资源可用,■1表达资源已被占用(不可用)■0这样当一种进程使用某个临界资源之前必须完毕下列操作、考察锁位的值;
12、若本来的值是为“1”,将锁位置为“0”(占用该资源);
3、若本来值是为“0”,(该资源已被他人占用),则转到1当进程使用完资源后,将锁位置为“1,称为开锁操作.信号量与、原语5P V★信号量sem是一种整数,在sem不小于等于零时,代表可供并发资源使用的资源实体数,但sem不不小于零时则表达正在等待使用临界区的进程数代表资源的实体在实际应用中应精确地阐明的意义和初值sem sem★P操作
(1)sem减1;()若减后仍不小于等于则进程继续执行;2sem10,()若成果不不小于则该进程挂起30,注挂起该进程包括保留调用进程现场;置“等待”状态;入等待队列;转进程调度;CPUsem=sem—()if s=0转进程调度唤醒等待的进程;s调用进程入等待队列操作V值加1S1;若相加成果不小于进程继续执行;20,否则,唤醒一种或多种等待该信号灯的进程,然后本进程继续执行或转进程调度3算法V输入S输出无s++;ifs=0返回唤醒等待的进程;S返回或转进程调度★P、V原语实现互斥的原理当一种进程想要进入临界区时,它必须先执行原语操作以将信号量减在一种进程完毕对临界资源的操作后,它必P semlo须执行原语操作以释放它占用的临界资源由于信号量初始值为因此,任一进程在执行原语操作之后将的值变V1,P sem为表达该进程可以进入临界区在该进程未执行原语操作之前如有另一进程想进入临界区的话,它也应先执行原语0,V P操作,从而使的值变为因此,第二个进程将会被阻塞,直到第一种进程执行原语操作之后,的值变为从而可sem Vsem0,唤醒第二个进程进入就绪队列,经调度后进入临界区在第二个进程执行完原语操作之后,假如没有其他进程申请进入V临界区的话,则又恢复到初始值sem用信号量实现两并发进程互斥的描述如下Pa,Pb设为互斥信号量,其取值范围为1sem1,0,其中sem=l标志进程Pa,Pb都未进入类名为S的临界区,sem=0表达进程Pa,Pb已进入类名为S的临界区,sem=・l表达进程中,一种进程已进入临界区,而另一进程等待进入临界区Pa,Pb描述2Pa P semSVsem PbPsemSVsem.进程同步6★同步把异步环境下的一组并发进程,因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步用消息名表达进程等待合作进程发来的消息.功能等待到消息名为的进程继续执行用消息名表wait truesignal达向合作进程发送消息功能发送消息名,并将其值置为true运用过程和描述计算进程和打印进程的同步关系wait singnalPc Pp设消息名表达为空,消息名表达中装满了数据1Bufempty bufBuffull Buf初始化2Bufempty=true,Buffull=false.o描述3PcAwaitBufempty计算Buf算成果Bufempty signalBuffullGoto APpBwaitBufful打印Buf中的数据清除Buf中的数据BuffulsignalBufempty GotoB★私有信号量进程同步的信号量只与制约进程及被制约进程有关而不是与整组并发进程有关因此private Semaphore该信号量称为私有信号量★用原语操作实现同步P,V首先,为各并发进程设置私有信号量,然后,为私有信号量赋初值,最终,运用原语和私有信号量规定各进程的执行次序P,V例设进程和通过缓冲区队列传递数据为发送进程,为接受进程发送数据时调用发送过程Pa PbPa PbPa depositdata,接受数据时调用过程且数据的发送和接受过程满足如下条件Pb removedata,一一——Bufl——Buf2——・•・Bufz—―Buf—―在1。
个人认证
优秀文档
获得点赞 0