操作系统复习

第一章   操作系统引论
1.操作系统的定义、目标和作用:
定义:操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业   进行调度,以及方便用户使用的程序的集合
目标:有效性、方便性、可扩充性、开放性
作用:作为用户和计算机硬件系统之间的接口、作为计算机系统资源的管理者    实现了对计算机资源的抽象。

2.操作系统的发展过程:
无操作系统的计算机系统:批道处理系统-----包括单道批处理系统和多道批处  理系统
分时系统:分时系统能够经一台计算机提供给多个用户同时使用,提高计算机  的利用率。它常被应用查询系统中 ,满足许多查询用户的需要。
实时系统:实时系统是指系统能够及时响应外部事物的请求,在规定时间内完  成对该事件的处理,并控制实时任务协调一致地运行。

3.操作系统的基本特征: 并发性、共享性、虚拟性、异步性

√4.多线程:
a.线程的引入:进程不仅是一个可独立调度和分派的基本单位,也是一个拥有资源的基本单位,即它拥有一个进程运行时所必须的资源,如所需的内存空间、相关的文件,以及某些I/O设备等,因而在创建、撤销和切换中,系统必须为之付出较大的时空开销,所以进程的切换频率不宜过高,这就限制了并发程度的进一步提高,故引入线程。
b.线程的属性:轻微实体---线程中的实体基本上不拥有系统资源,只占用必不可少的、能保证系统独立运行的很少的资源;
独立运行的基本单位---在多线程OS中,线程的独立性表现为,它是系统中能独立运行的基本单位,因而也就是能被独立调度和分派的基本单位;
可并发执行---在一个进程中的多个线程之间可以并发执行,在不同进程中的线程也同样能并发执行;
共享进程资源---在同一进程中的各个线程,都可以共享该进程所拥有的资源。

5.操作系统的主要功能:处理机管理、存储器管理、设备管理、文件管理

第二章  进程的描述与控制
√1.进程的定义和特征:
定义:是指系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令数据和堆栈组成的,是一个能独立的运行的活动的实体。
特征:动态性(最基本的特征),并发性,独立性,异步性。
PCB(进程控制块):为了使参与并发执行的程序能独立地运行,在操作系统中为之专门配置的数据结构。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。

2.进程(进程实体,进程映像)的构成:程序段,相关的数据段,PCB。

3.进程的几种基本状态:就绪状态,执行状态,阻塞状态。

4.进程控制:包括进程的创建,进程的终止,进程的阻塞与唤醒,进程的挂起和激活。

√5.进程的两个基本属性:进程是一个可拥有资源的的独立单位;进程又是一个可独立调度和分派的基本单位。

6.操作系统内核:
现代操作系统一般将OS划分为若干个层次,再将OS的不同功能,分别设置在不同的层次中。通常是将一些与硬件紧密相关的模块,各种常用设备的驱动程序,以及运行频率较高的模块,都安排在紧靠硬件的软件层次中,将它们常驻内存。其主要目的是:一方面便于对它们加以保护,以防止对应用程序的破坏;另一方面可以提高OS的运行效率。通常将该层软件称为OS内核。

7.OS功能:支撑功能:1中断处理 2时钟管理 3原语操作。
   资源功能:1进程管理 2存储器管理 3设备管理。

√8.线程的引入:是为了减少程序在并发执行的是所付出的时空开销,使OS具有更好的并发性。线程是作为调度和分派的基本单位。

√9.线程与进程的比较
①调度:在传统的操作系统中,把进程作为拥有资源的基本和独立调度,分派的基本单位。而在引入线程的操作系统中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位。
②并发性:在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个进程之间也可以并发执行,使得操作系统具有更好的并发性,从而能更加有效地提高操作系统的资源利用率和系统吞吐量。
③拥有资源:无论是传统的操作系统,还是引入线程的操作系统,进程都可以拥有资源,是系统中拥有资源的一个基本单位。一般而言,线程自己不拥有系统资源,但它可以访问隶属进程的资源,即一个进程的代码段,数据段即所拥有的系统资源。
④系统开销:就切换代价而言,进程是原高于线程的。此外,由于一个进程的多个线程具有相同的地址空间,而在同步和通信方面线程也比进程容易实现。在一些操作系统中,线程的切换,同步,通信都无须操作系统内核的干预。

第三章  进程的同步与通信
1.进程同步的概念:进程同步的主要任务是对多个相关联进程在执行次序上相互协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使进程的执行具有可再现性。

2.临界资源:也称独占资源,是指在一段时间内,只允许一个进程访问的资源。

3.临界区:每个进程中访问临界资源的那段代码

4.同步机制应该遵循的规则:空闲让进;忙则等待;有限等待;让权等待。

5.信号量机制:
a.整形信号量和记录型信号量:整形信号量定义为一个用于表示资源数目的整型量s,它与一般整形量不同,除初始化外,仅能通过两个标准的原子操作(Atomic Operation)wait(s)和singal(s)来访问;记录型信号量中,除了需要一个用于代表资源数目的整形数量value外,还应增加一个进程链表指针L,用于指向进程阻塞队列,该队列按阻塞的先后顺序,来链接所有等待访问同一个临界资源的进程。在对整形信号量机制做了上述的修改后,便形成记录型信号量。
b.AND型信号量和信号量级:AND型信号量---将进程在整个运行过程中需要的所有资源,作为一个主体,一次性的全部分配给进程,待进程用完后再一起释放。只要尚有一个资源未能分配给进程,其他所有可能为之分配的资源,都不分配给它;信号量集机制---对AND型信号量机制加以扩充,形成一般化的“信号量集”机制。所以,它除了有多个信号量S外,还增加了两组参数,一组是进程每次的需求量d,另一组是系统剩余资源的下限值t.
c.信号量的应用:利用信号量实现进程互斥;利用信号量实现前趋关系。

6.高级进程机制可归纳为三大类:
①共享存储器类型:基于共享数据结构的通信方式,基于共享存储的方式。
②消息传递系统:消息传递系统的通行方式属于高级通信方式。其又可以分为直接通信方式和间接通信方式。
③管道通信方式:管道机制应该具有以下三方面的协调能力互斥、同步、确定对方是否存在。

√7.利用管程解决生产者--消费者问题:
producer consumer管程可描述如下:
  type producer-consumer=monitor
     var in,out,count:integer;
       buffer:array[0,...,n-1]of item;
       notfull,notempty:condition;
       procedure entry put(item)
         begin
           if count>=n then notfull.wait;
             buffer(in):=nextp;
             in:=(in+1)mod n;
             count:=count+1;
             if notempty.queue then notempty.singal;
          end
       procedure entry get(item)
          begin
             if count<=0 then notempty.wait;
             nextc:=buffer(out);
             out:=(out+1)mod n;
             count:=count-1;
             if notfull.quene then notfull.singal;
          end
      begin in:=out:=0;count:=0 end
   在利用管程解决生产者消费者问题时,其中的生产者和消费者可描述为:
    producer:begin
                repeat
                    producer an item in nextp;
                    PC.put(item);
                until fasle;
              end
    consumer:begin
               repeat
                 PC.get(item);
                 consume the item in nextc;
               until fasle;
             end

第四章  处理机调度与死锁
1.处理机调度的层次:
①高级调度:又称作业调度,主要功能是根据某种算法,把外存处于后备队列中的那些作业调入内存。
②中级调度:中级调度的主要目的是提高内存利用率和系统吞吐量。为此,应把那些暂时不能运行的进程调至外存上等待。当这些进程重又具备调度条件且内存有稍微空闲的时候,由中级调度决定把外存上的那些具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。
③低级调度:又称为进程调度,决定就绪队列中哪些进程应该获得处理机,然后由分配程序执行把处理机分配给该进程的具体操作。
进程调度的频率最高,在分时系统中通常仅10~100ms并进行一次进程调度,因此成为短程调度。作业调度频率较低大约几分钟一次,因此成为长程调度。中级调度成为中程调度。

2.作业与作业调度:
a.批处理系统中的作业及调度:作业不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。在批处理系统中,是以作业为基本单位,从外存调入内存的;通常,在作业运行期间,每个作业都必须经过若干个相对独立,又相互关联的顺序加工步骤才能得到结果。我们把其中的每一个加工步骤称为一个作业步。各作业步之间存在着相互联系,往往是上一个作业步的输出作为下一个作业步的输入;为了管理和调度作业,在多道批处理系统中,为每个作业设置了一个作业控制块,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。
b.作业运行的三个阶段和三种状态:收容阶段--操作员把用户提交的作业,通过某种输入方式或SPOOLing系统,输入到键盘上,再为该作业建立作业控制块,并把它放入作业后备队列中。此时作业的状态为后备状态;当作业被作业调度选中后,便为它分配必要的资源和建立进程,并将它放入就绪队列。一个作业从第一次进入就绪状态开始,直到它运行结束,为运行阶段,在此期间都处于运行状态;当作业运行完成,或发生异常情况而提前结束时,作业便进入完成阶段。相应地,作业状态为完成状态。此时系统中的“终止作业”程序,将会回收已分配给该作业的作业控制块和所有资源,并将作业运行接过信息形成输出文件后输出。
c.作业调度的主要任务:根据JCB中的信息,检查系统中的资源,能否满足作业对资源的需求,以及按照一定的调度算法,从外存的后备队列中,选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程,排在就绪队列上等待调度。

√3.先来先服务和短作业优先调度算法:
a.先来先服务调度算法:当在作业调度中采用该算法时,系统将按照作业到达的先后次序来进行调度,或者说它将优先考虑在系统中等待时间最长的作业,而不管该作业执行时间的长短。即从后备作业队列中选择几个最先进入该队列的作业,将他们调入内存,为他们分配资源和创建进程。然后把它放入就绪队列。
b.短作业优先调度算法:该算法是以作业的长短来计算优先级的,作业越短,其优先级就越高。作业的长短,是以作业所要求的运行时间来衡量的。缺点:必须预知作业的运行时间;对长作业非常不利,长作业的周转时间明显的增长;在采用先来先服务算法时,人机无法实现交互;该调度算法完全未考虑作业的紧迫程度,故不能保证紧迫性作业得到及时处理。
c.优先级调度算法和高响应比优先调度算法:优先级调度算法---对于先来先服务调度算法,作业的等待时间就是作业的优先级,等待时间越长,其优先级越高。对于短作业优先调度算法,作业的长短就是作业的优先级,作业所需运行的时间越短,其优先级越高。对于优先级调度算法中,则是基于作业的紧迫程度,由外部赋予作业相应地优先级,调度算法是根据该优先级进行调度的,这样就可以保证紧迫性作业优先运行;高响应比优先调度算法---该算法比优先调度算法则是既考虑作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。

√4.进程调度:
a.进程调度的任务、机制和方式:进程调度的任务---保存处理机的现场信息;按某种算法选取进程。进程调度机制的三个基本部分---排队器、分派器和上下文切换器。进程调度方式---非抢占方式(在采用这种调度方式时,一旦把处理机分配给某进程后,就让它一直运行下去,绝不会因为时钟中断,或其他任何原因,去抢占该正在运行进程的处理机;直至该进程完成,或发生某事件而被阻塞时,才能把处理机分配给其他进程);抢占方式(这种调度方式,允许调度程序根据某种原则,去暂停某个正在执行的进程,将以分配给该进程的处理机,重新分配给另一进程。遵循的原则---优先权原则;短进程优先原则;时间片原则)
b.优先级调度算法的关键在于应如何确定进程的优先级,以及优先级的类型。优先级的类型有以下两种:静态级优先和动态级优先。
c.多级反馈队列调度算法:调度机制在系统中设置多个就绪队列,并为每个队列赋予不同的优先级;每个队列都采用FCFS算法。当新进程进入内存后,首先将它放入第一队列的末尾,按FCFS原则等待调度;按队列优先级调度。调度程序首先调度最高优先级队列中的诸进程运行,仅当第一队列空闲时,才调度第二队列中的进程运行。
d.基于公平原则的调度算法:保证调度算法--它向用户作出的保证并不是优先运行,而是明确的性能保证;公平分享的调度算法--该算法的公平性主要是针对用户,使所有用户能获得相同的处理时间,或所要求的时间比例。

5.调度队列模型和调度准则
①调度队列模型:仅有进程调度的调度队列模型、具有高级和低级调度的调度队列模型、同时具有三级调度的调度队列模型。
②选择调度方式和调度算法的若干准则:
面向用户的准则:
周转时间短:周转时间是指作业被提交给系统开始,到作业完成为止的这段时间间隔。
响应时间快:响应时间是指从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间,或者说,直到屏幕上显示出结果为止的一段时间间隔。
截止时间的保证:截止时间是指某任务必须开始执行的最迟时间或是必须完成的最迟时间。
优先权准则:在批处理、分时和实时系统中选择调度算法时,都可遵循优先权准则,以便让某些紧急的作业能得到及时处理。在要求比较严格的场合,往往需要选择抢占式调度方式,才能保证紧急作业得到及时处理。
面向系统的准则:
系统吞吐最高、处理机利用率好、各类资源的平衡利用。

6.调度算法:先来先服务和短作业优先调度算法、高优先权优先调度算法、基于时间片的轮转调度算法。

7.实时调度:实现实时调度应该具备下述几个条件:
①提供必要的信息:就绪时间、开始截止时间和完成截止时间、处理时间、资源要求、优先级。
②系统处理能力强。
③采用抢占式调度算法。
④具有快速切换机制。

√8.产生死锁的原因与必要条件:多个进程在运行过程中因争夺资源而造成的一种僵局。
a.原因:
①竞争资源:当多个进程共享的资源的数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁;
②进程间推进顺序非法:进程在运行过程中,请求和释放资源的顺序不当,也同样会引起死锁。
b.必要条件:
①互斥条件:指进程对所分配的资源进行排他性使用,即在一段时间内某资源只由一个进程用毕释放。
②请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又已被其他进程占有,此时请求进程阻塞,但又对自己已获得的其他资源保持不放。
③不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
④环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链。
处理死锁的基本方法:预防死锁、避免死锁、检测死锁、解除死锁。

√9.预防死锁的方法:
①摒弃“请求和保持”条件:这种预防死锁的方法其优点是简单、易于实现且很安全。
②摒弃“不剥夺”条件:这种预防死锁的方法实现起来比较的复杂且要付出很大的代价。因为一个资源使用一段时间后,它的被迫释放可能会造成前段工作的失效,即使是采取了某些防范措施,也会使进程前后两次运行的信息不连续。
③摒弃“环路等待”条件:这种预防死锁的策略与前两种策略比较,其资源利用率和系统吞吐量都有较明显的改善。但也存在下述严重问题:限制了新类型设备的增加、进程使用各类资源的顺序和系统规定的顺序不同会造成对资源的浪费、限制用户简单自主的编程。
避免死锁的实质在于:系统在进行资源分配时,如何使系统不进入不安全状态。

√10.银行家算法:
银行家算法中的数据结构:
①可利用资源向量Available。如果Available[j]=K,则表示系统中现有Rj类资源K个。
②最大需求矩阵Max。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K
③分配矩阵Allocation。如果Allocation[i,j]=K,则表示进程i当前已分得Rj类资源的数目为K。
④需求矩阵Need。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其其任务。
上述三个矩阵存在下述关系:
                  Need[i,j]=Max[i,j]-Allocation[i,j]
银行算法:
设Request1是进程P1的请求向量,如果Request1[j]=K,表示进程P1需要K个Rj类型的资源。当P1发出资源请求后,系统按下述步骤进行检查:
①如果Request1[j]<=Need[i,j],便转向步骤2;否则认为出草,因为它所需要的资源数已超过它所宣布的最大值。
②如果Request1[j]<=Available[j],便转向步骤3;否则,表示尚无足够资源,P1须等待。
③系统试探着把资源分配给进程P1,并修改下面数据结构中的数值:
      Available[j]:=Available[j]-Request1[j];
      Allocation[i,j]:=Allocation[i,j]+Request1[j];
      Need[i,j]:=Need[i,j]-Request1[j];
④系统执行安全算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程P1,以完成本次分配;否则,将本次的试探分配作废,恢复原来的资源分配状态,让进城P1等待。
安全性算法:
①设置两个向量:(1)工作向量Work,它表示系统可提供给进程继续运行所需的各类资源数目,它含有m个元素,在开始执行安全算法时,Work:=Available;
(2)Finish,它表示系统是否有足够的资源分配给进程,使之运行完成。开始时先做Finish[i]=false:当有足够资源分配给进程时,再令Finish[i]:=true。
②从进程集合中找到一个满足下述条件的进程:(1)Finish[i]=false;(2)Need[i,j]<=Work[j];若找到,执行下面的步骤3,否则执行步骤4.
③当进程P1获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行;
Work[i]:=Work[j]+Allocation[i,j];
Finish[i]:=ture;
go to step 2;
④ 如果所有进程的Finish[i]=ture都满足,则表示系统处于安全状态;否则,系统处于不安全状态。

第五章   存储器管理
1.连续分配方式:
①单一连续分配:这是一种最简单的一种存储管理方式,但是只是适应于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分。
②固定分区分配:这是一种最简单的一种可运行多道程序的存储管理方式。这是将内存用户空间划分为若干个固定大小的区域,在每个分区只装入一道作业,这样,把用户空间划分为几个分区,便允许有几道作业并发进行。
③动态分区分配:动态分区分配时根据进程的实际需要,动态地为之分配存储管理空间。

2.在实现可变分区分配时,将设计到分区分配中所用的数据结构、分区分配算法和分区的分配与回收操作这样三个问题总结如下:
①数据结构:空间分区表、空闲分区链。
②分区分配算法:首次适应算法、循环首次适应算法、最佳适应算法、醉话适应算法、快速适应算法。
③分区分配算法:分配内存、回收内存。
   其中当进程完毕释放内存时,系统根据回收区的首地址,从空闲链表中找到相应的插入点,此时可能出现以下四种情况:①回收区与插入点的前一个空闲分区相邻接②回收分区与插入点的后一个空闲分区相邻接③回收区同时与插入点的前后两个分区邻接④回收区既不与插入点的前一个空闲分区也不与插入点的后一个空闲分区邻接。

3.索引搜索的分区分配算法:
①快速适应算法:又称为分类搜索法,是将空闲分区,根据其容量大小,经行分类,对于每一类具有相同容量的所有空闲分区,单独设立一个空闲分区链表,这样中会存在多个空闲分区链表。
②伙伴系统
③哈希算法

4.动态重定位分配:动态重定位分区分配算法与动态分区分配基本相同,差别仅在于:在这种分配算法中,增加了紧凑的功能,通常,在找不到足够大的空闲分区来满足用户需求时进行紧凑。

5.对换:是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,换出到外存上,以便腾出足够的内存空间,再把已经具备运行条件的进程或进程所需的程序和数据,换入内存。对换是改善内存利用率的有效措施,它可以直接提高处理机的利用率和系统的吞吐量。
对换的类型:整体对换,页面对换

√6.分页存储管理的几个基本概念:
①页面和页面大小:分页存储管理将进程的地址空间,分为若干页,并为各页加以编号;选择的页面过大,虽然可以减少页表的长度,以及提高页面换进换出的速度,但却又会使页内碎片增大。因此,页面的大小应该选择得适中,且页面大小应该是2的幂,通常为1~8KB;
②地址结构:包含两部分内容:前一部分为页号P,后一部分为位移量W,即页内地址。地址长度为32位,其中0~11位为页内地址,即每页的大小为4KB;12~31位为页号,地址空间最多允许有1兆页。
③页表:在分页系统中,允许将进程的各个页,离散地存储在内存的任一物理块中。为保证进程仍然能够正确的运行,即能在内存中找到每个页面所对应的物理块,为此,系统又为每个进程建立了一张页面映像表,简称页表。

√7.地址变换机构:
①基本的地址变换机构:当进程要访问某个逻辑地址中的数据时,分页地址变化机构会自动地将有效地址分为页号和页内地址两部分,再以页号为索引去检索页表。查找操作由硬件执行。在执行检索之前,先将页号与页表长度进行比较,如果页号大于或等于页表长度,则表示本次所访问的地址已超越进程的地址空间。于是,这一错误将被系统发现,并擦汗牛根生一个地址越界中断。若未出现越界错误,则将页表始址与页号和页表项长度的乘积相加,便得到该表项在页表中的位置,于是可从中得到该页表的物理块号,将之装入物理地址寄存器中。与此同时,再将有效地址寄存器中的页内地址,送入物理地址寄存器的块内地址字段中。这样便完成了从逻辑地址到物理地址的变换;
②具有快表的地址变化机构:为了提高地址变换速度,可在地址变换机构中,增设一个具有并行查寻能力的特殊高速缓冲寄存器,又称为联想寄存器或称为快表。此时变换过程是:在CPU给出有效地址后,又地址变换机构自动地将页号P,送入告诉缓冲寄存器,并将此页号与高速缓存中的所有页号进行比较,若其中有与此相匹配的页号,便表示所要访问的页表项在快表中。于是,可直接从快表中读出该页嗦对应的物理块号,并送到物理地址寄存器中。如在表快中未找到对应的页表项,则还须在访问内存中的页表,找到后,把从也表项中读出的物理块号送地址寄存器;同时,再将此页表项存入快表的一个寄存器单元中,亦即,重新修改快表。但如果联想寄存器已满,则OS必须找到一个老的且已被任务是不再需要的也表项,将他换出。

8.基本分页存储管理方式:连续分配方式会长生很多碎片,虽然可以通关“紧凑”方法将许多碎片并接成可用的人块空间,但是要付出很大的开销。如果容许将一个进程直接分散的装入到狠多不相邻接的分区中,则无须在进行“紧凑”,基于这一思想而长生了离散的分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式。如果离散分配的基本单位是段,则称为分段存储管理方式。在分页存储管理方式中,如果不具备页面对换功能,则称为基本的分页存储管理方式,或者称为纯分页存储管理方式,它不具有支持实现虚拟存储器的功能,它要求把每个作业全部装入内存中方可运行。

9.基本分段存储管理方式:引入分段存储管理方式的目的,则主要是为了满足用户(程序员)在编程和和使用上多方便的要求,其中有些要求是其他几种存储管理方式在所难满足的,因此,这种存储管理方式已成为当今所有存储方式的基础

10.引入分段可以满足用户和程序员的下述一系列需要:
     方便编程 ;信息共享 ;信息保护;动态增长;动态链接

第六章  虚拟存储器
1.传统存储器管理方式的特征:
①一次性:是指作业必须一次性的全部装入内存后,方能开始运行。
②驻留性:是指作业被装入内存后,整个作业都一直驻留在内存中,其中任何部分都不会被换出,直至作业运行结束。

2.局部性原理:
在一段较短时间内,程序的执行总局限于某个部分,相应地,它所访问的储存空间也局限于某个区域。
局限性表现在两方面:时间局限性,空间局限性。

3.虚拟储存器的定义和特征:
定义:是指具有请求调入功能和置换功能,能从逻辑上队内存容量加以扩充的一种储存器系统。其逻辑容量由内存容量和外存容量之和所决定的,其运行速度接近于内存速度,而每位的成本却又接近于外存。
特征:多次性;兑换性;虚拟性

4.虚拟存储器的实现方法:请求分页系统和请求分段系统

5.请求分页中的硬件支持:
①请求页表机制②缺页中断机制③地址变换机构

6.为进程分配内存时将涉及到三个问题:①最小物理块数的确定
②内存分配的策略   ③物理块分配算法

√7.最佳置换算法和先进先出置换算法:
①最佳置换算法:
其选择的被淘汰页面,将是以后永不适用的,或者是在最长时间内不被访问的页面.采用最佳置换算法,通常可以保证获得最低的缺页率。
②先进先出(FIFO)页面置换算法:
该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面,予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为置换指针,使它总是指向最老的页面。

√8.最近最久未使用置换算法:
根据页面调入内存后的使用情况做出决策的,该算法赋予每个页面一个访问字段,用来记录一个页面,自上次被访问以来所经历的时间T。当须淘汰一个页面时,选择现有页面中其T值最大的,即最近最久未使用的页面。

√9.最少使用置换算法:
在采用该算法是,应为在内存中的每个页面设置一个移位寄存器,用来记录该页面被访问的频率。该置换算法选择在最近时期使用最少的页面作为淘汰页。

10.请求分段的段表项:存取方式;访问字段A;修改位M;存在位P;增补位;外存始址。

11.分段保护:越界检查;存取控制检查;环保护机构。

第七章,输入/输出系统
1、I/O系统基本功能:①隐藏物理设备的细节②与设备的无关性③提高处理机和I/O设备的利用率④对I/O设备进行控制⑤能确保对设备的正确共享⑥错误处理。

2、I/O系统层次结构:用户层I/O软件;设备独立性软件;设备驱动程序;中断处理程序。

3、I/O系统接口:块设备接口;流设备接口;网络通信接口。

4、I/O系设备类型:按使用特性分类(存储设备,I/O设备)按传输速率分类(低速设备,中速设备,高速设备)。

5、设备控制器功能:接受和识别命令;数据交换;地址识别;标识和报告错误的状态;数据缓冲区;差错控制。

6、设备控制器的组成:设备控制器与处理机的接口,设备控制器与设备的接口,I/O逻辑。

7、中断定义:CPU对I/O设备发来的中断信号的一种响应。

8、对多中断源的处理方式:屏蔽中断,嵌套中断。

9、中断处理程序的处理流程:测定是否有未响应的中断信号;保护被中断进程的CUP环境;转入相应的设备处理程序;中断处理;恢复CPU现场。

10、设备驱动程序功能:接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求转换为与设备相关的低层操作序列;检查用户I/O请求的合法性,了解I/O设备的工作状态,传递与I/O设备操作有关的参数,设置设备的工作方式,发出I/O命令;及时响应由设备控制器发来的中断请求,并根据其中的中断类型,调用相应的中断处理程序进行处理。

11、设备驱动程序特点:驱动程序是实现在与设备无关的软件和设备控制器之间通信和转换的程序;驱动程序与设备控制I/O设备的硬件特性紧密相关;驱动程序与I/O设备所采用的I/O控制方式紧密相关;程序中的一部分必须用汇编语言书写;驱动程序应允许可重入。

12、设备驱动程序的处理过程:将抽象要求转换为具体要求;对服务请求进行校验;检查设备的状态;传送必要的参数;启动I/O设备。

13、对I/O设备的控制方式:
①使用轮询的可编程I/O方式:处理机对I/O设备的控制采取轮询的可编程I/O方式,即在处理机向控制器发出一条I/O指令,启动输入设备输入数据时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy(称为轮询)。当busy=1是表示输入机尚未输完一个字符,处理机应继续对该标志进行测试,直至busy=0表明输入机已将输入数据送入控制器的数据寄存器中。于是处理机降数据据存期中的数据区取出,送入内存制定单元,便完成一个字符的I/O,再启动下一个数据,并置busy=1。
②使用中断的课编程I/O方式:对I/O设备的控制,广泛采用中断的可编程I/O方式,即当某进程要启用某个I/O设备工作时,便由CPU向相应的设备控制器,发出一条I/O命令,然后立即返回继续执行原来的任务。设备控制器于是按照该命令的要求,去控制指定的I/O设备。此时,CPU与I/O设备并行操作。
③直接存储器访问(DMA)方式:数据传输的基本单位是数据块,所传输的数据是从设备直接送入内存的、仅在传动一个或多个数据的开始和结束时才需要CPU的干预。

14、I/O通道控制方式:I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读写为单位的干预减少到为一组数据块的读写及有关的管理和控制为单位的干预。

√15、假脱机系统:假脱机技术是利用专门的外围控制机,先将低速I/O设备上的数据传送到高速磁盘上。假脱机打印系统:分三部分一是磁盘缓冲区,二是打印缓冲区,三是假脱机管理进程和假脱机打印进程。假脱机打印机系统特点:1,提高I/O的速度。2,将独占设备改造为共享设备。3,实现了虚拟设备功能。

16、缓冲管理:单缓冲是指在字符设备输入是缓冲区用于暂存用户输入的一行数据,在输入期间用户进程被挂起以等待数据输入完毕;在输出时用户进程将一行数据输入到缓冲区后继续处理。当用户进程已有第二行数据输出时如果第一行数据尚未被提取完毕则此时用户进程应阻塞。双缓冲是指为了加速输入输出速度提高设备利用率人们又引入双缓冲机制,在设备输入时先将数据送入第一缓冲区装满后变转向第二缓冲区。

17、缓冲池:由空缓冲队列、输入队列、输出队列组成

18、缓冲区的工作方式:收容输入、提取输入、收容输出、提取输出。

第八章和第九章 文件管理和磁盘存储器管理
1.文件的分类:
按用途分:系统文件、用户文件、库文件。
按文件中数据的形式分类:源文件、目标文件、可执行文件。
按存储控制属性分类:只执行文件、只读文件、读写文件。
按组织形式和处理方式分类:普通文件、目录文件、特殊文件。

2.文件系统模型:底层是对象及其属性、中间层是对对象进行操纵和管理的软件  集合、最高层是文件系统提供给用户的接口。

3.文件操作:最基本的文件操作----创建文件、删除文件、读文件、写文件、截  断文件、设置文件的读写位置。文件的打开和关闭操作以及其他文件操作。

4.文件的逻辑结构:文件的逻辑结构是从用户观点出发所观察到的文件组织形式  ,使用户可以直接处理的数据及其结构,它独立于文件的物理特征,又称为文  件组织。

5.对于文件逻辑结构提出的基本要求:首先是能够提高检索速度,其次是便于修  改,第三是较低文件的存储空间。

6.文件结构的类型:有结构文件、无结构文件
有结构文件:定长文件、变长文件
无结构文件:大量的源程序、可执行文件、库函数等等,所采用的就是无结构  文件,即流式文件。

7.根据用户和系统管理上的需要,可采用多种方式来组织这些记录形成下述的几  种文件:顺序文件、索引文件、索引顺序文件。

√8.为了能对系统中的大量文件施以有效的管理,在文件控制块中,通常应含有以  下三类信息:
(1)基本信息。文件名,指用于标识一个文件的符号名,在每个系统中,每一个 文件都必须有唯一的名字,用户利用该名字进行存储;文件物理位置,指文     件在外存上的存储位置,它包括存放文件的设备名、文件在外存上的起始盘     块号、指示文件所占用的盘块数,或字节数的文件长度;文件的逻辑结构,     指示文件是流式文件还是纪录式文件、记录式,文件是定长记录还是变长记     录等;文件的物理结构,指示文件是顺序,还是链接式文件或索引文件。
(2)存取控制信息。它包括文件主的存取权限、核准用户的存取权限,以及一般 用户的存取权限;
(3)使用信息:它包括文件的建立日期和时间、文件上一次修改的日期和时间, 以及当前使用信息,这些信息包括当前已打开的文件的进程数、是否被其他进程锁住、文件在内存中是否已被修改但尚未复制到盘上等

√9. 索引结点:
磁盘索引结点:这是存放在磁盘上的索引结点。每个文件有唯一的一个磁盘索   引结点,主要包括以下内容:文件主标识符---即拥有该文件的个人或小组的   标识符;文件类型---包括正规文件、目录文件或特别文件;文件存取权限---   指各类用户对该文件的存取权限;文件物理地址---每一个索引结点中含有13   个地址项,即iaddr(0)~iaddr(12),它们以直接或间接方式给出数据文件   所在盘块的编号;文件长度---指以字节为单位的文件长度;文件连接计数---   表明在本文件系统中,所有指向该文件名的指针计数;文件存取时间---指出   本文件最近被进程存取的时间、最近被修改的时间及索引结点最近被修改的时   间。
内存索引结点:这是存放在内存中的索引结点。当文件被打开时,要将磁盘索   引结点复制到内存的索引结点中,便于以后使用。在内存索引结点中又增加了   以下内容:索引节点编号---用于标识内存索引结点;状态---指示i结点是否   上锁或被修改;访问计数---每当有一进程要访问此i结点时,将该访问计数加   1,访问完再减1;文件所属文件系统的逻辑设备号;链接指针---设置有分别指  向空闲链表和散列队列的指针。

10.文件共享和文件保护:
常用的两种文件共享方法:基于索引结点的共享方式;利用符号链实现文件共    享。

11.几种常用的文件存储管理方法:空闲表法和空闲链接法;位示图法;成组链接 法。

√12.目前常用的外存组织方式有以下几种:
(1)连续组织方式:连续组织方式又称连续分配方式,要求为每一个文件分配一 片连续的磁盘空间,即一组相邻接的盘块。主要优点:顺序访问容易;顺序    访问速度快;主要缺点:要求为每一个文件分配连续的存储空间;事先必须    知道文件的长度;不能灵活的删除和插入记录。
(2)链接组织方式:在采用链式组织方式时,可为文件分配不连续的磁盘空间, 即多个不连续的盘块,再通过每个盘块上的链接指针,将同属于一个文件的多   个离散的盘块链接成一个链表,由此所形成的物理文件称为链接文件。主要优   点:消除了磁盘的外部碎片,提高了外存的利用率;插入、删除和修改记录都   非常容易;能适应文件的动态增长,无需事先知道文件的大小。
(3)FAT技术:利用文件分配表FAT来记录每个文件中所有盘块之间的链接。 分  为FAT12、FAT16和FAT32。
(4)NTFS的文件组织方式:
NTFS新特征:它使用了64位磁盘地址;在NTFS中可以很好地支持长文件名,单   个文件名限制在255个字符以内,全路径名为32767个字符;具有系统容错功能   ;能保证系统中地数据一致性;还有文件加密和文件压缩等功能。NTFS以簇作   为磁盘空间分配和回收的基本单位。一个文件占用若干个簇,一个簇只属于一   个文件。在NTFS中,以卷为单位,将一个卷中的所有文件信息、目录信息及可   用的未分配空间信息,都以文件记录的方式记录在一张
(5)索引组织方式:单级索引组织方式、多级索引组织方式、增量式索引组织方 式。

13.提高磁盘I/O速度的途径:
磁盘高速缓存:数据交付方式、置换算法、周期性的写回磁盘;提前读;延迟   写;优化物理块的分布;虚拟盘。

第十章  系统调用的概念和类型
1、系统态和用户态:计算机中运行着系统程序和应用程序,为了防止应用程序破坏OS,应用程序和OS的内核应运行在不同状态,即内核运行在系统状态而应用程序运行在用户态。

2、系统调用目的:使应用程序可以通过它间接地调用OS中的相关程序,取得相应的服务。它与一般过程调用的差别:1,运行在不同的系统状态。2,状态的切换。3,返回问题。4,嵌套调用。

3、系统调用过程:首先输入该程序的输入文件名和输出文件名,其次程序利用系统调用open去打开输入文件,用系统调用creat创建指定的输出文件,再次在打开输入文件和创建输出文件成功后利用申请内存的系统调用alloc根据文件的大小申请一个缓冲区,再用read系统调用把数据读导缓冲区,再用系统调用close关闭输入文件,用write系统调用吧缓冲区的数据写到输出文件。最后用系统调用exit使程序正常结束。

4、系统调用类型:进程控制类系统调用;文件操作类系统调用;进程通讯类系统调用。

 

操作系统常见面试题(答案仅供参考)
1.    什么是中断?中断时CPU做什么工作?
          中断是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
 
2.    CPU在上电后,进入操作系统的main()之前必须做什么?
      加电后,会触发CPU的reset信号,导致CPU复位,然后CPU会跳到(arm下0x00000000,x86下0xfffffff0)执行指令.主要是做CPU初始化,确定CPU的工作模式,mmu初始化。建立页表段表,初始化中孤单控制器和中断向量表,初始化输入和输出,初始化nandflash,把OS的TEXT区加载到sdram,然后跳转到sdram的main()
 
3.    简术ISO OSI的物理层Layer1,链路层Layer2,网络层Layer3的任务。
      网络层:资料传送的目的地寻址,再选择出传送资料的最佳路线;
链路层:负责网络上资料封包如何传送的方式;
物理层:在设备与传输媒介之间建立及终止连接。参与通讯过程使得资源可以在共享的多用户中有效分配,对信号进行调制或转换使得用户设备中的数字信号定义能与信道上实际传送的数字信号相匹配
 
4.    makefile文件的作用是什么?
            一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。
 
5.    UNIX显示文件夹中文件名的命令是什么?能使文件内容显示在屏幕的命令是什么?
       ls cat
type tail
6.    Linux文件属性有哪些?(共十位)
       -rw-r--r—1
           第一个属性代表这个文件是【目录、文件或连结文件】,当为[ d ]则是目录,为[ - ]则是文件,若是[ l ]则表示为连结档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备;
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
       接下来的属性中,三个为一组,且均为【rwx】三个参数的组合,其中[r]代可读、
[w]代表可写、[x]代表可执行:
第一组为【拥有人的权限】,
 第二组为【同群组的权限】;
 第三组为【其它非本群组的权限】。
7.    Linux中常用到的命令
      显示文件目录命令ls
      改变当前目录命令cd  如cd / /home
      建立子目录mkdir  mkdir xiong
      删除子目录命令rmdir  如 rmdir /mnt/cdrom
      删除文件命令RM  如 rm /ucdos.bat
      文件复制命令cp   如 cp /ucdos/* /fox
      获取帮助信息命令man 如 man ls
      显示文件的内容less 如 less mwm.lx
      重定向与管道type 如type  readme>>direct,将文件readme的内容追加到文direct中
8.    进程通信有哪些方式?
    管道通信、消息通信、内存共享
9.    说说分段和分页。
         页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。
    段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。 段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
    分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址
10.什么是进程和线程?有何区别?
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.
线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.
11.Windows下的内存是如何管理的?
Window操纵内存可以分两个层面:物理内存和虚拟内存。  
      其中物理内存由系统管理,不允许应用程序直接访问,应用程序可见的只有一    个2G地址空间,而内存分配是通过堆进行的,对于每个进程都有自己的默认堆,当一个堆创建后,就通过虚拟内存操作保留了相应大小的地址块(不占有实际的内存,系统消耗很小),当在堆上分配一块内存时,系统在堆的地址表里找到一个空闲块(如果找不到,且堆创建属性是可扩充的,则扩充堆大小)为这个空闲块所包含的所有内存页提交物理对象(物理内存上或硬盘上的交换文件上)。这时可以就访问这部分地址了。提交时,系统将对所有进程的内存统一调配,如果物理内存不够,系统试图把一部分进程暂时不访问的页放入交换文件,以腾出部分物理内存。释放内存时,只在堆中将所在的页解除提交(相应的物理对象被解除),继续保留地址空间。  
如果要知道某个地址是否被占用/可不可以访问,只要查询此地址的虚拟内存状VirtualQuery),如果是提交,则可以访问。如果仅仅保留,或没保留,则产生一 个  软件异常。此外有些内存页可以设置各种属性。如果是只读,向内写也会产生软件异常
12.操作系统的内容分为几块?什么叫做虚拟内存?优点管理属于操作系统的内容吗?
13.进程是一个比较重要的概念,那么进程有哪几种状态?
     基本状态有3种,即ready(就绪),running(运行),wait(等待).
14.说出你所知道的保持进程同步的方法?
    进程间同步的主要方法有内存屏障,互斥锁,信号量和锁,管程,消息,管道
15.OS中如何实现物理地址到逻辑志址的转换?
16.解释一下分页式管理。
          用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配.
17.什么是死锁,其条件是什么?怎么避免死锁?
         死锁是指,在两个或多个并发进程中,如果每个进程持有某种资源而又都等待别的进程释放它们现在保持着的资源,否则就不能向前推进.此时,每个进程都占用了一定的资源但是又不能向前推进,称这一组进程产生了死锁. 通俗的讲,就是两个或多个进程无止境的等候着永远不会成立的条件的一种系统状态. 其条件是为
1.互斥:存在这样一种资源,它在某个时刻只能被分配给一个执行绪使用;
2.持有:当请求的资源已被占用从而导致执行绪阻塞时,资源占用者不但无需释放该资源,而且还可以继续请求更多资源;
3.不可剥夺:执行绪获得到的互斥资源不可被强行剥夺,换句话说,只有资源占用者自己才能释放资源;
4.环形等待:若干执行绪以不同的次序获取互斥资源,从而在由多个执行绪组成的环形链中,每个执行绪都在等待下一个执行绪释放它持有的资源。
避免死锁:按顺序访问,事务最小化
 
18.什么是缓冲区溢出?有什么危害?其原因是什么?
         缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,
危害:在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕虫。而缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。
通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数
19.什么是临界区?如何解决冲突?
          每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。
① 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
② 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
③   进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
④   如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
20.解释一下P操作与V操作。
      P就是请求资源,V就是释放资源
21.中断和轮询的特点。

2010年自考《操作系统》复习资料
  1、操作系统具有层次结构
  层次结构最大特点是整体问题局部化来优化系统,提高系统的正确性、高效性使系统可维护、可移植。
  主要优点是有利于系统设计和调试;主要困难在于层次的划分和安排。
  2、多道程序设计系统
  “多道程序设计系统” 简称“多道系统”,即多个作业可同时装入主存储器进行运行的系统。在多道系统中一点必须的是系统须能进行程序浮动。所谓程序浮动是指程序可以随机地从主存的一个区域移动到另一个区域,程序被移动后仍不影响它的执行。多道系统的好处在于提高了处理器的利用率;充分利用外围设备资源;发挥了处理器与外围设备以及外围设备之间的并行工作能力。可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。
  3、程序浮动
  若作业执行时,被改变的有效区域依然能正确执行,则称程序是可浮动的。
  4、进程
  进程是一个程序在一个数据集上的一次执行。由定义知进程关键组成是程序、数据集。
  进程通过一个控制块来被系统所指挥,因此进程由程序、数据集和进程控制块三部分组成。进程控制块是进程存在的唯一标志 .进程是要执行的,据这点可分将进程的状态分为等待态然后是就绪态最后是运行态。
  进程的基本队列也就是就绪队列和等待队列,因为进程运行了,也就用不上排队了,也就没有运行队列了。
  5、重定位
  重定位即把逻辑地址转换成绝对地址。
  重定位的方式有“静态重定位”和“动态重定位”两种。
  (1)静态重定位
  在装入一个作业时,把作业中的指令地址和数据地址全部转换成绝对地址。这种转换工作是在作业开始前集中完成的,在作业执行过程中无需再进行地址转换。所以称为“静态重定位”。
  (2)动态重定位
  在装入一个作业时,不进行地址转换,而是直接把作业装到分配的主区域中。在作业执行过程中,每当执行一条指令时都由硬件的地址转换机构转换成绝对地址。这种方式的地址转换是在作业执行时动态完成的,所以称为动态重定位。
  动态重定位由软件(操作系统)和硬件(地址转换机构)相互配合来实现。动态重定位的系统支持“程序浮动”,而静态重定位则不能。
  1、操作系统具有层次结构
  层次结构最大特点是整体问题局部化来优化系统,提高系统的正确性、高效性使系统可维护、可移植。
  主要优点是有利于系统设计和调试;主要困难在于层次的划分和安排。
2、多道程序设计系统
  “多道程序设计系统” 简称“多道系统”,即多个作业可同时装入主存储器进行运行的系统。在多道系统中一点必须的是系统须能进行程序浮动。所谓程序浮动是指程序可以随机地从主存的一个区域移动到另一个区域,程序被移动后仍不影响它的执行。多道系统的好处在于提高了处理器的利用率;充分利用外围设备资源;发挥了处理器与外围设备以及外围设备之间的并行工作能力。可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。
  3、程序浮动
  若作业执行时,被改变的有效区域依然能正确执行,则称程序是可浮动的。
  4、进程
  进程是一个程序在一个数据集上的一次执行。由定义知进程关键组成是程序、数据集。
  进程通过一个控制块来被系统所指挥,因此进程由程序、数据集和进程控制块三部分组成。进程控制块是进程存在的唯一标志 .进程是要执行的,据这点可分将进程的状态分为等待态然后是就绪态最后是运行态。
  进程的基本队列也就是就绪队列和等待队列,因为进程运行了,也就用不上排队了,也就没有运行队列了。
  5、重定位
  重定位即把逻辑地址转换成绝对地址。
  重定位的方式有“静态重定位”和“动态重定位”两种。
  (1)静态重定位
  在装入一个作业时,把作业中的指令地址和数据地址全部转换成绝对地址。这种转换工作是在作业开始前集中完成的,在作业执行过程中无需再进行地址转换。所以称为“静态重定位”。
  (2)动态重定位
  在装入一个作业时,不进行地址转换,而是直接把作业装到分配的主区域中。在作业执行过程中,每当执行一条指令时都由硬件的地址转换机构转换成绝对地址。这种方式的地址转换是在作业执行时动态完成的,所以称为动态重定位。
  动态重定位由软件(操作系统)和硬件(地址转换机构)相互配合来实现。动态重定位的系统支持“程序浮动”,而静态重定位则不能。
  6、单分区管理
  除操作系统占用的一部分存储空间外,其余的用户区域作为一个连续的分区分配给用户使用。
  固定分区的管理
  分区数目、大小固定 设置上、下限寄存器 逻辑地址+下限地址→绝对地址。
  可变分区的管理
  可变分区管理方式不是把作业装入到已经划分好的分区中,而是在作业要求装入主存储器时,根据作业需要的主存量和当时的主存情况决定是否可以装入该作业。
  分区数目大小不定   设置基址、限长寄存器
  逻辑地址+基址寄存器的值→绝对地址。 基址值≤绝对地址≤基址值+限长值
  页式存储管理
  主存储器分为大小相等的“块”。程序中的逻辑地址进行分“页”,页的大小与块的大小一致。  用页表登记块页分配情况   逻辑地址的页号部分→页表中对应页号的起始地址→与逻辑地址的页内地址部分拼成绝对地址。 由页表中的标志位验证存取是否合法,根据页表长度判断是否越界。
  段存储管理 程序分段   每一段分配一个连续的主存区域,作业的各段可被装到不相连的几个区域中。   设置段表记录分配情况   逻辑地址中的段号→查段表得到本段起始地址+段内地址→绝对地址 由段表中的标志位验证存取是否合法,根据段表长度判断是否越界。
  页式虚拟存储管理 类似页式管理将作业信息保存在磁盘上部分装入主存 类似页式管理:逻辑地址的页号部分→页表中对应页号的起始地址→与逻辑地址的页内地址部分拼成绝对地址。
  若该页对应标志为0,则硬件形成“缺页中断”先将该页调入主存 类似页式管理。
  段式虚拟存储管理
  类似段式管理将作业信息保存在磁盘上部分装入主存 类似段式管理。
  7、存储介质是指可用来记录信息的磁带、硬磁盘组、软磁盘片、卡片等。 存储介质的物理单位定义为“卷”。
  存储设备与主存储器之间进行信息交换的物理单位是块。块定义为存储介质上存放的连续信息所组成的一块区域。
  逻辑上具有完整意义的信息集合称为“文件”。
  用户对文件内的信息按逻辑上独立的含义划分的信息单位是记录,每个单位为一个逻辑记录。
8、文件的分类
  文件可以按各种方法进行分类:
  按用途 系统文件、库文件、用户文件
  按保护级别 可执行文件、只读文件、读写文件
  按信息流向 输入文件、输出文件、输入输出文件
  按存放时限 临时文件、永久文件、档案文件
  按设备类型 磁盘文件、磁带文件、卡片文件、打印文件
  按文件组织结构 逻辑文件、物理文件(顺序文件、链接文件、索引文件)
  9、文件结构
  文件结构分为逻辑结构和物理结构
  逻辑结构
  用户构造的文件称为文件的逻辑结构。如用户的一篇文档、一个数据库记录文件等。逻辑文件有两种形式:流式文件和记录式文件。
  流式文件是指用户对文件内信息不再划分的可独立的单位,如我们的word文件,图片文件等。整个文件是以顺序的一串信息组成。
  记录式文件:是指用户对文件内信息按逻辑上独立的含义再划分信息单位,每个单位为一个逻辑记录。记录式文件可以存取的最小单位是记录项。每个记录可以独立存取。这个在数据库中我们学得比较多,容易理解。
  2、物理结构
  由文件系统在存储介质上的文件构造方式称为文件的物理结构。物理结构有:
  1)顺序结构:在磁盘上就是一块接着一块地放文件。逻辑记录的顺序和磁盘顺序文件块的顺序一致。顺序文件的最大优点是存取速度快(可以连续访问)。
  2)链接结构:把磁盘分块,把文件任意存入其中,再用指针把各个块按顺序链接起来。这样所有空闲块都可以被利用,在顺序读取时效率较高但需要随机存取时效率低下(因为要从第一个记录开始读取查找)。
  3)索引结构:磁盘不分块,文件的逻辑记录任意存放在磁盘中,通过一张“索引表”指示每个逻辑记录存放位置。这样,访问时根据索引表中的项来查找磁盘中的记录,既适合顺序存取记录,也可以随机存取记录,并且容易实现记录的增删和插入,所以索引结构被广泛应用。
  10、记录的成组与分解
  1、记录的成组与分解的原因:由于磁盘块的大小是预先划分好的,大小固定,而逻辑记录的大小是用户文件性质决定的,不一定和块大小一致。
  2、记录的成组:把若干个逻辑记录存入一个块的工作称为“记录的成组”。每块中逻辑记录的个数称“块因子”。
  3、记录的分解:这是记录成组的一个逆过程。经程是先从磁盘中找到记录所在的块,并将本块读入主存缓冲区,再从缓冲区取出所需要的记录送到用户工作区。如果用户所需的记录已经在缓冲区中,则不需要启动外设读块信息,这也可以提高系统工作效率。
  11、作业和作业步
  1、作业:我们把用户要求计算机系统处理的一个问题称为一个“作业”
  2、作业步:完成作业的每一个步聚称为“作业步”。
12、作业控制方式
  1、作业控制方式,包括批处理方式和交互方式。
  批处理控制方式:也称脱机控制方式或自动控制方式。就是一下子交待任务,执行过程中不再干涉。
  批处理作业:采用批处理控制方式的作业称为“批处理作业”。
  批处理作业进入系统时必须提交:源程序、运行时的数据、用作业控制语言书写的作业控制说明书。
  交互控制方式:也称联机控制方式。就是一步一步地交待任务。做好了一步,再做下一步。
  2、批处理作业的控制(领会)
  1) 按用户提交的作业控制说明书控制作业的执行。
  2) 一个作业步的工作往往由多个进程的合作来完成。
  3) 一个作业步的工作完成后,继续下一个作业步的作业,直至作业执行结束。
  3、交互式作业的管理(领会)
  1)交互式作业的特点: 交互式作业的特点主要表现在交互性上,它采用人机对话的方式工作。
  2)交互式作业的控制:一种是操作使用接口,另一种是命令解释执行。
  操作使用接口包括操作控制命令,菜单技术,窗口技术。
  命令的解释执行 一类是操作系统中的相应处理模块直接解释执行; 另一类必须创建用户进程去解释执行。
  13、死锁
  若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”。或说这组进程处于“死锁”状态。
  14、相关临界区
  1、并发进程中与共享变量有关的程序段称为“临界区” .并发进程中涉及到相同变量的那些程序段是相关临界区。
  2、对相关临界区的管理的基本要求。
  对相关临界区管理的基本原则是:如果有进程在相关临界区执行,则不让另一个进程进入相关的临界区执行。
  15、进程同步的含义:进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。
  16、中断:一个进程占有处理器运行时,由于自身或自界的原因使运行被打断,让操作系统处理所出现的事件到适当的时候再让被打断的进程继续运行,这个过程称为“中断”。
  17、中断机制
  在它执行程序的时候,如果有另外的事件发生(比如用户又打开了一个程序)那么这时候就需要由计算机系统的中断机制来处理了。
  中断机制包括硬件的中断装置和操作系统的中断处理服务程序。
  18、中断响应 (硬件即中断装置操作)
  处理器每执行一条指令后,硬件的中断位置立即检查有无中断事件发生,若有中断事件发生,则暂停现行进程的执行,而让操作系统的中断处理程序占用处理器,这一过程称为“中断响应”。
  19、中断屏蔽
  中断屏蔽技术是在一个中断处理没有结束之前不响应其他中断事件,或者只响应比当前级别高的中断事件。
  20、存储保护:防止主存储器稳中有降个程序的相互干扰和保护稳中有降区域内的信息安全,限定各程序在规定的主存区域内执行,称为存储保护。
  特权指令:即可能影响系统安全的指令。全文是为保护输入输出的完整性,把“启动I/O”等的一类可能影响系统安全的指令定义为特权指令。优点在于:这种方式不但保证安全地使用外围设备,正确地传送信息,而且可减少用户为启动设备而必须了解外围设备特性以及启动等工作,大大方便了用户。
 27、UNIX系统的存储管理
  1、对换(Swapping)技术:这就是前面我们所学的虚拟存储器在UNIX中的应用。磁盘上设置开辟一个足够大的区域,为对换区。当内存中的进程要扩大内存空间,而当前的内存空间又不能满足时,则可把内存中的某些进程暂换出到对换区中,在适当的时候又可以把它们换进内存。因而,对换区可作为内存的逻辑扩充,用对换技术解决进程之间的内存竞争。
  UNIX对内存空间和对换区空间的管理都采用最先适应分配算法。
  2、虚拟页式存储管理技术。 UNIX把进程的地址空间划分成三个功能区段:系统区段、进程控制区段、进程程序区段。系统区段占用系统空间,系统空间中的程序和数据常驻内存。其余两个区段占用进程空间,是进程中非常驻内存部分。
  通过页表和硬件的地址转换机构完成虚拟地址和物理地址之间的转换。
  28、UNIX系统的I/O系统
  缓冲技术:这个技术就是前面我们学过的虚拟设备(SPOOL技术)在UNIX中的实际应用UNIX采用缓冲技术实现设备的读写操作。
  29、进程的调度
  我们使用不同的调度是为了优化,具体说来是提高处理器利用率,增大吞吐量,减少等待时间,缩短响应时间。
  30、页式存储管理中为什么要设置页表和快表?
  在页式存储管理中,主存被分成大小相等的若干块,同时程序逻辑地址也分成与块大小一致的若干页,这样就可以按页面为单位把作业的信息放入主存,并且可以不连续存放,为了表示逻辑地址中的页号与主存中块号的对应关系,就需要为每个作业建立一张页表。
  页表一般存放在主存中,当要按给定的逻辑地址访问主存时,要先访问页表,计算出绝对地址,这样两次访主存延长了指令执行周期,降低了执行速度,而设置一个高速缓冲寄存器将页表中的一部分存放进去,这部分页表就是快表,访问主存时二者同时进行,由于快表存放的是经常使用的页表内容,访问速度很快,这样可以大大加快查找速度和指令执行速度。
  31、虚拟存储器
  虚拟存储器是为“扩大”主存容量而采用的一种设计技巧,就是它只装入部分作业信息来执行,好处在于借助于大容量的辅助存储器实现小主存空间容纳大逻辑地址空间的作业。
  虚拟存储器的容量由计算机的地址结构(地址总线位数)决定。如32位的,则最大的虚存容量为2^32=4294967296B=4GB。
  叙述页式虚拟存储器的基本原理。
  页式虚拟存储器是在页式存储的基础上实现虚拟存储器的,其工作原理是:
  首先把作业信息作为副本存放在磁盘上,作业执行时,把作业信息的部分页面装入主存,并在页表中对相应的页面是否装入主存作出标志。
  作业执行时若所访问的页面已经在主存中,则按页式存储管理方式进行地址转换,得到绝对地址,否则产生“缺页中断”由操作系统把当前所需的页面装入主存。
  若在装入页面时主存中无空闲块,则由操作系统根据某种“页面调度”算法选择适当的页面调出主存换入所需的页面。
  32、死锁的防止(简单应用)
  1、系统出现死锁必然出现以下情况:
  1)互斥使用资源
  2)占有并等待资源
  3)不可抢夺资源
  4)循环等待资源
  2、死锁的防止策略:破坏产生死锁的条件中的一个就可以了。
  常用的方法有:静态分配、按序分配、抢夺式分配3种。
  33、死锁的避免(简单应用)
  1、死锁的避免是让系统处于安全状态,来避免发生死锁。
  安全状态:如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于“安全状态”。

 

 

 

 

 

 

背诵的基本
  本着紧扣历年考题,围绕大纲,吃透书本的原则来写的。
  1、操作系统的分类
  按照操作系统提供的服务,大致可以把操作系统分为有单道和多道之分的批处理系统,有同时性和独立性的分时系统,有严格时间规定的实时系统,可实现资源共享的网络系统,可协调多个计算机以完成一个共同任务的分布式系统。我们使有的windows是网络式系统。
  2、操作系统的结构
  操作系统具有层次结构……
  层次结构最大特点是整体问题局部化来优化系统,提高系统的正确性、高效性使系统可维护、可移植。
  主要优点是有利于系统设计和调试;主要困难在于层次的划分和安排。
  3、操作系统与用户
  (1)作业执行步骤
  操作系统提供给用户表示作业执行步骤的手段有两种:作业控制语言和操作控制命令。
  作业控制语言形成批处理作业。操作控制命令进行交互处理。
  (2)系统调用
  操作系统提供的系统调用主要有:文件操作类,资源申请类,控制类,信息维护类系统调用往往在管态下执行。
  当操作系统完成了用户请求的“系统调用”功能后,应使中央处理器从管态转换到目态工作。
  4、移动技术
  移动技术是把某个作业移到另一处主存空间去(在磁盘整理中我们应用的也是类似的移动技术)。最大好处是可以合并一些空闲区。
  处理器管理
  一、 多道程序设计系统
  “多道程序设计系统” 简称“多道系统”,即多个作业可同时装入主存储器进行运行的系统。在多道系统中一点必须的是系统须能进行程序浮动。所谓程序浮动是指程序可以随机地从主存的一个区域移动到另一个区域,程序被移动后仍不影响它的执行。多道系统的好处在于提高了处理器的利用率;充分利用外围设备资源;发挥了处理器与外围设备以及外围设备之间的并行工作能力。可以有效地提高系统中资源的利用率,增加单位时间内的算题量,从而提高了吞吐率。(关键词:处理器,外围设备,资源利用率,单位算题量,吞吐率),但要注意对每个计算问题来说所需要的时间可能延长,另外由于系统的资源有限,会产生饱和,因此并行工作道数与系统效率不成正比。
  二、进程
  1、概念
  进程是一个程序在一个数据集上的一次执行。由定义知进程关键组成是程序、数据集。
  进程通过一个控制块来被系统所指挥,因此进程由程序、数据集和进程控制块三部分组成。进程控制块是进程存在的唯一标志 .进程是要执行的,据这点可分将进程的状态分为等待态然后是就绪态最后是运行态。
  进程的基本队列也就是就绪队列和等待队列,(因为进程运行了,也就用不上排队了,也就没有运行队列了。)
  如果进程由一所在队列退出的操作称为出队,排入到一个指定的队列的操作称为入队。系统中负责进程入队和出队的工作称为队列管理。
  2、进程的调度
  我们使用不同的调度是为了优化,具体说来是提高处理器利用率,增大吞吐量,减少等待时间,缩短响应时间。常用的算法有先来先服务、优先数调度法、时间片轮转调度法、分级调度(分级调度法可理解为多队列法)。顾名思义来先服务调度是先来者,先服务;优先数算法是对每个进程确定一个优先数,以决定先后。时间片轮转法是把规定进程一次使用处理器的最长时间称为“时间片”。让就绪进程按就绪的先后次序排成队列,依次运行。分级调度算法是由系统设置多个就绪队列,每个就绪队列中的进程按时间片轮转法占用处理器,这就是分级调度算法。
  3、进程的切换
  进程切换指一个进程进处理器,另一个进程出处理器的过程。
  若有一个进程从运行态变成等待态,或完成工作后就撤消,则必定会发生进程切换。
  4、进程同步和通信
  进程同步实际上是指并发进程之间的制约关系。即一个进程的执行依赖另一个进程的消息。没有消息时等待,有消息进被唤醒。
  进程通信是进程之大量信息的方式。
  5、进程和死锁(详细见后)
  三、可再入程序
  一个能被多个用户同时调用的程序称做“可再入”的程序。
  可再入程序必须是纯代码,即在执行时自身不改变。
  编译程序和操作系统程序通常都是“可再入”程序。
  存储管理
  一、中央处理器存储下列中信息的速度依次为:寄存器最快;通过系统总线存取主存储器的速度居中;辅助存储器最慢。
  寄存器用来存放临时的工作信息和系统必须的控制信息。
主存储器是CPU能直接访问的惟一的存储空间。
  主存储器中存放操作系统的核心部分,以及当前需执行的程序和数据。
  主存储器以“字节(BYTE)”为单位进行编址
  辅助存储器是存放操作下的非核心部分和其他程序和数据。容量大且能永久保存信息
  磁盘的信息可随机存取,磁带上的信息只能顺序存取。
  二、储器的地址:
  主存储器以字节为编址单位
  1、物理地址与逻辑地址。
  物理地址(绝对地址):128MB的主存器有128×1024×1024=134217728 字节,所以它的内存绝对地址就是从0到134217727。
  逻辑地址: 用户程序中使用的从“0”地址开始的连续地址。
  三、重定位
  重定位即把逻辑地址转换成绝对地址。
  重定位的方式有“静态重定位”和“动态重定位”两种。
  (1)静态重定位
  在装入一个作业时,把作业中的指令地址和数据地址全部转换成绝对地址。这种转换工作是在作业开始前集中完成的,在作业执行过程中无需再进行地址转换。所以称为“静态重定位”。
  (2)动态重定位
  在装入一个作业时,不进行地址转换,而是直接把作业装到分配的主区域中。在作业执行过程中,每当执行一条指令时都由硬件的地址转换机构转换成绝对地址。这种方式的地址转换是在作业执行时动态完成的,所以称为动态重定位。
  动态重定位由软件(操作系统)和硬件(地址转换机构)相互配合来实现。动态重定位的系统支持“程序浮动”,而静态重定位则不能。
  页式管理
  (1)采用页式管理,使主存空间充分利用,页不必为了得到连续空间而进行移动。可以提高系统效率。
  (2)页式存储管理中为什么要设置页表和快表?
  在页式存储管理中,主存被分成大小相等的若干块,同时程序逻辑地址也分成与块大小一致的若干页,这样就可以按页面为单位把作业的信息放入主存,并且可以不连续存放,为了表示逻辑地址中的页号与主存中块号的对应关系,就需要为每个作业建立一张页表。
  页表一般存放在主存中,当要按给定的逻辑地址访问主存时,要先访问页表,计算出绝对地址,这样两次访主存延长了指令执行周期,降低了执行速度,而设置一个高速缓冲寄存器将页表中的一部分存放进去,这部分页表就是快表,访问主存时二者同时进行,由于快表存放的是经常使用的页表内容,访问速度很快,这样可以大大加快查找速度和指令执行速度。
虚拟存储
  一、虚拟存储器
  虚拟存储器是为“扩大”主存容量而采用的一种设计技巧,就是它只装入部分作业信息来执行,好处在于借助于大容量的辅助存储器实现小主存空间容纳大逻辑地址空间的作业。
  虚拟存储器的容量由计算机的地址结构(地址总线位数)决定。如32位的,则最大的虚存容量为2^32=4294967296B=4GB。
  二、叙述页式虚拟存储器的基本原理
  页式虚拟存储器是在页式存储的基础上实现虚拟存储器的,其工作原理是:
  首先把作业信息作为副本存放在磁盘上,作业执行时,把作业信息的部分页面装入主存,并在页表中对相应的页面是否装入主存作出标志。
  作业执行时若所访问的页面已经在主存中,则按页式存储管理方式进行地址转换,得到绝对地址,否则产生“缺页中断”由操作系统把当前所需的页面装入主存。
  若在装入页面时主存中无空闲块,则由操作系统根据某种“页面调度”算法选择适当的页面调出主存换入所需的页面。
  三、常用的页面调度算法:FIFO、LRU、LFU
  页面调度:当主页中无空闲块时,为了装入一个页面,就必须按某种算法将主存中某个页调出,调入所需装入的页面。
  常用的算法有:先进先出调度算法(FIFO)、最近最少使用调度算法(LRU)和最近最不常用调度算法(LFU)。
  特别要注意掌握的就是LRU(最近最少使用调度算法)的算法,如何进行调度。
  5、缺页中断率
  f=F/A,这里的f就称为缺页中断率。
  A为作业执行中调入页面的总次数,F为访问的页面尚未装入主存的次数。
  四、段式虚拟存储器的实现
  段式虚拟存储管理以段式存储管理为基础,即在磁盘上保留作业的各个分段信息,作业执行时把需要执行的一段或几段装入主存。
  在实际使用中,也要进行查表和地址转换以及“缺段中断” 和调度(包括调出、装入、移动等)工作。
  五、比较各种存储管理方式的特征
  单分区管理
  除操作系统占用的一部分存储空间外,其余的用户区域作为一个连续的分区分配给用户使用。
  界限寄存器值+逻辑地址→绝对地址。
  固定分区的管理分区数目、大小固定。
  设置上、下限寄存器
  逻辑地址+下限地址→绝对地址。
  可变分区的管理 可变分区管理方式不是把作业装入到已经划分好的分区中,而是在作业要求装入主存储器时,根据作业需要的主存量和当时的主存情况决定是否可以装入该作业。
  分区数目大小不定
  设置基址、限长寄存器
  逻辑地址+基址寄存器的值→绝对地址。 基址值≤绝对地址≤基址值+限长值。
  页式存储管理 主存储器分为大小相等的“块”。
  程序中的逻辑地址进行分“页”,页的大小与块的大小一致。
  用页表登记块页分配情况
  逻辑地址的页号部分→页表中对应页号的起始地址→与逻辑地址的页内地址部分拼成绝对地址。 由页表中的标志位验证存取是否合法,根据页表长度判断是否越界。
  段存储管理程序分段
  每一段分配一个连续的主存区域,作业的各段可被装到不相连的几个区域中。
  设置段表记录分配情况
  逻辑地址中的段号→查段表得到本段起始地址+段内地址→绝对地址 由段表中的标志位验证存取是否合法,根据段表长度判断是否越界。
  页式虚拟存储管理 类似页式管理将作业信息保存在磁盘上部分装入主存。
  类似页式管理:
  逻辑地址的页号部分→页表中对应页号的起始地址→与逻辑地址的页内地址部分拼成绝对地址。

若该页对应标志为0,则硬件形成“缺页中断”先将该页调入主存 类似页式管理。
  段式虚拟存储管理 类似段式管理将作业信息保存在磁盘上部分装入主存。
  类似段式管理
  只有单分区适用于单道系统。
  只有单分区和固定分区的为静态重定位,不需要硬件转换机构。其余为动态重定位,需要硬件转换。
  六、可变分区经常采用的主存分配算法
  最先适应分配算法:简单地说,就是在分区表中顺序查找,找到够大的空闲区就分配。
  最优适应分配算法:挑选一个能满足作业要求的最小空闲区。
  最坏适应分配算法:挑一个最大的空闲区分给作业使用。
  七 、I/O保护
  <1>特权指令:即可能影响系统安全的指令。全文是为保护输入输出的完整性,把“启动I/O”等的一类可能影响系统安全的指令定义为特权指令。
  特权指令的使用权限:特权指令只允许操作系统使用,用户程序不能使用特权指令。
  用户程序若要启动I/O,必须请求操作系统代为启动。优点在于:这种方式不但保证安全地使用外围设备,正确地传送信息,而且可减少用户为启动设备而必须了解外围设备特性以及启动等工作,大大方便了用户。
  <2> 管态和目态
  中央处理器的两种工作方式:管态和目态。
  在管态下,中央处理器可执行包含特权指令在内的一切指令;
  目态次于管态,在目态下,中央处理器不准执行特权指令。
  操作系统在管态下工作,用户程序在目态下工作。
  <3> 存储保护
  操作系统与硬件如何配合来实现存储保护的?
  答:硬件中设置了两个寄存器来限定用户程序执行时可以访问的空间范围。这两个寄存器是基址寄存器和限长寄存器,用来限定用户程序执行时可以访问的主存空间范围。
  程序执行时,系统对每一个访问内存的地址进行核对:
  “基址寄存器值≤访问地址≤基址寄存器值+限长寄存器值”成立,则允许访问;否则,不允许访问。
  这样就保护了该区域以外的存储信息不受到破坏,一旦程序执行中出错也不会涉及其他程序。
  注:中央处理器在管态下执行程序时候,对访问主存的地址不进行核对。
  文件管理
  一、存储介质是指可用来记录信息的磁带、硬磁盘组、软磁盘片、卡片等。存储介质的物理单位定义为“卷”。
  存储设备与主存储器之间进行信息交换的物理单位是块。块定义为存储介质上存放的连续信息所组成的一块区域。
  逻辑上具有完整意义的信息集合称为“文件”。
  用户对文件内的信息按逻辑上独立的含义划分的信息单位是记录,每个单位为一个逻辑记录。
二、文件
  1、文件的目录
  (1)文件目录是用来检索文件的。文件目录由若干目录项组成。目录项记录文件的有关信息。
  (2)文件目录的结构
  包括一级目录结构、二级目录结构和树形(多级)目录结构。
  树形目录允许用户在自己的文件中再建立子目录。从根目录到文件之间所有各级子目录名和该文件名的顺序组合称为文件的“路径名”,路径分为绝对路径,相对路径。
  2、文件的分类
  文件可以按各种方法进行分类:
  按用途:系统文件、库文件、用户文件
  按保护级别:可执行文件、只读文件、读写文件
  按信息流向:输入文件、输出文件、输入输出文件
  按存放时限:临时文件、永久文件、档案文件
  按设备类型:磁盘文件、磁带文件、卡片文件、打印文件
  按文件组织结构:逻辑文件、物理文件(顺序文件、链接文件、索引文件)
  3、文件的存取方式
  顺序存取,随机存取。
  文件的存取方式有顺序存取和随机存取两种。磁带上的文件只能顺序存取,磁盘上的文件既可采用顺序方式也可用随机方式存取。
  4、文件的结构
  1、逻辑结构
  用户构造的文件称为文件的逻辑结构。如用户的一篇文档、一个数据库记录文件等。逻辑文件有两种形式:流式文件和记录式文件。
  流式文件是指用户对文件内信息不再划分的可独立的单位,如我们的word文件,图片文件等。整个文件是以顺序的一串信息组成。
  记录式文件:是指用户对文件内信息按逻辑上独立的含义再划分信息单位,每个单位为一个逻辑记录。记录式文件可以存取的最小单位是记录项。每个记录可以独立存取。这个在数据库中我们学得比较多,容易理解。
  2、物理结构
  由文件系统在存储介质上的文件构造方式称为文件的物理结构。物理结构有:
  1)顺序结构:在磁盘上就是一块接着一块地放文件。逻辑记录的顺序和磁盘顺序文件块的顺序一致。顺序文件的最大优点是存取速度快(可以连续访问)。
  2)链接结构:把磁盘分块,把文件任意存入其中,再用指针把各个块按顺序链接起来。这样所有空闲块都可以被利用,在顺序读取时效率较高但需要随机存取时效率低下(因为要从第一个记录开始读取查找)。
3)索引结构:磁盘不分块,文件的逻辑记录任意存放在磁盘中,通过一张“索引表”指示每个逻辑记录存放位置。这样,访问时根据索引表中的项来查找磁盘中的记录,既适合顺序存取记录,也可以随机存取记录,并且容易实现记录的增删和插入,所以索引结构被广泛应用。
  5、文件的保护与保密
  1)文件的保护是防止文件被破坏,。文件的保密是防止文件被窃取。
  2)文件的保护措施:
  防止系统故障造成的破坏,可以采建立副本和定时转储的方法;为了防止用户共享文件可能造成的文件破坏,可以采用树形目录结构、存取控制表和规定文件使用权限的方法。
  3)文件的常用保密措施:隐藏文件目录、设置口令和使用密码(加密)等。
  三、记录的成组与分解
  1、记录的成组与分解的原因:由于磁盘块的大小是预先划分好的,大小固定,而逻辑记录的大小是用户文件性质决定的,不一定和块大小一致。
  2、记录的成组:把若干个逻辑记录存入一个块的工作称为“记录的成组”。每块中逻辑记录的个数称“块因子”。
  3、记录的分解:这是记录成组的一个逆过程。经程是先从磁盘中找到记录所在的块,并将本块读入主存缓冲区,再从缓冲区取出所需要的记录送到用户工作区。如果用户所需的记录已经在缓冲区中,则不需要启动外设读块信息,这也可以提高系统工作效率。
  四、存储空间的分配与回收
  1、用位示图进行磁盘存储空间的分配与回收。
  2、用空闲块表进行磁盘存储空间的分配与回收:如同主存管理中的空闲区表,表每一行记录一组连续空闲块的首块号和空闲块数,空闲块数为“0”的登记项为“空”登记项。
  一、作业和作业步
  1、作业:我们把用户要求计算机系统处理的一个问题称为一个“作业”。
  2、作业步:完成作业的每一个步聚称为“作业步”。
  二、作业控制方式
  1、作业控制方式,包括批处理方式和交互方式。
  批处理控制方式:也称脱机控制方式或自动控制方式。就是一下子交待任务,执行过程中不再干涉。
  交互控制方式:也称联机控制方式。就是一步一步地交待任务。做好了一步,再做下一步。
  2、批处理作业的控制(领会)
  1)按用户提交的作业控制说明书控制作业的执行。
  2)一个作业步的工作往往由多个进程的合作来完成。
  3)一个作业步的工作完成后,继续下一个作业步的作业,直至作业执行结束。
  3、交互式作业的管理(领会)
  1)交互式作业的特点: 交互式作业的特点主要表现在交互性上,它采用人机对话的方式工作。
  2)交互式作业的控制:一种是操作使用接口,另一种是命令解释执行。
  操作使用接口包括操作控制命令,菜单技术,窗口技术。
  命令的解释执行 一类是操作系统中的相应处理模块直接解释执行; 另一类必须创建用户进程去解释执行。
  3、终端用户控制终端作业的执行大致有四个阶段:终端的连接、用户注册、控制作业执行和用户退出。
  三、批处理作业的调度及调度算法(综合应用)
  1、批处理作业:采用批处理控制方式的作业称为“批处理作业”。
  2、批处理作业进入系统时必须提交:源程序、运行时的数据、用作业控制语言书写的作业控制说明书。
  3、批处理作业的输入:操作员只要用“预输入命令”启动SPOOL系统中的“预输入程序”工作就可把作业流中的作业信息存放到“输入井”中。等待系统的调度。
  4、什么叫作业调度?作业调度选择作业的必要条件是什么?
  答:作业调度是指按一定的策略从“输入井”中选择资源能得到满足的作业装入主存储器,使作业能有机会占用处理器执行。作业调度选择作业的必要条件是系统中现有的尚未分配的资源能够满足该作业的资源要求。
  5、作业调度与进程调度
  作业调度的职责是把输入井中的作业装入主存。
  进程调度的职责就是选择当前可占用处理器的进程。
设备管理
  一、输入输出操作(要求达到“识记”层次)
  1、什么是输入输出操作:主存储器与外围设备之间的信息传送操作称为输入输出操作。
  2、对于存储型设备,输入输出操作的信息传输单位为“块”。对输入输出型设备,输入输出操作的信息传输单位为“字符”。
  二、独占设备和共享设备(识记)
  1、独占设备是指每次只能供一个作业执行期间单独使用的设备。如输入机、磁带机、打印机等。
  2、共享设备是指允许几个作业执行期间可同时使用的设备。共享设备的“同时使用”的含义是指多个作业可以交替启动共享设备,其实是当一个用业正在使用设备时其他作业暂不能使用,即每一时刻仍只有一个作业占用,但当一个作业正在使用设备时其他作业就可使用。
  三、独占设备的分配(领会)
  1、独占设备的绝对号与相对号
  这和绝对地址/相对地址的概念类似。绝对号就是将每一台设备确定一个编号(相当于一个绝对地址)。相对号就是为了用户程序的方便而设的,在用户请求使用时,采用“设备类-相对号”来提出使用设备要求。由系统建立绝对号与“设备类-相对号”之间的关系,就能正确启用设备了。
  2、设备的指定方式
  1) 设备绝对号:系统为每一个设备确定一个唯一的编号。
  2)设备相对号:不具体指定是哪台设备,只说明要某类设备多少台,这样可以由系统灵活分配。
  3)设备独立性:采用“设备类、相对号”方式使用设备时,用户编程时使用的设备与实际使用哪台设备无关,这就是“设备独立性”。
  4)如何实现独占性设备分配:对于独占性设备,系统采用“静态分配”的策略,就是当一个作业所需使用的独占设备能得到满足时,该作业才能被装入主存储器执行。
  在操作系统中,设置“设备分配表”来记录计算机系统所配置的独占设备类型、台数和分配情况等。设备分配表由“设备类表”和“设备表”两部分组成。通过查表和修改表的操作完成设备分配工作。
  四、磁盘的驱动调度(领会)
  1、 磁盘的结构
  还记得小学时的作业吗?秒,分,小时?)这也一样,扇区套在磁道里,磁道套在柱面里,柱面套在一个磁盘里。接下来的问题就是被除数=除数×商+余数了。明白了吗?
  2、访问磁盘的操作时间
  3、磁盘的驱动调度:系统决定等待磁盘访问者的执行次序的工作就是磁盘的“驱动调度”。
  4、对磁盘进行驱动调度的目的:有利于系统效率的提高。
  5、磁盘调度分为移臂调度和旋转调度。
  6、移臂调度算法包括以下四种:
  1) 先来先服务算法;
  根据访问者提出访问请求的先后次序来决定执行次序。
  2) 最短寻找时间优先调度算法;
  从等待的访问者中挑选寻找时间最短的那个请求执行,而不管访问者的先后次序。
  3) 电梯调度算法;
  从移动臂当前位置沿移动方向选择最近的那个柱面的访问者来执行,若该方向上无请求访问时,就改变移动方向再选择。
4) 单向扫描调度算法。
  从0柱面开始往里单向扫描,扫到哪个执行哪个。
  7、信息的优化分布:知道信息在磁盘上排列不一定是按顺序最优,对于一些能预知处理要求的信息采用优化分页可以缩短输入输出操作时间,提高系统效率。
  五、外围设备的启动(识记)
  1、通道(channel):计算机系统中能够独立完成输入输出操作的硬件装置。是CPU与设备的桥梁。
  注解:CPU并不直接操作外围设备,他连接通道(I/O处理机),通道连接设备控制器,设备控制器连接设备。CPU只需把“I/O”设备启动,并给出相关的操作要求。然后就由通道来处理输入输出事宜,做完后报告CPU。
  2、通道地址字(CAW)和通道状态字(CSW)
  用来存放通道程序首地址的主存固定单元称为“通道地址字”。
  通道状态字:用于记录通道和设备执行情况的主存单元。
  3、I/O中断:是指中央处理器和通道协调工作的一种手段。通道借助I/O中断请求CPU进行干预,CPU根据产生的I/O中断事件了解输入输出操作的执行情况,I/O中断事件是由于通道程序的执行或其他外界原因引起的,对通道操作而言,当操作正常结束或异常结束(如设备故障、设备特殊情况引起异常结束)形成I/O中断,由CPU根据相应情况分别处理。
  六、虚拟设备SPOOL系统(领会)
  1、实现虚拟设备的目的:用一种物理设备模拟另一类物理设备,使各作业在执行期间只使用虚拟的设备而不直接使用物理的独占设备。这种技术可使独占的设备变成可共享的设备,使得设备的利用率和系统效率都能得到提高。
  2、实现虚拟设备的硬件条件:大容量磁盘;中断装置和通道;中央处理器与通道并行工作的能力。
  实现虚拟设备的软件条件是要求操作系统采用多道程序设计技术。
  3、虚拟设备的实现原理:对于多道程序,输入时将一批作业的信息通过输入设备预先传送到磁盘上。输出时将作业产生的结果也全部暂时存在磁盘上而不直接输出,直到一个作业得到全部结果而执行结束时再行输出。这样在执行过程中,不需要使用输入机和打印机。因此在配置一台输入机和打印机的情况下,可以让多个作业同时执行,并且各个作业请求输入信息和输出结果的要求都能及时得到满足和实现。
  4、SPOOL系统的组成和实现:
  井:为实现虚拟设备在磁盘上划出的专用存储空间,用于存放作业的初始信息和执行结果。
  SPOOL系统由三部分程序组成:
  1、预输入程序。通过该程序把作业流中每个作业的初始信息传送到输入井保存,以备作业执行时使用。
  2、井管理程序:根据作业的请求,保证作业正确及时地从“井”中读取或写出信息。
  3、缓输出程序。它负责查看“输出井”中是否有待输出的结果信息,若有则启动打印机把作业结果输出。
  4、spool系统可以缩短作业执行时间的原因。
  作业的执行时间是指作业被装入主存储器到产生全部结果所需要的时间。在SP在SPOOL系统控制下,作业执行时从磁盘上读/写信息代替低速的输入机和打印机的读/写操作,信息传送的速率显然是快得多。因此作业的执行时间就缩短了。
  死锁:(就是路口的塞车现象 )
  若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”。或说这组进程处于“死锁”状态。
一、死锁的防止(简单应用)
  1、系统出现死锁必然出现以下情况:
  1)互斥使用资源
  2)占有并等待资源
  3)不可抢夺资源
  4)循环等待资源
  2、死锁的防止策略:破坏产生死锁的条件中的一个就可以了。
  常用的方法有:静态分配、按序分配、抢夺式分配3种。
  二、死锁的避免(简单应用)
  1、死锁的避免是让系统处于安全状态,来避免发生死锁。
  安全状态:如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于“安全状态”。
  2、银行算法是怎样避免死锁的:
  计算机银行家算法是通过动态地检测系统中资源分配情况和进程对资源的需求情况,在保证到少有一个进程能得到所需要的全部资源,从而能确保系统处于安全状态进,才把资源分配给申请者,从而避免了进程共享资源时系统发生死锁。
  采用银行家算法时为进程分配资源的方式:
  1)对每一个首次申请资源的进程都要测试该进程对资源的最大的需求量。如果系统现存资源可以满足他的最大需求量,就按当前申请量为分配资源。 否则推迟分配。
  2)进程执行中继续申请资源时,先测试该进程已占用资源数和本次申请资源总数有没有超过最大需求量。超过就不分配。
  若没有超过,再测试系统现存资源是否满足进程尚需的最大资源量,满足则按当前申请量分配,否则也推迟分配。
  总之,银行家算法要保证分配资源时系统现存资源一定能满足至少一个进程所需的全部资源。
  (银行家算法在操作系统的实践考试中可能会用到)
  三、死锁的检测和解除(领会)
  死锁的检测
  就是既不打预防针,也不去避免得病,而是经常去体检,如果发现有病了就治疗。这是一种事后解决的办法,也算是解决死锁问题的一条途径。但这毕竟要付出较大代价。
  重点是:分析与时间有关的错误;用PV操作实现进程的同步与互斥;用信箱实现进程通信。
  一、进程的顺序性与并发性(领会)
  1、进程的顺序性:任何进程在顺序的处理器上的执行是严格按照顺序进行的,每次只能执行一个操作。这就是进程的顺序性。
  当一个进程独占处理器顺序执行时,具有两个特性:一、封闭性 二、可再现性。封闭性是说进程的执行结果只取决于进程本身,不受外界影响。可再现性是说当进程重复执行时,必定获得相同的结果。
  2、进程的可同时执行:指一个进程没有完,另一个就可以开始。在时间上是可重叠的,我们把这个叫做进程的可同时执行。
  3、进程的并发性:系统中存在一组可同时执行的进程。并发进程相互之间可能是无关的,也可能是交往的。
  并发进程的执行速度取决于自身和进程调度策略。二者缺一不可,执行速度不能由自己决定。
  4、与时间有关的错误 :有交往的并发进程交替使用共享资源时会出现错误,错误与时间有关,称为与时间有关的错误。其错误的根本原因是这些进程交叉使用了共享变量。
  二、相关临界区
  1、并发进程中与共享变量有关的程序段称为“临界区”。并发进程中涉及到相同变量的那些程序段是相关临界区。

2、对相关临界区的管理的基本要求。
  对相关临界区管理的基本原则是:如果有进程在相关临界区执行,则不让另一个进程进入相关的临界区执行。
  五、进程的同步(综合应用)
  1、进程同步的含义:进程的同步是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。
  “生产者”与“消费者”是同步问题的典型例子。
  这里有两个消息量:一是“缓冲器里有物品”,二是“可把物品存入缓冲器”,这两个消息量对应需要两个信号量SPut和SGet.SP的初始值为1,如果初始时可用的缓冲器为n个,则SP=n;SG的初始值为0。
  生产者进程调用P(SP)和V(SG),消费者进程调用P(SG)和V(SP),根据SG和SP的值来决定是否可以存或取物。
  2、正确使用PV操作实现进程同步。
  (1)用一个信号量与一个消息联系起来,当信号量的值为0时表示期望的消息尚未产生,当信号量值为非0时表示期望的消息已经存在。
  (2)在用PV操作实现同步时,一个信号量与一个消息量联系在一起,当有多个消息时必须定义多个信号量;测试不同的消息是否到达或发送不同消息时,应对不同的信号调用P操作或V操作。
  (3)仔细领会教材中的例子,关于PV操作,在考试中出现的可能性极大,但是难度基本不超过教材上例题。见本栏的高手切磋。
  3、使用PV操作实现进程同步与互斥的混合问题。
  进程的同步与进程的互斥都涉及到并发进程访问共享资源的问题。可以看到进程的互斥实际上是进程同步的一种特殊情况。若干进程互斥使用资源时,一个等待使用资源的的进程在得到占用资源的进程发出“归还资源”的消息(调用了V操作)后,它就可去使用资源。因此,互斥使用资源的进程之间实际上也存在一个进程依赖另一个进程发出信息的制约关系。所以,也把进程的互斥与进程的同步称为进程的同步。

六、进程通信(领会)
  1、进程通信的含义:通过专门的通信机制实现进程间交换大量信息的通信方式称为“进程通信”
  2、实现进程通信的基本原语:有两条:“send(发送)”和“receive(接收)”原语。
  3、利用信箱通信时“发送”和“接收”原语的功能。
  send(N,M) 功能:把信件M送到指定的信箱N中。
  receive(N,X) 功能:从指定信箱N中取出一封信,存放到指定的地址X中。
  4、信箱的基本结构:一个信箱由“信箱说明”和“信箱体”两部分组成。
  七、线程的概念(识记)
  线程是进程中可独立执行的子任务,一个进程中可以有一个或多个线程,每个线程都有一个唯一的标识符。
  支持线程管理的操作系统有Mach,OS/2,WindowsNT,UNIX等。
  中断及中断机制
  一、中断
  1、中断。
  2、中断的类型。
  从中断事件的性质出发,中断可以分为两大类:
  1)强迫性中断事件 包括硬件故障中断,程序性中断,外部中断和输入输出中断等。
  2)自愿性中断事件 是由正在运行的进程执行一条访管指令用以请求系统调用而引起的中断,这种中断也称为“访管中断”。
  一般情况下,优先级的高低顺序依次为:硬件故障中断、自愿中断、程序性中断,外部中断和输入输出中断。
  自愿中断的断点是确定的,而强迫性中断的断点可能发生在任何位置。
  3、中断的响应。
  中断响应 (硬件即中断装置操作)
  处理器每执行一条指令后,硬件的中断位置立即检查有无中断事件发生,若有中断事件发生,则暂停现行进程的执行,而让操作系统的中断处理程序占用处理器,这一过程称为“中断响应”。
  中断响应过程中,中断装置要做以下三项工作:
  1)是否有中断事件发生
  2)若有中断发生,保护断点信息
  3)启动操作系统的中断处理程序工作
  中断装置通过“交换PSW”过程完成此项任务。
  4、中断处理 (软件即操作系统操作)
  操作系统的中断处理程序对中断事件进行处理时,大致要做三方面的工作:
  1)保护被中断进程的现场信息
  2)分析中断原因
  根据旧PSW的中断码可知发生该中断的具体原因。
  3)处理发生的中断事件
  请求系统创建相应的处理进程进入就绪队列。

5、中断屏蔽
  中断屏蔽技术是在一个中断处理没有结束之前不响应其他中断事件,或者只响应比当前级别高的中断事件。
  如当中断装置检查到有中断事件后,便去查看PSW中中断屏蔽标志,如果没有屏蔽就响应该中断;否则,暂时不响应该中断,待屏蔽标志消除后再响应。自愿中断是不能屏蔽的。
  中断机制
  在它执行程序的时候,如果有另外的事件发生(比如用户又打开了一个程序)那么这时候就需要由计算机系统的中断机制来处理了。
  中断机制包括硬件的中断装置和操作系统的中断处理服务程序。
  阐述硬件的中断装置的作用。
  答:中断是计算机系统结构一个重要的组成部分。在中断机制中的硬件部分(中断装置)的作用就是在CPU每执行完一条指令后,判别是否有事件发生,如果没有事件发生,CPU继续执行;若有事件发生,中断装置中断原先占用CPU的程序的执行,把被中断程序的断点保存起来,让操作系统的处理服务程序占用CPU对事件进行处理,处理完后,再让被中断的程序继续占用CPU执行下去。
  (所以中断装置的作用总的来说就是使操作系统可以控制各个程序的执行。)
  操作系怎样让多个程序同时执行?
  答:中央处理器在任何时刻最多只能被一个程序占用。通过中断装置
  系统中若干程序可以交替地占用处理器,形成多个程序同时执行的状态。利用CPU与外围设备的并行工作能力,以及各外围设备之间的并行工作能力,操作系统能让多个程序同时执行。
  UNIX系统
  一、UNIX系统结构
  1、UNIX的层次结构
  UNIX可以分为内核层和外壳层两部分。//内核层是UNIX是核心。/外壳层由shell解释程序(即为用户提供的各种命令。)、支持程序设计的各种语言(如C、PASCAL和BASIC等)、编译程序和解释程序、实用程序和系统库等组成。
  2、UNIX系统的主要特点
  短小精悍 //简洁有效 //易移植 //可扩充 //开放性
  3、UNIX的程序员接口和用户接口
  UNIX的程序员接口就是其内核提供的系统调用。
  系统调用是用户程序请求操作系统为其服务的唯一形式。

一个在终端上登录成功的用户可以用shell命令来得到用户程序,用户程序用“trap”指令请求服务。
  二、UNIX系统的进程
  在UNIX系统中进程由三部分组成:进程控制块、正文段和数据段。
  三、UNIX系统的存储管理
  1、对换(Swapping)技术:这就是前面我们所学的虚拟存储器在UNIX中的应用。磁盘上设置开辟一个足够大的区域,为对换区。当内存中的进程要扩大内存空间,而当前的内存空间又不能满足时,则可把内存中的某些进程暂换出到对换区中,在适当的时候又可以把它们换进内存。因而,对换区可作为内存的逻辑扩充,用对换技术解决进程之间的内存竞争。
  UNIX对内存空间和对换区空间的管理都采用最先适应分配算法。
  2、虚拟页式存储管理技术。 UNIX把进程的地址空间划分成三个功能区段:系统区段、进程控制区段、进程程序区段。系统区段占用系统空间,系统空间中的程序和数据常驻内存。其余两个区段占用进程空间,是进程中非常驻内存部分。
  通过页表和硬件的地址转换机构完成虚拟地址和物理地址之间的转换。
  四、UNIX系统的文件系统(领会)
  1、UNIX系统中的逻辑文件采用流式文件组织
  在UNIX系统中,文件的逻辑结构是由一串顺序的字符组成的流式文件。文件的物理结构是采用索引结构方式,每个文件都有一张索引表记录文件占用的磁盘空间块号……UNIX的文件系统分成基本文件和可装卸的子文件系统两部分。
  2、UNIX的树形目录结构: UNIX采用树形目录。
  UNIX把普通文件、目录文件保存在磁盘上,一个具体的文件可以用路径名确定。
  磁盘被分成块(扇区),每块为512个字节或1K字节……。
  4、UNIX的索引节点。UNIX中每个文件有一个唯一的索引节点,索引节点静态地存放在磁盘上,故称为磁盘索引节点。为了加快文件访问速度而在内存中对磁盘索引节点进行复制形成活动索引节点。
  UNIX中可分配的磁盘空间有两类:一类是索引节点区,另一类是存放文件的存储区。
  五、UNIX系统的I/O系统(领会 了解大意即可)
  1、块设备和字符设备
  块设备以块为单位每次与内存交换一组信息。块设备是用来存储信息的设备。字符设备以字节为单位与内存交换信息。字符设备是计算机用来接收外部信息或把处理好的信息传向外部的设备。
  块设备包括硬盘、软盘、磁带等,字符设备包括终端、打印机等。
  2、设备文件: UNIX系统把设备也当作文件来对待,每个设备都有一个文件名,并对它像文件那样进行操作。
  3、块设备的管理:通过启动驱动程序完成相应的打开、关闭、读和写等操作。
  4、字符设备的管理:
  字符设备工作速度低,一次输入输出要求传送的字节数少而且不固定。因此不适宜采用块设备管理中的缓冲技术,而是采用缓冲区容量较小的、易管理的字符缓冲技术。
  5、缓冲技术:这个技术就是前面我们学过的虚拟设备(SPOOL技术)在UNIX中的实际应用UNIX采用缓冲技术实现设备的读写操作。

 


1、在批处理兼分时的系统中,往往由分时系统控制的作业称为前台作业,而由批处理系统控制的作业称为后台作业。
  2、操作系统为用户提供两种类型的使用接口,它们是操作员接口和程序员接口。
  3、操作系统中,进程可以分为系统进程和用户进程两类。
  4、用户调用建立和打开文件操作来申请对文件的使用权。
  5、主存储器与外围设备之间的信息传送操作称为 输入输出操作。
  6、在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,计算时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。
  7、当一个进程独占处理器顺序执行时,具有两个特性:封闭 性和可再现性。
  8、UNIX的shell有两层含义,一是指由shell命令组成的Shell命令语言;二是指该命令的解释程序。
  9、能使计算机系统接收到___外部信号___后及时进行处理,并在严格的规定时间内处理结束,再给出___反馈信号___的操作系统称为“实时操作系统”。
  10、现代计算机中主存储器都是以___字节 ___为单位进行编址。
  11、主存的“地址越界”中断是属于__程序性____中断。
  12、在UNIX中,对磁盘空闲块采用成组连接方式,每一组的第一个空闲块中登记了下一组空闲块的___块号___和___空闲块数___。
  13、现代计算机系统采用自成独立系统的能与主机并行工作的I/O结构,主存储器与外围设备之间传送信息的输入输出操作由___通道___完成。由于它能独立完成输入输出操作,所以也称为___输入输出处理机___。
  14、进程同步是指并发进程之间存在一种制约关系,一个进程的执行依赖于另一个进程的消息,当一个进程没有得到另一个进程的消息时必须___等待___,直到消息到达才___被唤醒___。
  15、破坏进程占有并等待资源条件,从而防止死锁的发生,其通常使用的两种方法是___静态分配资源___和____释放已占有资源__等。
  16、Unix系统是按设备与内存之间信息交换的物理单位来对设备进行分类,Unix把设备分成两类:___字符设备___和__ 块设备____。
  17、一个程序获得了一个_工作区(数据块)_和一个_ PCD(进程控制块)_后,就说创建了一个进程。
  18、计算机系统的软件资源包括程序和___数据(信息)(文档)__。
  19、可变分区方式管理主存时,往往采用___动态__重定位方式来实现地址转换。
  20、在页式虚拟存储系统中,选择页面调度算法时应尽量注意减少或避免_抖动(颠簸,频繁调进调出)_现象的发生。
  21、为了防止各种系统故障破坏文件,文件系统可以采用__建立副本_和_定时转储_两种方法在保护文件。
  22、对于移动臂磁盘,磁头在移动臂的带动下,移动到指定柱面的时间称_寻找_时间,而指定扇区旋转到磁头位置的时间称_延迟__时间。

23、某作业9:00进入输入井,要求计算时间1小时。作业调度采用响应比最高优先算法在10:00选中该作业,则该作业被选中时的响应比为____2__。
  24、可防止死锁的资源分配策略有_静态分配_、__按序分配___和剥夺式分配。
  25、要在插入PC机A驱动器的一张新盘上写上MS-DOS操作系统,应使用的命令是__ Format __A: ___/s __。
  26、MS-DOS操作系统中文件的逻辑结构是__流式__文件。
  27、网络操作系统把计算机网络中的各台计算机有机地联结起来,实现各台计算机之间的___通信___及网络中各种资源的___共享___ 。
  28、特权指令只能在___管或系统___ 态下执行,若在___目或用户___ 态下执行则被认为是非法指令。
  29、进程调度的职责是按给定的___进程调度算法___ 从___就绪队列___ 中选择一个进程,让它占用处理器。
  30、系统事先给每台设备确定的编号称设备的_绝对号_号,由用户在使用设备时给出的编号称设备的相对号_号。
  31、间接通信中的信箱可以由___信箱说明___ 和____信箱体__ 两大部分组成。
  32、为破坏进程循环等待条件,从而防止死锁,通常采用的方法是把系统中所有资源类进行___顺序编号___,当任何一个进程申请两个以上资源时,总是要求按对应资源号___递增的___ 次序申请这些资源。
  33、把存储介质上连续信息所组成的一个区域称为 _块_;为管理方便,经常将存储介质的__卷__物理单位称为 。
  34、Spool 是在一个计算问题开始之前,把计算所需要的程序和数据从输入设备上预输入到_磁盘的输入井__中存放。对于输出的结果,是从_______磁盘的输出井_______中依次输出。
  35、计算机系统中引导程序的作用是___进行系统初始化工作____和______把OS的核心程序装入主存________。
  36、为了保证操作的正确性,中央处理器设置有两种工作状态:_管态(系统态、核心态)_和_目态(用户态)_。
  37、通道把通道程序执行情况记录在_通道状态字(或CSW)_中;通道完成一次输入输出操作后,以_中断(或I/O中断)_方式请求中央处理器进行干预。
  38、只要涉及相同变量的若干进程的_相关临界区_互斥执行,就不会造成与__时间__有关的错误。
  39、死锁的形成,除了与资源的分配策略〈或管理方法〉有关外,也与并发进程的执行速度(或调度策略)有关。
  40、在现代Unix 系统(如System V)中,存贮管理大多采用_分页式虚拟_存贮机制,把_对换技术_作为一种辅助手段。
  41、光盘的信息传送速度比硬盘___慢___,容量比软盘___大___。
  42、当一个进程能被选中占用处理器时,就从__就绪____态成为___运行___态。
  43、通道程序是由___通道命令(或COW)___组成的;启动通道工作前,必须把通道程序首地址存放到___通道地址字(或CAW)___中。
44、可靠的信箱通信规则是:若发送信件时信箱已满,则发送进程被置成等信箱状态,直到信箱有空时才被释放。若取信件时信箱中无信,则接收进程被置成___等信件___状态,直到有信件时才被释放。
  45、线程的主要属性是:每个线程有___一个唯一的标识符和线程描述表___,同一进程中的各个线程共享_分配给进程的主存地址空间_。
  46、操作系统能保证所有的进程_在有限时间内得到所需全部资源_,则称系统处于“安全状态”,不会产生_死锁_。
  47、死锁的四个必要条件是互斥使用资源,占有等待资源,_不可抢夺资源(或循环等待资源)_ 和_循环等待资源(或不可抢夺资源)_。
  48、批处理操作系统中,操作员根据作业需要把一批作业的有关信息输入计算机系统,操作系统选择作业并根据作业控制说明书的要求自动控制作业的执行。
  49、中断是计算机系统的一个重要部分,中断机制包括硬件的中断装置和操作系统的中断服务程序。
  50、在页式和段式存储管理中,页式_存储管理提供的逻辑地址是连续的。
  51、在设备管理中,对磁带机、输入机及打印机等独占设备总是采用_静态分配_策略进行分配。
  52、磁盘是一种可共享设备,在若干文章者请求读写磁盘时,系统要进行磁盘的驱动调度,对磁盘来说,驱动调度由_移臂调度 和_旋转调度_组成。
  53、作业控制方式有_批处理_方式和_交互控制方式二种。
  54、当一个进程独占处理器顺序执行时,具有两个特性:封闭性、可再现性。
  55、不可中断的过程称为_原语_。
  56、解决死锁问题可以采用的方式中,采用_死锁的避免_策略,如银行家算法虽然保守,但可以保证系统时时处于安全状态。

 


1、简述操作系统的定义。
  操作系统是计算机系统的一种系统软件,它统一管理计算机系统的资源和控制程序的执行。
  2、在多道程序设计技术的系统中,操作系统怎样才会占领中央处理器?
  只有当中断装置发现有事件发生时,它才会中断当前占用中央处理器的程序执行,让操作系统的处理服务程序占用中央处理器并执行之。
  3、简述"删除文件"操作的系统处理过程。
  用户用本操作向系统提出删除一个文件的要求,系统执行时把指定文件的名字从目录和索引表中除去,并收回它所占用的存储区域,但删除一个文件前应先关闭该文件。
  4、对相关临界区的管理有哪些要求?
  为了使并发进程能正确地执行,对若干进程共享某一变量(资源)的相关临界区应满足以下三个要求:
  ① 一次最我让一个进程在临界区中执行,当有进程在临界区中时,其他想进入临界区执行的进程必须等待;
  ② 任何一个进入临界区执行的进程必须在有限的时间内退出临界区,即任何一个进程都不应该无限逗留在自己的临界区中;
  ③ 不能强迫一个进程无限地等待进入它的临界区,即有进程退出临界区时应让下一个等待进入临界区的进程进入它的临界区。
  5、简述解决死锁问题的三种方法。
  ① 死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。
  ② 死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。
  ③ 死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就呆把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。
  6、从操作系统提供的服务出发,操作系统可分哪几类?
  批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。
  7、简述计算机系统的中断机制及其作用。
  中断机制包括硬件的中断装置和操作系统的中断处理服务程序。
  中断装置由一些特定的寄存器和控制线路组成,中央处理器和外围设备等识别到的事件保存在特定的寄存器中,中央处理器每执行完一条指令,均由中断装置判别是否有事件发生。
  若无事件发生,CPU继续执行;若有事件发生,则中断装置中断原占有CPU的程序的执行,让操作系统的处理事件服务程序占用CPU,对出现的事件进行处理,事件处理完后,再让原来的程序继续占用CPU执行。
  8、选择进程调度算法的准则是什么?
  由于各种调度算法都有自己的特性,因此,很难评价哪种算法是最好的。一般说来,选择算法时可以考虑如下一些原则:
  ① 处理器利用率;
  ② 吞吐量;
  ③ 等待时间;
  ④ 响应时间。
  在选择调度算法前,应考虑好采用的准则,当确定准则后,通过对各种算法的评估,从中选择出最合适的算法。
  9、独占设备采用哪种分配方式?
  独占设备通常采用静态分配方式。
  即在一个作业执行前,将作业要使用的这类设备分配给作业,在作业执行期间均归该作业占用,直到作业执行结束才归还。
  10、产生死锁的原因是什么?
  ① 系统资源不足;
  ② 进程推进顺序不合适。
  在早期的系统中,由于系统规模较小,结构简单,以及资源分配大多采用静态分配法,使得操作系统死锁问题的严重性未能充分暴露出来。但今天由于多道程序系统,以至于数据系统的出现,系统中的共享性和并行性的增加,软件系统变得日益庞大和复杂等原因,使得系统出现死锁现象的可能性大大增加。
  11、何谓批处理操作系统?
  用户准备好要执行的程序、数据和控制作业执行的说明书,由操作员输入到计算机系统中等待处理。操作系统选择作业并按作业说明书的要求自动控制作业的执行。采用这种批量化处理作业的操作系统称为批处理操作系统。
  12、对特权指令的使用有什么限制?
  只允许操作系统使用特权指令,用户程序不能使用特权指令。
  13、影响缺页中断率有哪几个主要因素?
  影响缺页中断率的因素有四个:
  ① 分配给作业的主存块数多则缺页率低,反之缺页中断率就高。
  ② 页面大,缺页中断率低;页面小缺页中断率高。
  ③ 程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。
  ④ 页面调度算法对缺页中断率影响很大,但不可能找到一种最佳算法。
  14、磁盘移臂调度的目的是什么?常用移臂调度算法有哪些?
  磁盘移臂调度的目的是尽可能地减少输入输出操作中的寻找时间。
  常用的移臂调度算法有:
  ① 先来先服务算法
  ② 最短寻找时间优先算法
  ③ 电梯调度算法
  ④ 单向扫描算法。
  15、常用的作业调度算法有哪些?
  ① 先来先服务算法
  ② 计算时间短的作业优先算法
  ③ 响应比最高者优先算法
  ④ 优先数调度算法
  ⑤ 均衡调度算法
16、计算机系统的资源包括哪些?
  计算机系统的资源包括两大类:硬件资源和软件资源。
  硬件资源主要有中央处理器、主存储器、辅助存储器和各种输入输出设备。
  软件资源有编译程序、编辑程序等各种程序以及有关数据。
  17、CPU在管态和目态下工作有何不同?
  当中央处理器处于管态时,可以执行包括特权指令在内的一切面器指令,而在目态下工作时不允许执行特权指令。
  18、何为页表和快表?它们各起什么作用?
  页表指出逻辑地址中的页号与所占主存块号的对应关系。
  作用:页式存储管理在用动态重定位方式装入作业时,要利用页表做地址转换工作。
  快表就是存放在高速缓冲存储器的部分页表。它起页表相同的作用。
  由于采用页表做地址转换,读写内存数据时CPU要访问两次主存。有了快表,有时只要访问一次高速缓冲存储器,一次主存,这样可加速查找并提高指令执行速度。
  19、作业在系统中有哪几种状态?
  一个作业进入系统到运行结束,一般要经历进入、后备、运行和完成四个阶段,相应地,作业亦有进入、后备、运行和完成四种状态。
  ① 进入状态:作业的信息从输入设备上预输入到输入井,此时称为作业处于进入状态。
  ② 后备状态:当作业的全部信息都已输入,且由操作系统将其存放在输入井中,此时称作业处于后备状态。系统将所有处于后备状态的作业组成后备作业队列,等待作业调度程序的调度。
  ③ 运行状态:一个后备作业被作业调度程序选中,分配了必要的资源,调入内存运行,称作业处于运行状态。
  ④ 完成状态:当作业正常运行完毕或因发生错误非正常终止时,作业进入这完成状态。
  20、用fork创建新进程,它要做哪些工作?
  由fork创建新进程的主要工作有:
  ① 在进程表proc[ ]中为子进程找一个空闲的表项,用来存放子进程的proc结构;
  ② 为子进程分配一个唯一的标识号;
  ③ 把父进程中的字段复制到子进程的proc中,并把p - pid置为分配到的进程标识号,把p-pid置为父进程的标识号,把p-stat置为创建状态;
  ④ 按父进程中p-size所示的长度为子进程申请分配内存。若有足够的内存,则把父进程的user结构、栈和用户数据区全部复制到子进程的空间中;若无足够的内存,则在磁盘对换区中分配存储空间,然后复制到对换区中,置于进程状态为就绪状态。
  21、为什么说批处理多道系统能极大地提高计算机系统的工作效率?
  ① 多道作业并行工作,减少了处理器的空闲时间。
  ② 作业调度可以合理选择装入主存储器中的作业,充分利用计算机系统的资源。
  ③ 作业执行过程中不再访问低速设备,而直接访问高速的磁盘设备,缩短执行时间。
  ④ 作业成批输入,减少了从操作到作业的交接时间。
  22、操作系统为用户提供哪些接口?
  操作系统为用户提供两种类型的使用接口:
  一是操作员级的,它为用户提供控制作业执行的途径;
  二是程序员级的,它为用户程序提供服务功能。
  23、什么是线程?多线程技术具有哪些优越性?
  线程是进程中可独立执行的子任务,一个进程可以有一个或多个线程,每个线程都有一个惟一的标识符。线程与进程有许多相似之处,往往把线程又称为"轻型进程",线程与进程的根本区别是把进程作为资源分配单位,而线程是调度和执行单位。
  多线程技术具有多个方面的优越性:
  ① 创建速度快、系统开销小:创建线程不需要另行分配资源;
  ② 通信简洁、信息传送速度快:线程间的通信在统一地址空间进程,不需要额外的通信机制;
  ③ 并行性高:线程能独立执行,能充分利用和发挥处理器与外围设备并行工作的能力。
  24、UNIX系统中的优先权和优先数有什么关系?如何确定进程的优先权和优先数?
  UNIX中每个进程都有一个优先数,就绪进程能否占用处理器的优先权取决于进程的优先数,优先数越小则优先权越高。
UNIX以动态方式确定优先权,如核心的进程优先权高于进入用户态的进程;降低用完一个时间片的进程的优先权;对进入睡眠的进程,其等待事件越急优先数越高;降低使用处理器时间较长的进程的优先权。
  UNIX中确定进程优先数的方法有两种:设置方法和计算方法。前者对要进入睡眠状态的进程设置优先数,若等待的事件急迫,则设置较小的优先数;后者用户进程正在或即将转入用户状态运行时确定优先数。
  25、主存空间信息保护有哪些措施?
  保存主存空间中的信息一般采用以下措施:
  ① 程序执行时访问属于自己主存区域的信息,允许它既可读,又可写;
  ② 对共享区域中的信息只可读,不可修改;
  ③ 对非共享区域或非自己的主存区域中的信息既不可读,也不可写。
  26、共享设备允许多个作业同时使用,这里的"同时使用"的含义是什么?
  "同时使用"的含义是多个作业可以交替地启动共享设备,在某一时刻仍只有一个作业占有。
  27、简述"打开文件"操作的系统处理过程。
  用户要使用一个已经存放在存储介质上的文件前,必须先提出"打开文件"要求。这时用户也必须向系统提供参数:用户名、文件名、存取方式、存储设备类型、口令等。系统在接到用户的"打开文件"要求后,找出该用户的文件目录,当文件目录不在主存储器中时还必须把它读到主存储器中;然后检索文件目录,指出与用户要求相符合的目录项,取出文件存放的物理地址。
  对索引文件还必须把该文件的索引表存放在主存储器中,以便后继的读写操作能快速进行。
  28、什么是"前台"作业、"后台"作业?为什么对"前台"作业要及时响应?
  批处理操作系统实现自动控制无需人为干预,分时操作系统实现了人机交互对话,这两种操作系统具有各自的优点。为了充分发挥批处理系统和分时系统的优点,在一个计算机系统上配置的操作系统往往既具有批处理能力,又有提供分时交互的能力。这样,用户可以先在分时系统的控制下,以交互式输入、调试和修改自己的程序;然后,可以把调试好的程序转交给批处理系统自动控制其执行而产生结果。这些由分时系统控制的作业称为"前台"作业,而那些由批处理系统控制的作业称为"后台"作业。
  在这样的系统中,对前台作业应该及时响应,使用户满意;对后台作业可以按一定的原则进行组合,以提高系统的效率。
  29、存储型设备和输入输出型设备的输入输出操作的信息传输单位有何不同?
  存储型设备输入输出操作的信息传输单位是"块",而输入输出型设备输入输出操作的信息传输单位是"字符"。
  30、简述信号量S的物理含义。
  S>0时,S表示可使用的资源数;或表示可使用资源的进程数;
  S=0时,表示无资源可供使用;或表示不允许进程再进入临界区;
  S<0时,-S表示等待使用资源的进程个数;或表示等待进入临界区的进程个数;
  当S>0时,调用P(S)的进程不会等待;调用V(S)后使可用资源数加1或使可用资源的进程数加1;
  当S<0时,调用P(S)的进程必须等待;调用V(S)后将释放一个等待使用资源者或释放一个等待进入临界区者。
  31、简述"关闭文件"操作的系统处理过程。
  执行"关闭"操作时先要检查读到主存中的文件目录或索引表是否被修改过,若被修改过,则应把修改过的文件目录或索引表重新保存好。
  用户提出"关闭"要求时,必须说明关闭哪个文件。
  32、什么是计算机系统?它由哪几部分组成?
  计算机系统是按用户的要求接收和存储信息,自动进行数据处理并输出结果信息的系统。
  计算机系统由硬件系统和软件系统组成。硬件系统是计算机系统赖以工作的实体,软件系统保证计算机系统按用户指定的要求协调地工作。
  33、计算机系统怎样实现存储保护?
  一般硬件设置了基址寄存器和限长寄存器。
  中央处理器在目态下执行系统中,对每个访问主存的地址都进行核对,若能满足:基址寄存器值≤访问地址≤基址寄存器值+限长寄存值,则允许访问,否则不允许访问。并且不允许用户程序随意修改这两个寄存器的值。这就实现了存储保护。
  34、给出系统总体上的中断处理过程。
  CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应的中断处理程序。中断处理过程可粗略的分为以下四个过程:
  ① 保护当前正在运行程序的现场;
  ② 分析是何种中断,以便转去执行相应的中断处理程序;
  ③ 执行相应的中断处理程序;
  ④ 恢复被中断程序的现场。
  35、死锁发生的必要条件有哪些?
  发生死锁的必要条件有四点:互斥条件、不可抢占条件、部分分配条件和循环等待条件。
  ① 互斥条件:系统中存在一个资源一次只能被一个进程所使用;
  ② 非抢占条件:系统中存在一个资源仅能被占有它的进程所释放,而不能被别的进程强行抢占。
③ 占有并等待条件:系统中存在一个进程已占有了分给它的资源,但仍然等待其他资源。
  ④ 循环等待条件:在系统中存在一个由若干进程形成的环形请求链,其中的每一个进程均占有若干种资源中的某一种,同时每个进程还要求(链上)下一个进程所占有的资源。
  36、用户程序中通常用什么方式指定要使用的设备?为什么?
  用户程序中通常用"设备类、相对号"请求要使用的设备,即不具体指定要哪一台设备,而是提出要申请哪类设备多少台。
  这种方式使设备分配适应性好、灵活性强。
  否则若用绝对号来指定设备,如果这台设备已被占用或有故障时,该作业就无法装入主存中。
  37、进程调度中"可抢占"和"非抢占"两种方式,哪一种系统的开销更大?为什么?
  可抢占式会引起系统的开销更大。
  可抢占式调度是严格保证任何时刻,让具有最高优先数(权)的进程占有处理机运行,因此增加了处理机调度的时机,引起为退出处理机的进程保留现场,为占有处理机的进程恢复现场等时间(和空间)开销增大。
  38、一个含五个逻辑记录的文件,系统把它以链接结构的形式组织在磁盘上,每个记录占用一个磁盘块,现要求在第一记录和第二记录之间插入一个新记录,简述它的操作过程。
  从文件目录中找到该文件,按址读出第一个记录;
  取出第一个记录块中指针,存放到新记录的指针位置;
  把新记录占用的物理块号填入第一个记录的指针位置;
  启动磁盘把第一个记录和新记录写到指字的磁盘块上。
  39、在SPOOL系统中设计了一张"缓输出表",请问哪些程序执行时要访问缓输出表,简单说明之。
  井管理写程序把作业执行结果文件登记在缓输出表中;
  缓输出程序从缓输出表中查找结果文件并打印输出。
  40、试比较进程调度与作业调度的不同点。
  ① 作业调度是宏观调度,它决定了哪一个作业能进入主存。进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理器。
  ② 作业调度是选符合条件的收容态作业装入主存。进程调度是从就绪态进程中选一个占用处理器。
  41、试说明资源的静态分配策略能防止死锁的原因。
  资源静态分配策略要求每个过程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后,该进程才开始执行。
  这样,进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一"占有并等待条件",从而防止死锁的发生。
  42、简述操作系统提供的服务功能。
  处理用户命令;读/写文件;分配/回收资源;
  处理硬件/软件出现的错误;及其他控制功能。
  43、简述中断装置的主要职能。
  中断装置的职能主要有三点:
  ① 检查是否有中断事件发生;
  ② 若有中断发生,保护好被中断进程的断点及现场信息,以便进程在适当时候能恢复执行;
  ③ 启动操作系统的中断处理程序。
  44、实现虚拟设备的硬件条件是什么?操作系统应设计哪些功能程序?
  硬件条件是:配置大容量的磁盘,要有中断装置和通道。
  操作系统应设计好"预输入"程序,"井管理"程序,"缓输出"程序。
  45、一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?
  ① 优先接纳终端作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业;
  ② 允许终端作业的批处理作业混合同时执行;
  ③ 把终端作业的就绪进程排成一个就绪队列,把批处理作业的就绪进程排入另外的就绪队列中;
  ④ 有终端作业进程就绪时,优先让其按"时间片轮转"法先运行。没有终端作业时再按确定算法选批处理作业就绪进程运行。
  46、简述死锁的防止与死锁的避免的区别。
  死锁的防止是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配从而防止死锁的发生。
  而死锁的避免是当进程提出资源申请时系统测试资源分配仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值