计算机操作系统概论第二单元复习资料.doc_第1页
计算机操作系统概论第二单元复习资料.doc_第2页
计算机操作系统概论第二单元复习资料.doc_第3页
计算机操作系统概论第二单元复习资料.doc_第4页
计算机操作系统概论第二单元复习资料.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一个计算问题往往要依照一定的顺序执行,执行的顺序是由编制的程序确定的。现在计算机中的硬件都具有处理器与外围设备并行工作的能力。程序的并行执行发挥了处理器与外围设备并行工作的能力,使处理器的效率有所提高。让多个计算题同事进入一个计算机系统的主存储器并行执行,这种程序设计方法称为多道程序设计,这样的计算机系统称为多道程序设计系统。对具有处理器与外围设备并行工作能力的计算机采用多道程序设计的方法后,能充分发挥处理器的使用效率,增加单位时间内的算题量。多道程序设计不仅提高了处理器的利用率,而且降低了完成计算所需的总时间,从而提高了单位时间内的算题能力,也提高了吞吐量。进程:一个程序在一个数据集上的一次执行。程序是静止的,进程是动态的。为什么样引入进程?1、提高资源的利用率。2、正确描述程序的执行情况。进程的属性:1、进程是动态的,它包含了数据和数据集上的程序。2、多个进程可以包含有相同的程序。进程与程序并非是一一对应的,一个程序运行在不同的数据集上就构成不同的进程,分别得到不同的结果。对于不同的进程,可用不同的进程名来区分。3、多个进程可以并发执行。若干个进程是可以同时执行的,即一个进程已开始工作但还没有结束之前,另一个进程也可以开始工作。把这些进程称为同时执行的进程,或称为进程的并发执行。4、进程有三种基本状态。等待态:等待某一事件。就绪态:等待系统分配处理器以便运行。运行态:正在占有处理器运行。运行态等待态:一个进程运行中启动了外围设备,等待外围设备传输结束;进程在运用中申请资源(主存空间、外围设备)得不到满足,变成等待分配资源状态;进程在运行中出现了故障(程序错误、主存错等),变成等待排除干预状态。等待态就绪态:外围设备工作结束,使等待外围设备传输者结束等待;等待的资源得到满足(另一进程归还);故障排除后等待干预的进程结束等待。一个结束等待的进程必须先转换成就绪状态,当分配到处理器后才能运行。运行态就绪态:分配给进程占用处理器的时间用完而强迫进程让出处理器;有更高优先级的进程要运行,迫使正在运行的进程让出处理器。就绪态运行态:有多个进程等待分配处理器时,系统按一种规定的策略从多个处于就绪状态的进程中选择一个进程,让它占有处理器,被选中的进程的状态就变成运行态。进程的特点:动态性:进程是程序的一次执行过程,在执行过程中进程状态不断发生变化。并发性:若干进程是可同时执行的,它们轮流占用处理器交替执行。异步性:进程的执行速度取决于自身与外界原因以及进程调度策略,因此以不可预知的速度向前推进。在计算机系统中,尤其是在多道程序设计系统中,往往是有许多不同的进程同时存在于系统化中。为了能区别各个不同的进程,记录各个进程执行时的情况,对每一个进程都设置一个“进程控制块”(PCB)。在计算机系统中,进程控制块就是对进程进行管理和调度的信息集合。它包含四类信息:1、标识信息。用于标识一个进程。2、说明信息。用于说明进程情况。3、现场信息。由于保留当前运行进程暂时让出处理器时存放在处理器中的各种信息,以便能在继续运行时得以恢复。4、管理信息。用于管理进程。一个被创建的进程是由它的进程控制块中的进程名来标识的。进程被创建时它的初始状态为“就绪态”。当它能占用处理器时变成“运行态”在运行过程中随执行情况或其他原因的影响,状态可不断发生变化。进程执行时把不断变化的情况记录在进程控制块中。操作系统依据进程控制块对进程进行控制和管理。一个进程在执行过程中,为了请求某种服务,可以再要求创建其他进程。每创建一个进程都要有一个进程控制块来标识,这时是该进程的生命的开始。一个进程完成了自己的任务后,系统要收回这个进程占有的工作区和撤销该进程的进程控制块,于是该进程就结束了它的生命而消亡。因此,每个进程都有一个从创建到消亡的生命周期。操作系统中往往设计一些能完成特定功能且不可中断的过程。这些不可中断的过程称为原语。用于控制进程的原语有:1、创建原语。为一个程序分配一个工作区和建立一个进程控制块,并置该进程为就绪状态。2、撤销原语。一个进程完成工作后,收回它的工作区和进程控制块。3、阻塞原语。进程运行过程中发生等待事件时,把进程状态改为等待态。4、唤醒原语。当进程等待的事情发生时,把进程的状态该为就绪态。同一队列中的进程通过进程控制块中的队列指针联系起来。前一个进程的进程控制块中的指针指向它的下一个进程控制块的位置。队列指针指向队列中第一个进程的进程控制块的位置。队列中最后一个进程的进程控制块中的指针值为“0”。一个进程从所在的队列中退出称为出队。一个进程排入到一个指定的队列中称为入队。系统中负责进程入队和出队的工作称为队列管理。由于某些事件的出现,中止现行进程的运行,而由操作系统去处理出现的事件,待适当的时候让被中止的进程继续运行,这个过程称为中断。引起中断的事件称为中断源。对出现的事件进行处理的程序称为中断处理程序。从中断事件的性质来说,一般可以分为下述几类:1、硬件故障中断。它是由机器故障造成的。如,电源故障、主存出错等。2、程序中断。这是由于程序执行到某条机器指令时可能出现的各种问题而引起的中断。如,发现定点操作数溢出、除数为0、地址越界、使用非法指令码、目态下的用户使用了特权指令等。3、外部中断。这是由各种外部事件引起的中断。如,按压了控制板上的一个中断键、设置的定时时钟的时间周期到。4、输入/输出中断。输入输出控制系统发现外围设备完成了输入输出操作而引起的中断,或在执行输入输出操作时通道或外围设备产生错误而引起的中断。5、访管中断。它是正在运行的进程为了请求调用操作系统的某个功能而执行一条访管指令所引起的中断。如,用户要求分配一台外围设备、要求分配一些主存区域、要求启动外围设备读出一批数据。前四类中断不是正在运行的进程所期待的,而是由于外界的原因迫使正在运行的进程被打断,因此称为强迫性中断事件。第五类中断时正在运行的进程所期待的,它表示正在运行的进程对操作系统有某种需求,故成为自愿性中断事件,在小型和微型计算机中被称为系统调用。自愿中断事件是有处理器执行指令时根据指令中的操作码捕俘到的。强迫性中断事件是由硬件的中断装置发现的。通常在处理器执行完一条指令后,硬件的中断装置立即检查有无强迫性中断事件发生。无论发生哪类中断事件,都由硬件的中断装置暂停现行进程的运行,而让操作系统的中断处理程序占用处理器。这一过程称为中断响应。在单处理器的计算机系统中,整个系统设置一个用来存放当前运行进程的PSW的寄存器,该寄存器称为程序状态字寄存器。处理器总是按程序状态字寄存器中的指示控制程序执行。三种PSW:1、存放在程序状态字寄存器中的PSW,称为当前PSW。2、出现中断事件后,要由操作系统的中断处理程序占用处理器,让中断处理程序处理出现的中断事件。我们把中断处理程序的PSW称为新PSW。新PSW中存放着中断处理程序的入口地址。3、中断处理程序占用处理器前,必须把中断进程的PSW保护好,以便该进程在适当的时候按被中断时的情况继续执行。把保护好的被中断进程的PSW称为旧PSW。中断处理程序对中断事件的处理可分两步进行。第一步是保护好被中断进程的现场信息,即把被中断进程的通用寄存器器和控制寄存器内容以及中断进程的旧PSW保存起来,这些信息可以保存在被中断进程的进程控制块中。其目的是保证被中断者再次运行时能使被中断时的情况继续运行。第二步是根据旧PSW中指示的中断事件进行具体处理。中断事件的处理原则:1、硬件故障中断事件的处理。排除这类故障必须进行人工干预,因此处理这类事件只能是输出一些故障信息。2、程序中断事件的处理。程序中断事件往往与程序的具体编制有关,不同的的用户对出现的事件可以有不同的处理要求,所以中断处理程序可把楚翔的事件转交给用户自行处理。如果用户对发生的事件没有提出处理方法,那么操作系统就把发生事件的进程名、程序断点、事件性质等报告给操作员。3、外部中断事件的处理。如果用户用控制板上的中断键请求调用系统的某个特定功能,那么当他按压了一个中断键产生一个外部事件时,处理该事件的程序就根据中断键的编号把处理转交给一个特定的例行程序。4、输入/输出中断事件的处理。输入输出中断事件分“I/O正常结束”和“I/O异常结束”。被启动的外围设备在完成一次数据传送后都要形成一个“I/O正常结束”事件,若在数据传送过程中出现了错误或特殊情况,则形成一个“I/O异常结束”事件。5、访管中断事件的处理。这类中断事件表示正在运行的进程要调用操作系统的功能。中断处理程序可设置一张“系统调用程序入口表”。中断处理程序按系统调用类型号查这张入口表,找到相应的系统调用程序的入口地址,把处理转交给实现调用功能的程序执行。综上所述,在多数情况下,中断处理程序只需要一些保护现场、分析事件顺序等原则性的处理,而具体的处理可由适当的例行处程序来完成。因此,中断处理程序可以创建一些处理事件的进程,具体的处理就由这些进程来实现。采用批处理系统和分时处理器系统的计算机系统都属于多道程序设计系统。处理器调度担负着对处理器的分配工作,它将决定谁能先占用处理器以及一次能占用处理器多长时间。在批处理操作系统控制下,把若干个用户作业组织成作业流,让它们成批进入计算机系统,且把它们存放在磁盘上的专用区域等待处理。在操作系统中,把磁盘上用来存放作业信息的专用区域成为输入井。把在输入井中等待处理的作业称为后备作业。任何作业只有被装入主存储器后才能执行。从输入井中选取后备作业装入主存储器的工作称为作业调度。不同的计算机系统可以采用不同的规则来进行作业调度,但不管怎样,都必须遵循一个必要条件,即系统现有的尚未分配的资源可以满足被选作业的资源要求。只有这样,才能避免进入主存储器的作业因得不到资源而无法执行的现象,才能保证系统有较高的吞吐能力。从就绪进程中选取一个进程,让它占用处理器的工作称为进程调度。进程占用处理器时,由于各种原因会引起进程状态的变化而让出处理器。于是进程调度可以再从就绪进程中选一个进程运行,使每一个被装入主存储器的作业都能有机会占用处理器执行。当一个作业完成工作结束时,作业调度又可以从后备作业中选取作业装入主存储器且为其创建一个进程,当它被进程调度选中时便可运行。所以,作业调度与进程调度相互配合能实现多道作业的并行执行。对任何一个作业来说,只有先被作业调度选中才有机会去竞争处理器,并且仅当被进程调度选中时才能占用处理器。注册过程实际上可以看作是对终端作业的作业调度。在设计算法时,可考虑以下原则:1、公平性。对用户公平,不能无故或无限制地拖延一个作业的执行。2、平衡资源使用。尽可能的时系统资源都处于忙碌。3、极大的流量。在单位时间内为尽可能多的作业服务,保证计算机系统的吞吐能力。对不同的计算机体统应根据系统的设计目标来决定采用的调度算法。目标不同,选择调度算法的侧重点也有不同,一个理想的调度算法应该是既提高系统效率,又能使进入系统的作业及时得到计算结果。作业调度算法:1、先来先服务算法。是最简单的算法,它是按照作业进入输入井的先后次序来挑选作业,先进来的作业优先被挑选。但不是先进来的作业一定被先选中,只有满足必要条件的作业才可能被选中。一个先进入的作业,如果它所需要的资源或其中一部分资源已被在它先前的作业占用尚且未归还,那么这个作业将被推迟,而去选择在它之后进入的资源能满足的作业。一旦有作业执行结束归还了资源后,作业调度再次选择作业时,仍要按进入输入井的次序去挑选,刚刚被推迟的作业有可能被优先选中。先来先服务算法具有一定的公平性,容易实现。但由于计算时间长的作业被先选中时,就可能使计算时间短的作业长时间的等待。这不仅使这些用户不满意,而且时计算时间短的作业周转时间很长,从而也增加了平均周转时间,降低了系统的吞吐能力。2、计算时间短的作业优先算法。采用这种算法时,要求用户对自己的作业需要计算的时间预先做一个估计。作业调度时依据在输入井中的作业提出的计算时间为标准,优先选择计算时间短且资源得到满足的作业。这种算法能降低作业的平均周转时间,从而提高系统的吞吐能力。采用计算时间短的作业优先算法要注意两个问题:(1)该算法是以用户估计的计算时间为标准,有些用户为了使自己的作业能优先执行,可能把计算时间故意估计的短些。为了避免这一现象,若作业时间超过所估计的时间,则可加价收费。(2)由于系统可不断的接受新作业进入输入井,如果新进入输入井的作业估计的计算时间比较短,则将会使进入输入井早但要求计算时间长的作业等待太长的时间。这样会使某些用户不满意。3、响应比高者优先算法。响应比=等待时间/计算时间由于把计算时间作为分母,显然是有利于小作业的。一个计算时间短的作业容易得到较高的响应比,所以能被优先选中。但由于等待时间在分子上,使得一个大作业在等待了相当长的时间后,也能获得较高的响应比而被选中,不会因源源不断的有小作业进入输入井而使大作业无限制的被推迟。采用响应比高者优先算法进行调度时,必须对输入井中资源能得到满足的所有作业计算出它的响应比,从中选择响应比最高者优先装入主存储器。4、优先级调度算法。这种算法时为每个作业确定一个优先级,优先级高的作业优先被选取,当几个作业有相同优先级时,对这些具有相同优先级的作业再按照先来先服务原则进行调度。怎要确定作业的优先级呢?可以根据作业的缓急程度、估计的计算时间、作业的等待时间、资源申请情况等因素综合考虑,既照顾用户的要求,也考虑系统效率。但对那些盲目提高作业优先级的用户也要加价收费。5、均衡调度算分。这种算法是根据作业对资源的要求进行分类,作业调度轮流从不同类的作业中去挑选作业,尽可能的使用不同资源的作业同时执行。这样不仅可使系统的资源都在被使用,而且可减少作业等待使用同类资源的时间,从而可缩短作业的平均周转时间。我们把一个进程让出处理器由另一个进程占用处理器的过程称为进程切换。进程的切换使系统中的各进程均有机会占用处理器。通常进程的切换是由进程状态的变化引起的。在下列情况下均会引起进程的切换:1、一个进程从运行状态变为等待状态。2、一个进程从运行状态变为就绪状态。3、一个进程从等待状态变为就绪状态。4、一个进程完成工作后被撤销。常用的进程调度算法:1、先来先服务调度算法。这种调度算法时按照进程就绪队列的先后次序来选择可占用处理器的进程。当有进程就绪时,就把该进程排入就绪队列的末尾,而进程调度总是把处理器分配给就绪队列中的第一个进程。一旦一个进程占有了处理器,它就一直运行下去,直到该进程完成工作而结束或者等待某事件而不能运行才让出处理器。2、最高优先级调度算法。对每个进程给出一个优先级,进程调度总是让当时具有最高优先级的进程先使用处理器。当一个优先级的进程占用处理器后,又可分为两种方式来对待它。第一种方式是非抢占的,即一旦某一个高优先级的进程占有了处理器就一直运行下去,不管此时是否有更高优先级的进程就绪,只要它的工作没有结束或没有出现等待事件,那么它总是能占有处理器运行,直到它自身的原因主动让出处理器时,再由进程调度重新选择一个具有高优先级的进程是由处理器。第二种方式是可抢占式的,在这种方式下,严格保证任何时刻总是让具有最高优先级的进程就绪,进程调度就要剥夺正在处理器上运行的进程使用处理器的权力,抢回已分配给它的处理器,而把处理器分配给更高优先级的进程。这种抢占式的优先级调度算法在实时系统中很有用。如何为进程确定优先级?不同的系统确定优先级的方法是不同的。一个进程的优先级也可以不是固定的,可以随其他因素而变化。一般可根据进程使用资源的情况、进程所负任务的紧急程度、进程等待使用处理器的时间、系统效率等各方面的因素来考虑。为了调度方便,就绪队列中的进程可按优先级从大到小排列。当有进程就绪时,根据它的优先级将其插入到队列中的适当位置。这样进程调度总是把处理器分配给就绪队列中的第一个进程。有时优先级调度算法与先来先服务算法可混合使用。在一个采用优先级调度算法的系统中,对具有相同优先级的进程又可使用先来先服务算法。3、时间片轮转调度算法。时间片是指允许进程一次占用处理器的最长时间。时间片轮转调度算法把就绪进程按就绪的先后次序排成队列,调度时总是选择就绪队列中的第一个进程,让它占用处理器,但规定它一次连续占用处理器的时间不能超过预定的时间片。如果允许的时间片用完而进程尚未运行结束,它必须把处理器让给下一个进程使用,进程让出处理器后重新排到就绪队列的末尾等待再次运行。如果在允许的时间片进程出现等待事件,那么也要把处理器让个下一个就绪的进程使用,让出处理器的进程排入等待队列,当等待队列的事件发生后再排入就绪队列的末尾等待再次分配处理器。这样使得就绪队列中的进程能依次轮流地占用处理器运行,一次运行尚未完成工作的进程可再作第二次的轮转,如此反复循环,直到进程结束。在分时操作系统中,经常采用时间片轮转调度算法。在一个分时系统中,多个用户通过终端设备同时与计算机系统进行一系列交互,计算机系统应及时地对每一个用户的要求作出反应。采用时间片轮转的办法可使每个用户都感到计算机系统对自己有求必应,好像自己单独在使用一个计算机系统。时间片段取值的大小关系到计算机系统的效率和用户的满意度。所以时间片的值应根据进程要求系统给出应答的时间和进入系统的进程数来决定。如果进程数少,则时间片可大一些,这样可减少调度次数,提高系统效率。在采用时间片轮转调度算法时,可对每个进程规定相同的时间片,也可对不同的进程规定不同的时间片。把用户的一个计算问题或一个应用问题作为一个进程,把该进程中可以并发执行的各部分分别作为线程。线程就是进程中可以独立执行的子任务。一个进程中可以有一个或多个进程,每个进程都应有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论