《计算机操纵系统面试知识点整编.doc》由会员分享,可在线阅读,更多相关《计算机操纵系统面试知识点整编.doc(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、,第一章1.操作系统的概念:通常把操作系统定义为用以控制和管理计算机系统资源方便用户使用的程序和数据结构的集合。2.操作系统的基本类型:批处理操作系统、分时操作系统、实时操作系统、个人计算机操作系统、网络操作系统、分布式操作系统。批处理操作系统特点:用户脱机使用计算机成批处理多道程序运行优点:由于系统资源为多个作业所共享,其工作方式是作业之间自动调度执行。并在运行过程中用户不干预自己的作业,从而大大提高了系统资源的利用率和作业吞吐量。缺点:无交互性,用户一旦提交作业就失去了对其运行的控制能力;而且是批处理的,作业周转时间长,用户使用不方便。批处理系统中作业处理及状态分时操作系统(Time Sh
2、aring OS)分时操作系统是一个联机的多用户交互式的操作系统,如UNIX是多用户分时操作系统。分时计算机系统:由于中断技术的使用,使得一台计算机能连接多个用户终端,用户可通过各自的终端使用和控制计算机,我们把一台计算机连接多个终端的计算机系统称为分时计算机系统,或称分时系统。分时技术:把处理机的响应时间分成若于个大小相等(或不相等)的时间单位,称为时间片(如100毫秒),每个终端用户获得CPU,就等于获得一个时间片,该用户程序开始运行,当时间片到(用完),用户程序暂停运行,等待下一次运行。特点:人机交互性好:在调试和运行程序时由用户自己操作。共享主机:多个用户同时使用。用户独立性:对每个用
3、户而言好象独占主机。实时操作系统(real-time OS)实时操作系统是一种联机的操作系统,对外部的请求,实时操作系统能够在规定的时间内处理完毕。特点:有限等待时间有限响应时间用户控制可靠性高系统出错处理能力强设计实时操作系统要考虑的一些因素:(1)实时时钟管理(2)连续的人机对话(3)过载 (4) 高度可靠性和安全性需要采取冗余措施。通用操作系统同时兼有多道批处理、分时、实时处理的功能,或其中两种以上的功能。个人计算机上的操作系统个人计算机上的操作系统是联机的交互式单用户操作系统,目前在个人计算机上使用的操作系统以windows系列和linux系统为主。网络操作系统特征:(1)计算机网络是
4、一个互连的计算机系统群体。这些计算机在物理上是分散的。(2)这些计算机是自治的,每台计算机有自己的操作系统,各自独立工作,它们在网络协议控制下协同工作。(3)系统互连要通过通信设施(硬件、软件)来实现。(4)系统通过通信设施执行信息交换、资源共享、互操作和协作处理。分布式系统(Distributed System)特征:(1)功能的分布(2)坚强性(3)高可靠性3操作系统的功能处理机管理、存储管理(内存分配、存储保护、内存扩充)、设备管理(通道、控制器、输入输出设备的分配与管理,设备独立性)、信息管理(文件系统管理)、用户接口(程序一级的接口、作业一级的接口)。4.通道和中断技术通道:用于控制
5、I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。 通道有专用的I/O处理器,可与CPU并行工作 可实现 I/O联机处理中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。 中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务监督程序发展为执行系统(executive system),常驻内存5.多道批处理系统特点 多道:内存中同时存放几个作业; 宏观上并行运行:都处于运行状态,但都未运行完; 微观上串行运行:各作业交替使用CPU;优点: 资源利用
6、率高:CPU和内存利用率较高; 作业吞吐量大:单位时间内完成的工作总量大;缺点: 用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改; 作业平均周转时间长:短作业的周转时间显著增长;多道程序系统中,要解决的问题:同步互斥、内存不够、使用效率、内存保护6.计算机硬件:构成计算机的基本硬件元素:处理器、存储器、输入输出控制与总线、外部设备。与操作系统相关的几种主要的寄存器数据寄存器n 地址寄存器n 条件码寄存器n 程序计数器n 指令计数器n 程序状态字PSWn 中断现场保护寄存器n 过程调用用堆栈存储器的访问速度指令的执行和中断操作系统的启动启动电源产生中断信号触发CPU中的
7、一段指令发现操作系统引导区位置导入内存执行操作系统程序加载到内存制定区域初始化硬件7.算法begin.end 算法的开始于结束 repeat 操作.until 条件 当“条件”未被满足时重复所描述的“操作”while 条件 do 操作.od 当“条件”满足时,进行相应的“操作”if 条件 then 操作 else 操作 fi 满足“if”所指的“条件”时,进行“then”后的相关“操作”,否则完成“else”后的相关操作。第二章1.作业:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。作业由不同的顺序相连的作业步组成,作业步是一个作业
8、的处理过程中计算机所做的相对独立的工作。2.作业的组织:作业由三部分组成,即程序、数据和作业说明书。作业中包含的程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。由作业说明书在系统中生成一个称为作业控制块(JCB)的表格,JCB包括:作业名、估计执行时间、优先数(用于调度)、作业说明书文件名、程序类型、资源要求(静态申请和动态申请)、作业状态(提交后各执行完成)。作业说明书包括:作业基本情况描述(用户名、作业名、使用语言名、允许最大处理时间等)、作业控制描述(控制方式、操作顺序、出错处理等)、作业资源要求描述(要求处理时间、内存空间、外设类型和数量、处理及优先级、库函数或
9、实用程序等)。3.如何控制作业联机输入输出方式联机输入输出方式大多用在交互式系统中,用户与系统通过交互式会话输入输出作业。在联机输入输出方式中,外围设备直接与主机相连接。脱机输入输出方式脱机输入又称为预输入方式,利用低档个人计算机作为外围处理机进行输入输出处理。直接耦合方式把主机与低档外围通过一个公用的大容量外存直接耦合起来。SPOOLING系统(外围设备同时联机操作)多台外围设备通过通道或DMA器件和主机与外存连接起来。网络联机方式网络联机方式以上述几种输入输出方式为基础。当用户通过计算机网络中的某一台设备对计算机网络中的另一台主机进行输入输出操作时,就构成了网络联机方式。4.系统调用系统调
10、用大致可分为6类:(1)设备管理:该类系统调用被用来请求和释放有关设备以及启动设备操作等。(2)文件管理:包括对文件的读、写、创建和删除等。(3)进程控制:包括进程创建、进程执行、进程撤销、进程等待和执行优先级控制等。(4)进程通信:该系统调用被用在进程之间传递消息或符号。(5)存储管理:包括调查作业占据内存区的大小、获取作业占据内存区的始址等。(6)线程管理:包括线程的创建、调度、执行、撤销等。系统调用的实现:当用户使用系统调用时,产生一条相应的指令,处理机在执行到该指令时发生相应的中断,并发出有关信号给该处理机制。该处理机制在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要
11、求的功能。陷进处理机构:在系统中为控制系统调用服务的机构称为陷进处理机构。陷进指令:把由于系统调用引起处理机中断的指令称为陷进指令。第三章1.程序的并发执行程序用来描述计算机所完成的独立功能,并在时间上严格地按前后次序相继地进行计算机操作序列集合,是一个静态概念。个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程序的顺序执行。程序顺序执行的特点:n 1.顺序性 处理机严格按照程序所规定的顺序执行,即每个操作必须在下一个操作开始之前结束。n 2.封闭性 程序一旦开始执行,其计算结果不受外界的影响,当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程
12、序才能改变它。n 3.可再现性 程序执行的结果与初始条件有关,而与执行时间无关。即只要程序的初始条件相同,它的执行结果是相同的,不论它在什么时间执行,也不管计算机的运行速度。多道程序系统中程序执行环境的变化执行环境的特点:n (1)独立性在多道环境下执行的每道程序都是逻辑上独立的。n (2)随机性程序和数据的输入和执行开始时间都是随机的。n (3)资源共享软硬件资源的有限性导致资源共享。程序并发执行:若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。2.进程:进程是一个程序对某
13、个数据集的执行过程,是分配资源的基本单位。进程和程序的区别与联系:程序是指令的集合,是静态的概念。 进程是程序在处理机上的一次执行的过程,是动态的概念。程序可以作为软件资料长期保存。进程是有生命周期的。进程是一个独立的运行单位,能与其它进程并行(并发)活动。而程序则不是。进程是竞争计算机系统有限资源的基本单位,也是进行处理机调度的基本单位。不同的进程可以包含同一程序,只要该程序所对应的数据集不同。作业和进程的关系作业是用户需要计算机完成某项任务时要求计算机所做工作的集合。而进程则是已提交完毕程序的执行过程的描述,是资源分配的基本单位。其主要区别如下:n 作业是用户向计算机提交任务的任务实体。n
14、 一个作业可由多个进程组成。n 作业的概念主要用于批处理系统中。进程描述在系统中一个进程存在:进程控制块PCB、有关程序段、数据结构集 进程控制块 PCB (Process Control Block)包含一个进程的描述信息、控制信息及资源信息,有些系统还有进程调度等待所使用的现场保护区。PCB集中反映一个进程的动态特征。在创建时,建立PCB,并伴随进程运行的全过程,当进程完成其功能后,系统释放PCB,进程也随之消亡(1)描述信息 1、进程名或进程标识号 name 每个进程都必须有一个唯一的标识符,可以是字符串,也可以是一个数字。UNIX系统中就是一个整型数。在进程创建时由系统赋予。 2、用户
15、名或用户标识号 每个进程都隶属于某个用户,用户名或用户标识号有利于资源共享和保护 3、家族关系 process family 有的系统允许一个进程可创建自已的子进程,子进程还可以创建,一个进程往往处在一个家族之中,就需要记录进程在家族中位置的信息。 (2)控制信息 1、进程当前状态 status说明进程当前所处的状态。为了管理的方便,系统设计时会将相同的状态的进程组成一个队列,如就绪进程队列,等待进程则要根据等待的事件组成多个等待队列,如等待打印机队列、等待磁盘I/O完成队列等等。2、进程优先级 priority 进程的优先级反映进程的紧迫程度,通常由用户指定和系统设置。3、执行程序开始地址
16、start-addr4、各种计时信息进程占用系统资源的情况,不同的系统的处理差别很大。5、通信信息 communication information是指某个进程在运行的过程中要与其它进程进行通信,该区记录有关进程通信方面的信息。(3)资源管理信息包括有关存储器的信息、使用输入、输出设备的信息、有关文件系统的信息:1、占用内存大小及管理用数据结构指针。2、在某些复杂系统中,还有对换或覆盖用的有关信息。3、共享程序段大小及起始地址。4、输入输出设备的设备号,所要传送的数据长度、缓冲区地址、缓冲区长度及使用设备的有关数据结构指针等。5、指向文件系统的指针及有关标识等。(4)、CPU现场保护区 cp
17、ustatus当进程因某种原因不能继续占用CPU时(等待打印机),释放CPU,这时就要将CPU的各种状态信息保护起来,为将来再次得到处理机恢复CPU的各种状态,继续运行。进程上下文实际上是进程执行活动全过程的静态描述。进程上下文是一个抽象的概念,它包含了每个进程执行过的、执行时的以及待执行的指令和数据,在指令寄存器、堆栈(存放个调用子程序的返回点和参数等),状态字寄存器等中的内容。上文:已执行过的进程指令和数据在相关寄存器与堆栈中的内容。正文:正在执行的指令和数据在相关寄存器与堆栈中的内容。下文:待执行的指令和数据在相关寄存器与堆栈中的内容。进程上下文切换进程上下文切换发生在不同的进程之间而不
18、是同一个进程内。包含3个部分,第一部分为保存被切换进程的正文部分(或当前状态)至有关存储区。第二部分操作系统进程中有关调度和资源分配程序执行,并选取新的进程。第三部分则是将被选中进程的原来被保存的正文部分从有关存储区中选出,并送至有关寄存器或堆栈中,激活被选中进程执行。进程空间和大小任一进程都有自己的地址空间,把该空间称为进程空间或虚空间。进程空间的大小只与处理机的位数有关。程序的执行都在进程空间内进行。用户程序、进程的各种控制表格等都按一定的结构排列在进程空间中。在有的系统中进程空间被划分为两部分:用户空间和系统空间。为了防止用户程序访问系统空间,造成访问出错,计算机通过程序状态寄存器等设置
19、不同的执行模式,即用户模式(用户态)和系统模式(系统态)来进行保护。3.进程状态及其转换进程的三种基本状态:执行状态、就绪状态、等待状态(又称阻塞、挂起、睡眠)就绪状态(Ready) 存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到CPU,就立即可以运行,这些进程所取的状态为就绪状态。(有多个进程处于此状态)执行状态(Running)当进程由调度/分派程序分派后,得到CPU控制权,它的程序正在运行,该进程所处的状态为执行状态。(在系统中,总只有一个进程处于此状态)等待状态(Wait)若一个进程正在等待某个事件的发生(如等待I/O的完成),而暂停执行,这时,即使给它CPU时间,它也无
20、法执行,则称该进程处于等待状态。进程状态转换运行到等待 等待某事件的发生(如等待I/O完成)等待到就绪 事件已经发生(如I/O完成)运行到就绪 时间片到(例如,两节课时间到,下课)新建进程到就绪 新创建的进程进入就绪状态就绪到运行 当处理机空闭时,由调度(分派)程序从就绪进程队列中选择一个进程占用CPU。进程控制:就是系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各状态的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的。原语:把系统态下执行的某些具有特定功能的程序段称为原语。用于进程控制的原语有:创建原语、撤销原语、阻塞原语、唤醒原语。进程创建方式:由系统程序模块统一
21、创建;由父进程创建。进程创建系统调用: create(name,priority,start-addr) UNIX系统:fork()进程撤销:(1)该进程已完成所要求的功能而正常终止(2)由于某种错误导致非正常终止(3)祖先进程要求撤销某个子进程。在一般操作系统中进程撤消的系统调用是:kill UNIX系统中是exit() 如果撤销进程有自己的子进程,则撤销原语先撤销其子进程的PCB结构并释放子进程所释放的资源后,再撤销当前进程的PCB结构和释放其资源。进程的阻塞与唤醒当一个处在运行状态的进程,因等待某个事件的发生(如等待打印机)而不能继续运行时,将调用进程挂起系统调用,把进程的状态置为阻塞状
22、态,并调用进程调度程序(等于让出处理机)。进程从运行状态转换成阻塞状态是由进程挂起原语实现的,因此,调用进程挂起操作是在进程处于运行状态下执行的。它的执行将引起等待某事件的队列的改变.一个正在运行的进程会因等待某事件(例如,等待打印机)的发生,由运行状态转换成阻塞状态,当它等待的事件发生后,这个进程将由阻塞状态转换成就绪状态。这种转换由进程唤醒操作完成。唤醒一个进程有两种方式:系统进程唤醒、事件发生进程唤醒。 调用进程唤醒操作一般在中断处理、进程通信等过程中。例如,打印机完成中断处理程序, 在完成了打印完成的操作后,就去检查等待打印机的队列,若不为空,则调用进程唤醒操作,唤醒一个(或多个)等待
23、打印机的进程。 4.进程互斥产生互斥的原因:资源共享、进程合作临界资源:一次仅允许一个进程使用的资源称为临界资源。临界区:每个进程中访问临界资源的那段程序段称为临界区(临界段)。间接制约:由于共享某公有资源而引起的在临界区内不允许并发进程交叉执行的现象称为有共享公有资源而造成的对并发进程执行速度的间接制约,简称间接制约。互斥:在操作系统中,当某一进程正在访问某临界区时,就不允许其它进程进入,否则就会发生(后果)无法估计的错误。我们把进程之间的这种相互制约的关系称为互斥。进入临界区的准则:(1)不能假设各并发进程的相对执行速度;(2)并发进程中的某个进程不在临界区时,它不能阻止其他进程进入临界区
24、;(3)并发进程中的若干个进程申请进入界区时,只能允许一个进程进入;(4)当有若干个进程欲进入临界区时,应在有限的时间内使其进入。解决进程互斥的最简单的办法是加锁。在系统中为每个临界资源设置一个锁位,n 1 表示资源可用,n 0 表示资源已被占用(不可用)。这样当一个进程使用某个临界资源之前必须完成下列操作:1、考察锁位的值;2、若原来的值是为“1”,将锁位置为“0”(占用该资源);3、若原来值是为“0”,(该资源已被别人占用),则转到1。当进程使用完资源后,将锁位置为“1“,称为开锁操作。5.信号量与P、V原语信号量sem:是一个整数,在sem大于等于零时,代表可供并发资源使用的资源实体数,
25、但sem小于零时则表示正在等待使用临界区的进程数。sem代表资源的实体。在实际应用中应准确地说明sem的意义和初值。P操作:(1)sem减1;(2)若sem减1后仍大于等于0,则进程继续执行;(3)若结果小于0,则该进程挂起。注:挂起该进程包括:保留调用进程CPU现场;置“等待”状态;入等待队列;转进程调度; V操作:(1)s值加1;(2)若相加结果大于0,进程继续执行;(3)否则,唤醒一个(或多个)等待该信号灯的进程,然后本进程继续执行或转进程调度。 P、V原语实现互斥的原理当一个进程想要进入临界区时,它必须先执行P原语操作以将信号量sem减1。在一个进程完成对临界资源的操作后,它必须执行V
26、原语操作以释放它占用的临界资源。由于信号量初始值为1,所以,任一进程在执行P原语操作之后将sem的值变为0,表示该进程可以进入临界区。在该进程未执行V原语操作之前如有另一进程想进入临界区的话,它也应先执行P原语操作,从而使sem的值变为-1,因此,第二个进程将会被阻塞,直到第一个进程执行V原语操作之后,sem的值变为0,从而可唤醒第二个进程进入就绪队列,经调度后进入临界区。在第二个进程执行完V原语操作之后,如果没有其它进程申请进入临界区的话,则sem又恢复到初始值。用信号量实现两并发进程Pa,Pb互斥的描述如下:(1) 设sem为互斥信号量,其取值范围为(1,0,-1)。其中sem=1标志进程
27、Pa,Pb都未进入类名为S的临界区,sem=0表示进程Pa,Pb已进入类名为S的临界区,sem=-1表示进程Pa,Pb中,一个进程已进入临界区,而另一进程等待进入临界区。(2) 描述Pa:P(sem)V(sem):.Pb:P(sem)V(sem):.6.进程同步同步:把异步环境下的一组并发进程,因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。用wait(消息名)表示进程等待合作进程发来的消息.功能:等待到消息名为true的进程继续执行。用signal(消息名)表示向合作进程发送消息功能:发送消息名,并将其值置为true。利用过程wait和si
28、ngnal描述计算进程Pc和打印进程Pp的同步关系(1) 设消息名Bufempty表示buf为空,消息名Buffull表示Buf中装满了数据。(2) 初始化Bufempty=true,Buffull=false.。(3) 描述:Pc : A:wait(Bufempty) 计算 Buf 计算结果 Bufempty false signal(Buffull) Goto APp : B:wait(Bufful) 打印Buf中的数据 清除Buf中的数据 Bufful false signal(Bufempty) Goto B私有信号量(private Semaphore):进程同步的信号量只与制约进程
29、及被制约进程有关而不是与整组并发进程有关。因此该信号量称为私有信号量。用P,V原语操作实现同步首先,为各并发进程设置私有信号量,然后,为私有信号量赋初值,最后,利用P,V原语和私有信号量规定各进程的执行顺序。例:设进程Pa和Pb通过缓冲区队列传递数据。Pa为发送进程,Pb为接收进程。Pa发送数据时调用发送过程deposit(data),Pb接受数据时调用过程remove(data),且数据的发送和接受过程满足如下条件:(1)在7.生产者与消费者问题对于生产者进程:产生一个数据,当要送入缓冲区时,要检查缓冲区是否已满,若未满,则可将数据送入缓冲区,并通知消费者进程;否则,等待;对于消费者进程:当
30、它去取数据时,要看缓冲区中是否有数据可取,若有则取走一个数据,并通知生产者进程,否则,等待。这种相互等待,并互通信息就是典型的进程同步。同时,缓冲区是个临界资源,因此,诸进程对缓冲区的操作程序是一个共享临界区,因此,还有个互斥的问题。 8.进程通信通信(communication)意味着进程间传递数据。操作系统可以看作是各种进程组成的,这些进程都具有各自独立的功能,且大多数都被外部需要而启动执行。在单机系统中进程的通信有4种形式:(1)主从式(2)会话式(3)消息或邮箱机制(4)共享存储区方式会话方式的特点:(1)使用进程在使用服务进程所提供的服务之前,必须得到服务进程的许可。(2)服务进程根
31、据使用进程的要求提供服务,但对所提供服务的控制由服务进程自身完成。(3)使用进程和服务进程在进行通信时有固定连接关系。消息或邮箱机制的特点是:(1)只要存在空缓冲区或邮箱,发送进程就可以发送消息。(2)与会话系统不同,发送进程和接受进程之间无直接联接关系。(3)发送进程和接受进程之间存在缓冲区或邮箱用来存放被传送消息。邮箱通信就是由发送进程申请建立一与接受进程联接的邮箱。设置邮箱的最大好处是发送进程和接受进程之间没有时间上的限制。共享存储区方式不要求数据移动,两个需要互相交换信息的进程通过共享数据区的操作达到互相通信的目的。9.死锁问题死锁:指个并发进程彼此互相等待对方所拥有的资源,且这些并发
32、进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又得不到资源,个并发进程不能继续向前推进的状态。死锁的起因:根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。产生死锁有四个必要条件:(1)互斥条件。并发进程所要求和占有的资源是不能同时被两个以上进程使用或操作的,进程对他所需要的资源进行排他性控制。 (2)不剥夺条件。进程所获得的资源在未使用完毕之前,不能被其它进程强行剥夺,而只能由获得该资源的进程自己释放。(3)部分分配。进程每次申请它所需要的一部分资源,在等待新资源的同时,继续占用已分配的资源。(4)环路等待条件。存在一种进程循环链,链中每一个进程已获
33、得的资源同时被下一个进程所请求。只要有一个条件不满足,死锁就可解除。预防死锁 1破坏“请求与保持条件” 每个进程在运行之前,必须预先提出自己所要使用的全部资源,调度程序在该进程所需要的资源末得到满足之前,不让它们投入运行,并且当资源一旦分配给某个进程之后,那么在该进程的整个运行期间相应资源一直被它占有,这就破坏了产生死锁的部分分配条件。2破坏环路条件 对系统提供的每一项资源,由系统设计者将它们按类型进行线性排队,并赋予不同的序号。3资源受控动态分配 为了避免死锁发生,操作系统必须根据预先掌握的关于资源用法的信息控制资源分配,使得共同进展路径的下一步不致于进入危险区,即只要有产生死锁的可能性,就
34、避免把一种资源分配给一个进程。 死锁的检测和恢复 1资源剥夺法 (1)还原算法。即恢复计算结果和状态。(2)建立检查点主要是用来恢复分配前的状态。 2撤消进程法 按一定的顺序中止进程序列,直至已释放到有足够的资源来完成剩下的资源为止。第四章1.一个作业从提交给计算机系统到执行结束退出系统,一般都要经历提交、收容、执行和完成四个状态。一个作业在其处于从输入设备进入外部存储设备的过程成为提交状态。处于提交状态的作业,因其信息尚未全部进入系统,所以不能被调用程序选取。收容状态也称为后备状态,输入管理系统不断地将作业输入到外存中对应部分(或称输入井,即专门用来存放待处理作业信息的一组外存分区)。若一个
35、作业的全部信息已全部被输入进输入井,那么,在它还未被调度去执行之前,该作业处于收容状态。作业调度程序从后备作业中选取若干作业到内存投入运行。它为被选中作业建立进程并分配必要的资源,这时,这些被选中的作业处于执行状态。当作业运行完毕,但它所占用的资源尚未全部被系统收回时,该作业处于完成状态。一般来说,处理机调度可分为4级:作业调度、交换调度、进程调度、线程调度。 作业调度:又称宏观调度或高级调度,其主要任务是按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应的根程序,以使该作业的进程获得竞争处理机的权利,另外,当该作业执行完毕时,还负责回
36、收系统资源。交换调度:又称中级调度,其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或就绪等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。交换调度主要涉及内存的管理和扩充,一般将它归在存储管理之中。进程调度:又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。只有在多道批处理系统中才有作业调度,而在分时和实时系统中一般只有进程调度、交换调度和线程调度。这是因为在分时和实时系统中,为了缩短响应时间或为了满足用户需求的截止时间,作业不是建立在外存中,而是直接建立在内存中。2.作业调度作业调度的功能:(1)记录系
37、统中各作业的状况,包括执行阶段的有关情况。通常,系统为每个作业建立一个作业控制表JCB记录这些有关信息。作业控制块JCB:在作业调度的过程中记录作业各方面的信息。它随作业的创建而产生,随作业的撤消而被清除。(2)从后备队列中选取一部分作业投入执行(3)为被选中的作业做好执行前的准备工作。(4)在作业执行结束时做好善后处理工作。作业调度目标:(1) 对所有作业应该是公平合理的。(2) 应使设备有高的利用率。(3) 每天执行尽可能多的作业(4) 有快的响应时间对于批处理系统,作业的平均周转时间或平均带权周转时间,被作为衡量调度算法优劣的标准;对于分时系统和实时系统,外加平均响应时间作为衡量调度算法
38、优劣的标准(1)周转时间:作业i从提交时刻到完成时刻称为作业的周转时间。Ti = Tei - TsiTei为作业i的完成时间,Tsi为作业的提交时间一个作业的周转时间说明了该作业在系统内停留的时间,包含两部分:一是等待时间;二为执行时间Ti = Twi + TriTwi主要是指作业i由后备状态到执行状态的等待时间,它不包括作业进入执行状态后的等待时间。一批作业的平均周转时间为: nT=1/n Ti i=1带权周转时间Wi=Ti/Tri Ti作业周转时间 Tri作业执行时间一批作业的平均带权周转时间为 nW=1/n Wi i=13进程调度进程调度的功能:用PCB块记录系统中所有进程的执行情况按照
39、一定的调度算法,选择一个处于就绪状态的进程,给它分配处理机(这是最重要的功能)实施进行进程上下文的切换引起进程调度的原因:(1) 正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理机资源。(2) 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。(3) 执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了V原语激活了等待资源的进程队列。(4) 执行中进程提出了I/O请求后被阻塞。(5) 在分时系统中时间片已经用完。(6) 在执行完系统调用,在系统程序返回用户进程,可认为系统进程执行完毕,从而可调度选择一新的用户程序执行。以上都是CPU执行不可剥夺方式下做引起的
40、进程调度的原因,在CPU执行方式是可剥夺时,还有:(7) 就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将发生进程调度。可剥夺方式:即就绪队列中一旦有优先级高于当前进程优先级的进程存在时,便立即发生进程调度,转让处理机。非剥夺方式(不可剥夺方式):即使在就绪队列存在有优先级高于当前执行进程时,当前进程仍将继续占有处理机,直到该进程因自己调度调用原语操作或、等待I/O进入阻塞状态或时间片用完时才重新发生调度让出处理机。进程调度性能评价(1)进程调度性能是衡量操作系统性能的一个重要指标(2)在大多数情况下,利用测试或模拟系统响应时间的方法来评价进程调度的性能4.调度算法先来先服务(
41、FCFS)算法将用户作业和就绪进程按提交顺序或变成就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理。优点:在一般意义下是公平的,即每个作业或进程都按照它们在队列中等待时间长短来决定它们是否优先享受服务。缺点:对于那些执行时间较短的作业或进程来说,如果它们在某些执行时间很长的作业或进程之后到达,则它们等待很长时间。(时间片)轮转法(RR)算法描述:就绪队列按进程到达的时间来排列。处理机的时间被分为固定大小的时间片。调度程序总是选择就绪队列中的第一个进程。一个执行进程如果在用完一个时间片后还没有完成其任务,它就自动释放处理机回到就绪队列的末尾重新排队,等待下一次被调度。缺点:只能用来分配
42、那些可抢占资源,而且这种算法只能用于进程调度,不能用于作业调度(作业调度包含了不可抢占资源)。 时间片的选取非常重要,时间片长度的选择会直接影响系统开销和响应时间。如果时间片长度过短,则调度程序剥夺处理机的次数增多,这将使进程上下文交换次数也大大增加,加重了系统开销。如果时间片长度选择过长(大),大到一个进程足以完成其全部运行工作所需的时间,那么时间片轮转法就退化为先来先服务策略了。最佳的时间片量值应能使分时用户得到好的响应时间。时间片的确定在轮转法中,时间片长度q根据系统对响应时间的要求R和就绪队列中所能容纳的最大进程数Nmax确定的。 q=R/Nmax一种改进的方法就是每当一轮调度开始时,
43、系统根据就绪队列中当前的进程数计算一次q,作为新一轮调度的时间片。多级反馈轮转法(进程调度)(1)在时间片轮转法中设置三个就绪队列a.时间片完成就绪队列b.等待结束就绪队列c.新进程就绪队列(2)每个队列建立时按FCFS排列,同一队列中进程的优先级相同,不同队列具有不同的优先级优先级高的队列中进程的时间片短,优先级低的队列中进程的时间片长。(3)进程调度时,先调度高优先级就绪队列中的进程,当高优先级就绪队列为空时才调度优先级低的就绪队列中的进程(4)一个进程在执行过程中要经历不同的就绪队列优先级法算法描述:按照某种原则给作业或进程确定一个优先级,进程的就绪队列或作业的后备队列按对象的优先级进行
44、排列,高前低后。对象进入队列是插入。当调度发生时,排列在最前面的进程或作业被调度。确定优先级的方法有两类:动态法和静态法静态法是根据作业或进程的静态特性,在作业或进程开始执行之前就确定它们的优先级,一旦开始执行后就不能改变。动态法:把作业或进程静态性和动态性结合起来确定作业或进程的优先级,随着作业或进程的执行过程,优先级不断变化。作业调度中静态优先级确定原则:(1) 由用户自己根据作业的紧急程度输入一个适当的优先级(2) 由系统或操作员根据作业类型指定优先级。(3) 系统根据作业要求资源情况确定优先级。进程调度静态优先级确定原则:(1) 按照进程的类型给与不同的优先级。(2) 将作业的静态优先
45、级作为它所属进程的优先级。由于在进程调度中静态优先级确定方法的缺陷:系统效率低、调度性能不高,所以多采用动态的方法确定优先级。进程调度动态优先级确定原则:(1) 根据进程占有CPU时间的长短来决定。一个进程占有处理机时间越长,则在被阻塞后再次获得调度的优先级越低,反之,获得调度的可能性越大(2) 根据就绪进程等待CPU的时间长短来决定。一个就绪进程在就绪队列中等待的时间越长,则它获得调度选中的优先级就越高。最短作业优先法SJF(作业调度)选择那些估计需要执行时间最短的作业投入执行,为它们创建进程和分配资源。优点:可使得系统在同一时间内处理的作业个数最多,从而吞吐量也就大于其他调度方式。缺点:对于一个不断有作业进入的批处理系统来说,最短作业优先法有可能使得那些长作业永远得不到调度执行的机会。最高响应比优先法(作业调度)综合平衡FCFS和SJF,既