操作系统习题解答 (张尧学)5篇范文

时间:2019-05-15 08:04:14下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《操作系统习题解答 (张尧学)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《操作系统习题解答 (张尧学)》。

第一篇:操作系统习题解答 (张尧学)

第一章

1.什么是操作系统的基本功能? 答:操作系统的职能是管理和控制计算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。

2.什么是批处理、分时和实时系统?各有什么特征? 答:批处理系统(batch processingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。

分时系统(time sharing operation system):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。

实时系统(real time system):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。

3. 多道程序设计和多重处理有何区别? 答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。

4. 讨论操作系统可以从哪些角度出发,如何把它们统一起来?

答;讨论操作系统可以从以下角度出发:(1)操作系统是计算机资源的管理者;(2)操作系统为用户提供使用计算机及界面;(3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。

上述这些观点彼此并不矛盾,分别代表了从不同角度对同一事物(操作系统)的观点。每种观点都有助于理解、分析和设计操作系统。

6. 设计计算机操作系统与哪些硬件器件有关? 答;计算机操作系统的重要功能之一是对硬件资源的管理。因此设计计算机操作系统时应考虑下述计算机硬件资源:(1)CPU与指令的长度与执行方式;(2)内存、缓存和高速缓存等存储装置;(3)各类寄存器,包括各种通用寄存器、控制寄存器和状态寄存器;(4)中断机构;(5)外部设备与I/O控制装置;(6)内部总线与外部总线;(7)对硬件进行操作的指令集。第二章

1.什么是作业?作业步? 答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。

2.作业由哪几部分组成? 各有什么功能? 答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。

3.作业的输入方式有哪几种?各有何特点

答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral Operations Online)系统和网络输入方式,各有如下特点:

(1)联机输入方式:用户和系统通过交互式会话来输入作业。(2)脱机输入方式:又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理,存储在后备存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。(3)直接耦合方式:把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。(4)SPOOLING系统:可译为外围设备同时联机操作。在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。(5)网络输入方式:网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式。

4.试述SPOOLING系统的工作原理。

答:在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区,另一个过程是写过程,负责把缓冲区中的信息送入到外存输入井中。

在系统输入模块收到作业输入请求后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存输入井中。读过程和写过程反复循环,直到一个作业输入完毕。当读过程读到一个硬件结束标志后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。5.操作系统为用户提供哪些接口?它们的区别是什么? 答:操作系统为用户提供两个接口,一个是系统为用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。另一个接口是系统调用,编程人员使用系统调用来请求操作系统提供服务,例如申请和释放外设等类资源、控制程序的执行速度等。

6.作业控制方式有哪几种?调查你周围的计算机的作业控制方式。

答:作业控制的主要方式有两种:脱机方式和联机方式。脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明书。作业控制语言的语句就是作业控制命令。不同的批处理系统提供不同的作业控制语言。

联机控制方式不同于脱机控制方式,它不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。用户使用操作系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。

7.什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么区别? 答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。

系统调用与一般用户程序、库函数和实用程序的区别是:系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。

8.简述系统调用的实现过程。

答:用户在程序中使用系统调用,给出系统调用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。

9.为什么说分时系统没有作业的概念?

答:因为咋分时系统中,每个用户得到的时间片有限,用户的程序和数据信息直接输入到内存工作区中和其它程序一起抢占系统资源投入执行,而不必进入外存输入井等待作业调度程序选择。因此,分时系统没有作业控制表,也没有作业调度程序。第三章

1.有人说,一个进程是由伪处理机执行的一个程序,这话对吗?为什么?

答:对。因为伪处理机的概念只有在执行时才存在,它表示多个进程在单处理机上并发执行的一个调度单位。因此,尽管进程是动态概念,是程序的执行过程,但是,在多个进程并发执行时,仍然只有一个进程占据处理机执行,而其它并发进程则处于就绪或等待状态。这些并发进程就相当于由伪处理机执行的程序。

2.试比较进程和程序的区别。

答:(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。

(2)进程具有并行特征(独立性,异步性),程序则没有。(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。

4.试比较作业和进程的区别。答:并非对所有的程序均成立。例如: begin local x x:=10 print(x)end 上述程序中x是内部变量,不可能被外部程序访问,因此这段程序的运行不会受外界环境影响。

4.试比较作业和进程的区别。

答:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用于需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交,作业收容、作业执行和作业完成4个阶段。而进程是已提交完毕的程序所执行过程的描述,是资源分配的基本单位。其主要区别关系如下:

(1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将存储在外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。

(2)一个作业可由多个进程组成。且必须至少由一个进程组成,但反过来不成立。

(3)作业的概念主要用在批处理系统中。像Unix这样的分时系统中,则没有作业概念。而进程的概念则用在几乎所有的多道程序系统中。

6.什么是临界区?试举一临界区的例子。

答:临界区是指不允许多个并发进程交叉执行的一段程序。它是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的。所以它又被称为访问公用数据的那段程序。

例如:

getspace: begin local g g=stact[top]

top=top-1 End release(ad): Begin top=top+1 stack[top]=ad End

7.并发进程间的制约有哪两种?引起制约的原因是什么? 答:并发进程所受的制约有两种:直接制约和间接制约。直接制约是由并发进程互相共享对方的私有资源所引起的。间接制约是由竞争共有资源而引起的。

8.什么是进程间的互斥?什么是进程间同步? 答:进程间的互斥是指:一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以上的共享该资源的并发进程同时进入临界区。

进程间的同步是指:异步环境下的一组并发进程因直接制约互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程。

9.试比较P,V原语法和加锁法实现进程间互斥的区别。

答:互斥的加锁实现是这样的:当某个进程进入临界区之后,它将锁上临界区,直到它退出临界区时为止。并发进程在申请进入临界区时,首先测试该临界区是否是上锁的,如果该临界区已被锁住,则该进程要等到该临界区开锁之后才有可能获得临界区。

加锁法存在如下弊端:(1)循环测试锁定位将损耗较多的CPU计算时间;(2)产生不公平现象。

P,V原语法采用信号量管理相应临界区的公有资源,信号量的数值仅能由P,V原语操作改变,而P,V原语执行期间不允许中断发生。其过程是这样的:当某个进程正在临界区内执行时,其他进程如果执行了P原语,则该进程并不像lock时那样因进不了临界区而返回到lock的起点,等以后重新执行测试,而是在等待队列中等待由其他进程做V原语操作释放资源后,进入临界区,这时P原语才算真正结束。若有多个进程做P原语操作而进入等待状态之后,一旦有V原语释放资源,则等待进程中的一个进入临界区,其余的继续等待。

总之,加锁法是采用反复测试lock而实现互斥的,存在CPU浪费和不公平现像,P,V原语使用了信号量,克服了加锁法的弊端。

10.答:设第I块缓冲区的公有信号量为metex[I],保证生产者进程和消费者进程对同一块缓冲区操作的互斥,初值为1;

设信号量avail为生产者进程的私有信号量,初值为m; 设信号量full为消费者进程的私有信号量,初值为0。用信号量和P、V操作描述发送过程deposit(data)和接收过程remove(data)如下:

deposit(data):

begin

P(avail)

选择一个空缓冲区i

P(mutex[i])

送数据入缓冲区i

V(mutex[i])

V(full)

End

P(full)

选择一个满缓冲区i P(mutex[i])

取缓冲区i中的数据

V(mutex[i])V(avail)12.

答:定义数组buf[0],buf[1]。

设bufempty[0],buffull[1]是Pa的公有信号量;设bufempty[1],buffull[0]是Pb的公有信号量;初值为: bufempty[0]= bufempty[1]=n buffull[0]= buffull[1]=0 用信号量和P、V操作描述发送过程send(i,m)和接收过程receive(i,m)如下:

send(i,m):

begin

local x

P(bufempty[i])

按FIFO选择一个空缓冲区buf[i](x)buf[i](x)=m buf[i](x)置满标记

V(buffull[i])

End receive(i,m):

begin

local x

P(buffull[i])

按FIFO选择一个满缓冲区buf[i](x)m=buf[i](x)buf[i](x)置空标记

V(bufempty[i])

End Pa调用send(0,m)和receive(1,m)Pb调用send(1,m)和receive(0,m)14.

答:设信号量c[i],初值为1;i=0,1,2,3,4。i表示第i号筷子。(1)第i个哲学家要吃饭: eat(i):

begin

P(c[i])remove(data):

begin

End

P(c[i+1 mod 5])

吃饭

V(c[i+1 mod 5])

V(c[i])

End 该过程能保证两个邻座不同时吃饭,但有可能出现每人只拿到一支筷子,谁也吃不上饭的情况。

(1)为解决上述情况,让奇数号的哲学家先取右手边的筷子,偶数号的哲学家先取左手边的筷子。这样只要有一个哲学家拿到了一支筷子,就阻止了邻座的哲学家吃法的企图,从而不会死锁,除非某哲学家永远吃下去。

算法描述如下: eat(i):

begin if i mod 2 == 0 then

{ P(c[i])

P(c[i+1 mod 5])

吃饭

V(c[i+1 mod 5])

V(c[i])

}

else

{

P(c[i+1 mod 5])P(c[i])

吃饭

V(c[i])

V(c[i+1 mod 5])

} End 另解:最多只允许4个哲学家同时要求进餐,这样至少有一位哲学家能取到两只筷子并可以进餐,进餐后释放两只筷子,其他哲学家可以陆续进餐。

设哲学家进餐信号量sm=4;筷子信号量c[i]=1(i=0,1,2,3,4)eat(i):

begin P(sm)

P(c[i])

P(c[i+1 mod 5])

吃饭

V(c[i+1 mod 5])

V(c[i])V(sm)

End 15.什么是线程? 试述线程与进程的区别。答;线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成。线程可分为用户级线程、核心级线程以及用户/核心混合型线程等类型。其中用户级线程在用户态下执行,CPU调度算法和各线程优先级都由用户设置,与操作系统内核无关。核心级线程的调度算法及线程优先级的控制权在操作系统内核。混合型线程的控制权则在用户和操作系统内核二者。

线程与进程的主要区别有:

(1)进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存空间、外部设备等;线程只是处理机调度的基本单位,它只和其他线程一起共享进程资源,但自己没有任何资源。

(2)以进程为单位进行处理机切换和调度时,由于涉及到资源转移以及现场保护等问题,将导致处理机切换时间变长,资源利用率降低。以线程为单位进行处理机切换和调度时,由于不发生资源变化,特别是地址空间的变化,处理机切换的时间较短,从而处理机效率也较高。

(3)对用户来说,多线程可减少用户的等待时间。提高系统的响应速度。例如,当一个进程需要对两个不同的服务器进行远程过程凋用时,对于无线程系统的操作系统来说需要顺序等待两个不同调用返回结果后才能继续执行,且在等待中容易发生进程调度。对于多线程系统而言,则可以在同一进程中使用不同的线程同时进行远程过程调用,从而缩短进程的等待时间。

(4)线程和进程一样,都有自己的状态.也有相应的同步机制,不过,由于线程没有单独的数据和程序空间,因此,线程不能像进程的数据与程序那样,交换到外存存储空间。从而线程没有挂起状态。

(5)进程的调度、同步等控制大多由操作系统内核完成,而线程的控制既可以由操作系统内核进行,也可以由用户控制进行。思考题:读者与写者关系问题(读者优先)。

答:设写者互斥信号量wm=1;读者计数器readcount=0;互斥操作readcount的信号量rm=1;reader()begin P(rm)Readcount:=readcount+1 If readcount==1 then P(wm)V(rm)读数据 P(rm)Readcount:=readcount-1 If readcount==0 then V(wm)V(rm)end writer()begin P(wm)写数据 V(wm)end 第四章

1.什么是分级调度?分时系统中有作业调度的概念吗?如果没有,为什么? P86 答:处理机调度问题实际上也是处理机的分配问题。显然只有那些参与竞争处理及所必需的资源都已得到满足的进程才能享有竞争处理机的资格。这时它们处于内存就绪状态。这些必需的资源包括内存、外设及有关数据结构等。从而,在进程有资格竞争处理机之前,作业调度程序必须先调用存储管理、外设管理程序,并按一定的选择顺序和策略从输入井中选择出几个处于后备状态的作业,为它们分配资源和创建进程,使它们获得竞争处理机的资格。

另外,由于处于执行状态下的作业一般包括多个进程,而在单机系统中,每一时刻只能有一个进程占有处理机,这样,在外存中,除了处于后备状态的作业外,还存在处于就绪状态而等待得到内存的作业。我们需要有一定的方法和策略为这部分作业分配空间。因此处理机调度需要分级。

一般来说,处理机调度可分为4级:

(1)作业调度: 又称宏观调度,或高级调度。

(2)交换调度:又称中级调度。其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或等待状态的进程调入内存,或处于内存就绪状态或等待状态的进程交换到外存交换区。交换调度主要涉及到内存管理与扩充。

(3)进程调度:又称微观调度或低级调度。其主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。在确立了占用处理机的进程之后,系统必须进行进程上下文切换以建立与占用处理机进程相适应的执行环境。

(4)线程调度:进程中相关堆栈和控制表等的调度。

2.试述作业调度的主要功能。P88 答: 作业调度的主要功能是:(1)记录系统中各作业的状况。

(2)按一定的原则对外存输入井上的大量后备作业进行选择。

(3)给选出的作业分配内存、输入输出设备等必要的资源,并建立相应进程,使该作业的相关进程获得竞争处理机的权利。

(4)当作业执行完毕时,还负责回收系统资源。

3.作业调度的性能评价标准有哪些?这些性能评价标准在任何情况下都能反映调度策略的优劣吗? 答:调度的性能评价标准:

(1)对所有作业应该是公平合理的;(2)应使设备有高的利用率;(3)每天执行尽可能多的作业;(4)有快的响应时间。

不能。对于批处理系统,由于主要用于计算,因而对于作业的周转时间要求较高。从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统来说,平均响应时间又被用来衡量调度策略的优劣。对于分时系统,除了要保证系统吞吐量大、资源利用率高之外,还应保证用户能够容忍的响应时间。因此,在分时系统中,仅仅用周转时间或带权周转时间来衡量调度性能是不够的。

对于实时系统,衡量调度算法优劣的主要标志则是满足用户要求的时限时间。

4.进程调度的功能有哪些? P91 答:进程调度的功能有:

(1)记录和保存系统中所有进程的执行情况;(2)选择占有处理机的进程;(3)进行进程上下文切换。

5.进程调度的时机有哪几种? P92 答:进程调度的时机有:

(1)正在执行的进程执行完毕。这时如果不选择新的就绪进程执行,将浪费处理机资源。

(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。(3)执行中进程调用了P原语操作,从而因资源不足而被阻塞:或调用了V原语操作激活了等待资源的进程队列。

(4)执行中进程提出I/O请求后被阻塞。(5)在分时系统中时间片已经用完。

(6)在执行完系统调用等系统程序后返回用户程序时,可看做系统进程执行完毕,从而调度选择一新的用户进程执行。

(7)在CPU执行方式是可剥夺时,还有:就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进 程调度。

6.假设有4道作业,它们的提交时间及执行时间由下表给出:

作业号

提交时刻(时)执行时间(小时)1 10:00 2 2 10:20 1 3 10:40 0.5 4 10:50 0.3 计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。

答:(1)先来先服务调度: 调度顺序: 1、2、3、4 1 Ts1:10:00 Te1:12:00 Tr1:2 Tw1: 0 2 Ts2:10:20 Te2:13:00 Tr2:1 Tw2: 1.7 3 Ts3:10:40 Te3:13:30 Tr3: 0.5 Tw3:2.3 4 Ts4:10:50 Te4:13:50 Tr4: 0.3 Tw4:2.7

T=0.25*(2+2.7+2.8+3)=2.625(h)W=0.25*(4+0+1.7/1+2.3/0.5+2.7/0.3)=4.825

(2)最短作业优先调度: 调度顺序: 4、3、2、1 1 Ts4: 10:50 Te4:11:10 Tr4:0.3 Tw4:0 2 Ts3:10:40 Te3:11:40 Tr3: 0.5 Tw3:0.5 3 Ts2;10:20 Te2:12:40 Tr2: 1 Tw2: 1.3 4 Ts1:10:00 Te1: 14:40 Tr1:2 Tw1:2.7 T:0.25*(0.3+1+2.3+4.7)= 2.075(h)W: 0.25*(4+0+1+1.3+2.7/2)=1.9125 以上是4个作业提交完后的调度情况(提交过程中运行其它作业)。如果边提交边调度,又如何? 第五章

1.存储管理的主要功能是什么? P109 5.1节

答:存储管理的主要功能包括以下几点:

(1)在硬件的支持下完成统一管理内存和外存之间数据和程序段自动交换的虚拟存储。

(2)将多个虚存的一维线性空间或多维线性空间变换到内存的唯一的一维物理线性地址。

(3)控制内外存之间的数据传输。(4)实现内存的分配和回收。

(5)实现内存信息的共享与保护。

2. 什么是虚拟存储器?其特点是什么? P110 答:由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。虚拟存储器不考虑物理存储器的大小和信息存放的实际位置,只规定每个进程中相互关联信息的相对位置。每个进程都拥有自己的虚拟存储器,且虚拟存储器的容量是由计算机的地址结构和寻址方式来确定。

实现虚拟存储器要求有相应的地址变换机构,以便把指令的虚拟地址变换为实际物理地址;另外,由于内存空间较小,进程只有部分内容存放于内存中,待执行时根据需要再调入内存。

3.实现地址重定位的方法有哪几类? P111 答:实现地址重定位的方法有两种:静态地址重定位和动态地址重定位。

(1)静态地址重定位是在虚空间程序执行之前由装配程序完成地址映射工作。静态重定位的优点是不需要硬件支持,但是用静态地址重定位方法进行地址变换无法实现虚拟存储器。静 态重定位的另一个缺点是必须占用连续的内存空间和难以做到程序和数据的共享。

(2)动态地址重定位是在程序执行过程中,在CPU访问内存之前由硬件地址变换机构将要访问的程序或数据地址转换成内存地址。动态地址重定位的主要优点有:

① 可以对内存进行非连续分配。

② 动态重定位提供了实现虚拟存储器的基础。③ 动态重定位有利于程序段的共享。

4.常用的内存信息保护方法有哪几种?它们各自的特点是什么? P113 答:常用的内存保护方法有硬件法、软件法和软硬件结合保护法三种。上下界保护法是一种常用的硬件保护法。上下界存储保护技术要求为每个进程设置对上下界寄存器。上下界寄存器中装有被保护程序和数据段的起始地址和终止地址。在程序执行过程 中,在对内存进行访问操作时首先进行访问地址合法性检查,即检查经过重定位之后的内存地址是否在上、下界寄存器所规定的范围之内。若在规定的范围之内,则访问是合法的;否则是非法的,并产生访问越界中断。

保护键法也是一种常用的软件存储保护法。保护键法为每—个被保护存储块分配一个单独的保护键。在程序状态字中则设置相应的保护键开关字段,对不同的进程赋予不同的开关代码 以和被保护的存储块中的保护键匹配。保护键可以设置成对读写同时保护的或只对读写进行单项保护的。如果开关字段与保护键匹配或存储块未受到保护,则访问该存储块是允许的,否则将产生访问出错中断。

另外一种常用的硬软件内存保护方式是:界限存储器与CPU的用户态,核心态相结合的保护方式。在这种保护方式下,用户态进程只能访问那些在界限寄存器所规定范围内的内存部分,而核心态进程则可以访问整个内存地址空间。

6.动态分区式管理的常用内存分配算法有哪几种?比较它们各自的优缺点。P118 答:动态分区式管理的常用内存分配算法有最先适应法(FF)、最佳适应法(BF)和最坏适应法(WF)。

优缺点比较:

① 从搜索速度上看最先适应法最佳,最佳适应法和最坏适应法都要求把不同大小的空闲区按大小进行排队。

② 从回收过程来看,最先适应法也是最佳,因为最佳适应法和最坏适应法都必须重新调整空闲区的位置。

③ 最佳适应法找到的空闲区是最佳的,但是会造成内存碎片较多,影响了内存利用率,而最坏适应法的内存碎片最少,但是对内存的请求较多的进程有可能分配失败。

总之,三种算法各有所长,针对不同的请求队列,它们的效率和功能是不一样的。

8.简述什么是覆盖?什么是交换?覆盖和交换的区别是什么? P121 答:将程序划分为若干个功能上相对独立的程序段,按照程序的逻辑结构让那些不会同时执行的程序段共享同一块内存区的内存扩充技术就是覆盖。交换是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术。与覆盖技术相比,交换不要求程序员给出程序段之间的覆盖结构,而且,交换主要是在进程或作业之间进行,而覆盖则主要在同一个作业或同一个进程内进行。另外,覆盖只能覆盖那些与覆盖程序段无关的程序段。

9.什么是页式管理?静态页式管理可以实现虚存吗? P123 答:页式管理就是把各进程的虚拟空间划分为若干长度相等的页,把指令按页面大小划分后存放在内存中执行或只在内存中存放那些经常被执行或即将被执行的页,而那些不被经常执行以及在近期内不可能被执行的页则存放于外存中,按一定规则调入的一种内存管理方式。静态页式管理不能实现虚存,这是因为静态页式管理要求进程或作业在执行前全部被装入内存,作业或进程的大小仍受内存可用页面数的限制。

10.什么是请求页式管理? P127 答:请求页式管理是动态页式内存管理的一种,它在作业或进程开始执行之前,不把作业或进程的程序段和数据段一次性的全部装入内存,而只装入被认为是经常反复执行和调用的工作区部分。其他部分则在执行过程中动态装入。

请求页式管理的调入方式是,当需要执行某条指令而又发现它不在内存时,或当执行某条指令需要访问其他数据或指令时,而这些指令和数据又不在内存中,从而发生缺页中断,系统将外存中相应的页调入内存。

11.请求页式管理中有哪几种常用的页面置换算法?试比较它们的优缺点。P129 答:比较常用的页面置换算法有:

(1)随机淘汰算法(randomglongram)。即随机地选择某个用户页面并将其换出。

(2)轮转法RR(roundrobin)。轮转法循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已经换进内存很长时间。

(3)先进先出法FIFO(firstinfirstout)。FIFO算法选择在内存驻留时间最长的一页将其淘汰。

(4)最近最久未使用页面置换算法LRU(1east recently unused)。该算法的基本思想是:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页面先淘汰。

该算法很难实现,比较常用的近似算法:最不经常使用页面淘汰算法LFU、最近没有使用页面淘汰算法NUR。

(5)理想型淘汰算法OPT(optimalreplacementalgorithm)。该算法淘汰在访问串中将来再也不出现的或是在离当前最远的位置上出现的页面。

12.什么是Belady现象?找出一个Belady现象的例子。P131 答:使用FIFO算法时,在未给进程或作业分配足它所要求的页面数时,有时会出现分配的页面数增多,缺页次数反而增加的奇怪现象。这种现象称为Belady现象。

假设进程P共有5个页,访问顺序是:1,2,3,4,1,2,5,1,2,3,4,5的缺页情况。

分配3个页面,缺页9次:缺页率9/12=75%

分配4个页面,缺页10次:缺页率10/12=83.3%

此例就出现分配的页面数增多,缺页次数反而增加的奇怪现象,即Belady现象。

14.什么是段式管理?它与页式管理有何区别? P133 答:段式管理就是将程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。段式管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。同页式管理时一样,段式管理也采用只把那些经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放入外存,待需要时自动调入相关段的方法实现二维虚拟存储器。

段式管理和页式管理的主要区别有:

(1)页式管理中源程序进行编译链接时是将主程序、子程序、数据区等按照线性空间的一维地址顺序排列起来。段式管理则是将程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。

(2)同动态页式管理一样,段式管理也提供了内外存统一管理的虚存实现。与页式管理不同的是:段式虚存每次交换的是一段有意义的信息,而不是像页式虚存管理那样只交换固定大小的页,从而需要多次的缺页中断才能把所需信息完整地调入内存。

(3)在段式管理中,段长可根据需要动态增长。这对那些需要不断增加或改变新数据或子程序的段来说,将是非常有好处的。

(4)段式管理便于对具有完整逻辑功能的信息段进行共享。

(5)段式管理便于进行动态链接,而页式管理进行动态链接的过程非常复杂。

15.段式管理可以实现虚存吗?如果可以,简述实现方法。P133 答:段式管理可以实现虚存。

段式管理把程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用户作业或进程所包含的段对应于一个二维线性虚拟空间(段号s与段内相对地址w),也就是一个二维虚拟存储器。段式管理以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。只把那些经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放入外存,待需要时产生缺段中断,自动调入。

16.为什么要提出段页式管理?它与段式管理及页式管理有何区别? P138 答:因为段式管理和页式管理各有所长。段式管理为用户提供了一个二维的虚拟地址空间,反映了程序的逻辑结构,有利于段的动态增长以及共享和内存保护等,这极大地方便了用户。而分页系统则有效地克服了碎片,提高了存储器的利用效率。从存储管理的目的来讲,主要是方便用户的程序设计和提高内存的利用率。所以人们提出了将段式管理和页式管理结合起来让其互相取长补短的段页式管理。段页式管理与段式和页式管理相比,其访问时间较长。因此,执行效率低。

17.为什么说段页式管理时的虚拟地址仍是二维的? 答:因为在段页式内存管理中,对每一段内的地址空间进行分页式管理只是为了克服在内存分配过程中产生的大量碎片,从而提高存储器的利用效率,它并没有改变段内地址空间的一维结构,所以段页式内存管理中的虚拟地址仍然和段式内存管理中的虚拟地址一样,是二维结构的。

18.段页式管理的主要缺点是什么?有什么改进办法? 答:段页式管理的主要缺点是对内存中指令或数据进行存取时,至少需要对内存进行三次以上的访问。第一次是由段表地址寄存器取段表始址后访问段表,由此取出对应段的页表在内存中的地址。第二次则是访问页表得到所要访问的指令或数据的物理地址。只有在访问了段表和页表之后,第三次才能访问真正需要访问的物理单元。显然。这将大大降低CPU执行指令的速度。

改进办法是设置快速联想寄存器。在快速联想寄存器中.存放当前最常用的段号s,页号p和对应的内存页面地址与其他控制项。当需要访问内存空间某一单元时,可在通过段表、页表进行内存地址查找的同时,根据快速联想寄存器查找其段号和页号。如果所要访问的段或页的地址在快速联想寄存器中,则系统不再访问内存中的段表、页表而直接把快速联想寄存器中的值与页内相对地址d拼接起来得到内存地址。

19.什么是局部性原理?什么是抖动?你有什么办法减少系统的抖动现象? P140 答:局部性原理是指在几乎所有程序的执行过程中,在一段时间内,CPU总是集中地访问程序中的某一个部分而不是对程序的所有部分具有平均的访问概率。

抖动是指当给进程分配的内存小于所要求的工作区时,由于内存外存之间交换频繁,访问外存的时间和输入输出处理时间大大增加,反而造成CPU因等待数据而空转,使得整个系统性能大大下降。

在物理系统中,为防止抖动的产生,在进行淘汰或替换时,一般总是把缺页进程锁住,不让其换出,从而防止抖动发生。防止抖动发生的另一个办法是设置较大的内存工作区。

第六章

1.简述Linux系统进程的概念? 答:P148 2.Linux进程上下文由哪几部分组成?为什么说核心程序不是进程上下文上午一部分?进程页表也在核心区,它们也不是进程上下文上午一部分吗?

答:进程上下文由task_struct结构、用户栈和核心栈的内容、用户地址空间的征文段、数据段、硬件寄存器的内容以及页表等组成。

核心页表被所有进程共享,所以不是进程上下文的一部分。而进程页表是进程上下文的一部分。

4.Linux的调度策略是什么? 调度时应该封锁中断吗?如果不封锁,会发生什么问题?

答:Linux使用三种调度策略,动态优先数调度SCHED_OTHER,先来先服务调度SCHED_FIFO和轮转法调度SCHED_RR。其中动态优先级调度策略用于普通进程,后两种调度策略用于实时进程。

在调度时应封锁中断,否则在调度过程中由于中断会使进程上下文的切换出现错误。

6. Linux在哪几种情况下发生调度? 答:两种情况:一是进程自动放弃处理机时主动装入调度过程,二是在由核心态转入用户态时,系统设置了高优先级就绪进程的强迫调度标识need_resched时发生调度。

8.什么是软中断? 答:P162 13.Linux存储管理策略中交换和请求调页方式有何区别? 答:P171

第八章

1.什么是文件、文件系统?文件系统有哪些功能? P198 答:在计算机系统中,文件被解释为一组赋名的相关字符流的集合,或者是相关纪录的集合。

文件系统是操作系统中与管理文件有关的软件和数据。

文件系统的功能是为用户建立文件、撤销、读写、修改和复制文件,以及完成对文件的按名存取和进行存取控制。

2、文件一般按什么分类?可以分为哪几类? P199 答:文件一般按性质、用途、组织形式、文件中的信息流向或文件的保护级别等分类。

按性质和用途可分为系统文件、库文件和用户文件。按文件的组织形式可分为普通文件、目录文件和特殊文件。

按文件中的信息流向可分为输入文件、输出文件和输入/输出文件。按文件的保护级别可分为只读文件、读写文件、可执行文件和不保护文件。

3、什么是文件的逻辑结构?什么是纪录?P200 答:文件的逻辑结构就是用户可见的结构,可分为字符流式的 无结构文件和记录式的有结构文件两大类。

记录是一个具有特定意义的信息单位,他由该纪录在文件中的逻辑地址(相对位置)与记录名所对应的一组关键字、属性及其属性值所组成。

7、文件的物理结构有哪几种?为什么说串联文件结构不适于随机存取?P205 答:文件的物理结构是指文件在存储设备上的存取方法。常用的文件的物理结构有连续文件、串联文件和索引文件三种。

串联文件结构用非连续的物理块来存取文件信息。这些非连续的物理块之间没有顺序关系,链接成一个串联队列。搜索时只能按队列中的串联指针顺序搜索,存取方法应该是顺序存取的。否则,为了读取某个信息块而造成的磁头大幅度移动将花去较多的时间。因此,串联文件结构不适于随机存取。

9、常用的文件存储设备的管理方法有哪些?试述主要优缺点。P209 答:文件存储设备的管理实质上是一个空闲块的组织和管理问题。有3种不同的空闲块管理方法,即空闲文件目录、空闲块链和位示图。

空闲文件目录管理方法就是把文件存储设备中的空闲块的块号统一放在一个称为空闲文件目录的物理块中,其中空闲文件目录的每个表项对应一个由多个空闲块构成的空闲区。该方法实现简单,适于连续文件结构的文件存储区的分配与回收。但是由于回收时不进行合并,所以使用该方法容易产生大量的小块空闲区。

空闲块链法把文件存储设备上的所有空闲块链接在一起,从链头分配空闲块,把回收的空闲块插入到链尾。该方法不占用额外的空间,但实现复杂。

位示图法是从内存中划出若干字节,每个比特位对应一个物理块的使用情况。如果该位为0表示对应的块是空闲的,为1表示对应的物理块已分配出去。位示图法在查找空闲块时无需启动外设,但要占用内存空间。

11、什么是文件目录?文件目录中包含哪些信息?P211 答:一个文件的文件名和对该文件实施控制管理的说明信息成为该文件的说明信息,又称为该文件的文件控制块(FCB)。把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合。

文件目录中包含文件名、与文件名相对应的文件内部标识以及文件信息在文件存储设备上的第一个物理块的地址等信息。另外还可能包含关于文件的逻辑结构、物理结构、存取控制信息和管理等信息。

13、文件存取控制方式有哪几种?试比较它们各自的优缺点。P216 答:文件存取控制方式一般有存取控制矩阵、存取控制表、口令和密码术4种方式。存取控制矩阵方式以一个二维矩阵来进行存取控制。而且矩阵的一维是所有的用户。另一维是所有的文件。对应的矩阵元素则是用户对文件的存取控制权。存取控制矩阵的方法在概念上比较简单,但是当用户和文件较多时,存取控制矩阵将变得非常庞大,从而时间和空间的开销都很大。

存取控制表以文件为单位,把用户按某种关系划分为若干组,同时规定每组的存取限制。这样所有用户组对文件权限的集合就形成了该文件的存取控制表。存取控制表方法占用空间较小,搜索效率也较高,但要对用户分组,引入了额外的开销。

口令方式有两种。一种是当用户进入系统时,为建立终端进程时获得系统使用权的口令。另一种方式是,每个用户在创建文件时,为每个创建的文件设置一个口令,且将其置于文件说明中。当任一用户想使用该文件时,都必须首先提供口令。口令方式比较简单,占用的内存单元以及验证口令所费时间都非常少。不过,相对来说,口令方式保密性能比较差。

密码术方式在用户创建源文件并写入存储设备时对文件进行编码加密,在读出文件时对文件进行译码解密。加密方式具有保密性强的优点。但是,由于加密解密工作要耗费大量的处理时间,因此,加密技术是以牺牲系统开销为代价的。

第九章

1.设备管理的目标和功能是什么? 答:设备管理的目标是:

(1)选择和分配输入/输出设备以便进行数据传输操作;(2)控制输入/输出设备和CPU(或内存)之间交换数据;(3)为用户提供一个友好的透明接口;(4)提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作,以使操作系统获得最佳效率。

设备管理的功能是:

(1)提供和进程管理系统的接口;(2)进行设备分配;

(3)实现设备和设备、设备和CPU等之间的并行操作;(4)进行缓冲区管理。

2.数据传送控制方式有哪几种?试比较它们各自的优缺点。

答:数据传送控制方式有程序直接控制方式、中断控制方式、DMA方式和通道方式4种。

程序直接控制方式就是由用户进程来直接控制内存或CPU和外围设备之间的数据传送。它的优点是控制简单,也不需要多少硬件支持。它的缺点是CPU和外围设备只能串行工作;设备之间只能串行工作,无法发现和处理由于设备或其他硬件所产生的错误。

中断控制方式是利用向CPU发送中断的方式控制外围设备和CPU之间的数据传送。它的优点是大大提高了CPU的利用率且能支持多道程序和设备的并行操作。它的缺点是由于数据缓冲寄存器比较小,如果中断次数较多,仍然占用了大量CPU时间;在外围设备较多时,由于中断次数的急剧增加,可能造成CPU无法响应中断而出现中断丢失的现象;如果外围设备速度比较快,可能会出现CPU来不及从数据缓冲寄存器中取走数据而丢失数据的情况。DMA方式是在外围设备和内存之间开辟直接的数据交换通路进行数据传送。它的优点是除了在数据块传送开始时需要CPU的启动指令,在整个数据块传送结束时需要发中断通知CPU进行中断处理之外,不需要CPU的频繁干涉。它的缺点是在外围设备越来越 多的情况下,多个DMA控制器的同时使用,会引起内存地址的冲突并使得控制过程进一步复杂化。

通道方式是使用通道来控制内存或CPU和外围设备之间的数据传送。通道是一个独立与CPU的专管输入/输出控制的机构,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些指令受CPU启动,并在操作结束时向CPU发中断信号。该方式的优点是进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。缺点是增加了额外的硬件,造价昂贵。

3.什么是通道?试画出通道控制方式时的CPU、通道和设备的工作流程图。

答:通道是一个独立与CPU的专管输入/输出控制的机构,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些指令受CPU启动,并在操作结束时向CPU发中断信号。

4.什么是中断?什么叫中断处理?什么叫中断响应? 答: 中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行的过程。

CPU转去执行相应的事件处理程序的过程称为中断处理。CPU收到中断请求后转到相应的事件处理程序称为中断响应。

5.什么叫关中断?什么叫开中断?什么叫中断屏蔽? 答:把CPU内部的处理机状态字PSW的中断允许位清除从而不允许CPU响应中断叫做关中断。设置CPU内部的处理机状态字PSW的中断允许位从而允许CPU响应中断叫做开中断。

中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。

6.什么是陷阱?什么是软中断?试述中断、陷阱和软中断之间异同。

答:陷阱指处理机和内存内部产生的中断,它包括程序运算引起的各种错误,如地址非法、校验错、页面失效。存取访问控制错、从用户态到核心态的切换等都是陷阱的例子。软中断是通信进程之间用来模拟硬中断的一种信号通信方式。

8.什么是缓冲?为什么要引入缓冲?

答:缓冲即是使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入输出数据的器件。

引入缓冲是为了匹配外设和CPU之间的处理速度,减少中断次数和CPU的中断处理时间,同时解决DMA或通道方式时的数据传输瓶颈问题。

13.什么是I/O控制?它的主要任务是什么? 答:I/O控制是指从用户进程的输入输出请求开始,给用户进程分配设备和启动有关设备进行I/O操作,并在I/O操作完成之后响应中断,直至善后处理为止的整个系统控制过程。

15.设备驱动程序是什么?为什么要有设备驱动程序?用户进程怎样使用驱动程序? 答:设备驱动程序是驱动外部物理设备和相应DMA控制器或I/O控制器等器件,使之可以直接和内存进行I/O操作的子程序的集合。它们负责设置相应设备有关寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等。

设备驱动程序屏蔽了直接对硬件操作的细节,为编程者提供操纵设备的友好接口。

用户进程通过调用设备驱动程序提供的接口来使用设备驱动程序。

第二篇:计算机操作系统 课后习题答案 张尧学

第一章 绪论

1.什么是操作系统的基本功能?

答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算

机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括:

处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。

2.什么是批处理、分时和实时系统?各有什么特征?

答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。

分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。

实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。

3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?

答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上 不一定要求多重处理系统的支持。

6.设计计算机操作系统时与那些硬件器件有关

运算器、控制器、存储器、输入设备、输出设备

第二章 作业管理和用户接口

2. 作业由哪几部分组成?各有什么功能?

答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。

3.作业的输入方式有哪几种?各有何特点

答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING

(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:

(1)联机输入方式:用户和系统通过交互式会话来输入作业。

(2)脱机输入方式:又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理,存储在后备存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。

(3)直接耦合方式:把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预宋传递后援存储器的过程。

(4)SPOOLING系统:可译为外围设备同时联机操作。在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。

(5)网络输入方式:网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式。4.试述spooling系统的工作原理

6.操作系统为用户提供哪些接口?它们的区别是什么?

答:操作系统为用户提供两个接口,一个是系统为用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。另一个接口是系统调用,编程人员使用系统调用来请求操作系统提供服务,例如申请和释放外设等类资源、控制程序的执行速度等。

8.什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么区别?

答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能 来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。它 与一般用户程序、库函数和实用程序的区别是:系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。

9.简述系统调用的实现过程。

答;用户在程序中使用系统调用,给出系统凋用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。

第三章 用户管理和配置管理

2.试比较进程和程序的区别。

答:(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。

(2)进程具有并行特征(独立性,异步性),程序则没有。

(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。

4.试比较作业和进程的区别。

答:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用于需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交,作业收容、作业执行和作业完成4个阶段。而进程是已提交完毕的程序所执行过程的描述,足资源分配的基本单位。其主要区别关 系如下:

(1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将存储在外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。

(2)一个作业可由多个进程组成。且必须至少由一个进程组成,但反过来不成立。

(3)作业的概念主要用在批处理系统中。像Unix这样的分时系统中,则没有作业概念。而进程的概念则用在几乎所有的多道程序系统中。

6.什么是临界区?试举一临界区的例子。

答:临界区是指不允许多个并发进程交叉执行的一段程序。它是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的。所以它又被称为访问公用数据的那段程序。

例如:

getspace:

Begin local g

top=top-1

End

release(ad):

Begin

top’top十1

stack[top]=ad

End

8.什么是进程间的互斥?什么是进程间同步? 3

答:进程间的互斥是指:一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以上的共享该资源的并发进程同时进入临界区。

进程间的同步是指:异步环境下的一组并发进程因直接制约互相发送消息而进行互相合作、互相等待,各进程按一定的速度执行的过程。

15.什么是线程?试述线程与进程的区别,答;线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成。线程可分为用户级线程、核心级线程以及用户/核心混合型线程等类型。其中用户级线程在用户态下执行,CPU调度算法和各线程优先级都由用户设置,与操作系统内核无关。核心级线程的调度算法及线程优先级的控制权在操作系统内核。混合型线程的控制权则在用户和操作系统内核二者。线程与进程的主要区别有:

(1)进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存空间、外部设备等;线程只是处理机调度的基本单位,它只和其他线程一起共享进程资源,但自己没有任何资源。

(2)以进程为单位进行处理机切换和调度时,由于涉及到资源转移以及现场保护等问题,将导致处理机切换时间变长,资源利用率降低。以线程为单位进行处理机切换和调度时,由于不发生资源变化,特别是地址空间的变化,处理机切换的时间较短,从而处理机效率也较高。

(3)对用户来说,多线程可减少用户的等待时间。提高系统的响应速度。例如,当一个进程需要对两个不同的服务器进行远程过程凋用时,对于无线程系统的操作系统来说需要顺序等待两个不同调用返回结果后才能继续执行,且在等待中容易发生进程调度。对于多线程系统而言,则可以在同一进程中使用不同的线程同时进行远程过程调用,从而缩短进程的等待时间。

(4)线程和进程一样,都有自己的状态.也有相应的同步机制,不过,由于线程没有单独的数据和程序空间,因此,线程不能像进程的数据与程序那样,交换到外存存储空间。从而线程没有挂起状态。

(5)进程的调度、同步等控制大多由操作系统内核完成,而线程的控制既可以由操作系统内核进行,也可以由用户控制进行。第四章 进程管理

2.试述作业调度的主要功能。

答: 作业调度的主要功能是:按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应进程,使该作业的相关进程获得竞争处理机的权利。另外,当作业执行完

毕时,还负责回收系统资源。3.作业调度的性能评价标准有哪些?这些性能评价标准在任何情况下都能反映调度策略的优劣吗? 答:对于批处理系统,由于主要用于计算,因而对于作业的周转时间要求较高。从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统来说,平均响应时间又被用来衡量调度策略的优劣。对于分时系统,除了要保证系统吞吐量大、资源利用率高之外,还应保证用户能够容忍的响应时间。因此,在分时系统中,仅仅用周转时间或带权周转时间来衡量调度性能是不够的。对于实时系统,衡量调度算法优劣的主要标志则是满足用户要求的时限时间。

4.进程调度的功能有哪些?

答:进程调度的功能有:

(1)记录和保存系统中所有进程的执行情况;

(2)选择占有处理机的进程;

(3)进行进程上下文切换。5.进程调度的时机有哪几种?

答:进程调度的时机有:

(1)正在执行的进程执行完毕。这时如果不选择新的就绪进程执行,将浪费处理机资源。

(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。

(3)执行中进程调用了P原语操作,从而因资源不足而被阻塞:或调用了V原语操作激活了等待资源的进程队列。

(4)执行中进程提出I/O请求后被阻塞。

(5)在分时系统中时间片已经用完。

(6)在执行完系统调用等系统程序后返回用户程序时,可看做系统进程执行完毕,从而调度选择一新的用户进程执行。

(7)在CPU执行方式是可剥夺时,还有:就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进 程调度。

6.进程上下文切换由哪几部分组成?描述进程上下文切换过程。

答:进程上下文切换由以下4个步骤组成;

(1)决定是否作上下文切换以及是否允许作上下文切换。包括对进程调度原因的检查分析,以及当前执行进程的资格和CPU执行方式的检查等。在操作系统中,上下文切换程序并不是每时每刻都在检查和分析是否可作上下文切换,它们设置有适当的时机。

(2)保存当前执行进程的上下文。这里所说的当前执行进程,实际上是指调用上下文切换程序之前的执行进程。如果上下文切换不是被那个当前执行进程所调用,且不属于该进程,则所保存的上下文应是先前执行进程的上下文,或称为“老”进程上下文。显然,上下文切换程序不能破坏“老”进程的上下文结构。(3)使用进程调度算法,选择一处于就绪状态的进程。

(4)恢复或装配所选进程的上下文,将CPU控制权交到所选进程手中。

第五章 处理器管理

2.什么是虚拟存储器?其特点是什么? 答:由进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。虚拟存储器不考虑物理存储器的大小和信息存放的实际位置,只规定每个进程中相互关联信息的相对位置。每个进程都拥有自己的虚拟存储器,且虚拟存储

器的容量是由计算机的地址结构和寻址方式来确定。实现虚拟存储器要求有相应的地址转换机构,以便把指令的虚拟地址变换为实际物理地址;另外,由于内存空间较小,进程只有部分内容存放于内存中,待执行时根据需要再调指令入内存。3.实现地址重定位的方法有哪几类?

答:实现地址重定位的方法有两种:静态地址重定位和动态地址重定位。

(1)静态地址重定位是在虚空间程序执行之前由装配程序完成地址映射工作。静态重定位的优点是不需要硬件支持,但是用静态地址重定位方法进行地址变换无法实现虚拟存储器。静态重定位的另一个缺点是必须占用连续的内存空间和难以做到程序和数据的共享。

(2)动态地址重定位是在程序执行过程中,在CPU访问内存之前由硬件地址变换机构将要访问的程序或数据地址转换成内存地址。动态地址重定位的主要优点有:

①可以对内存进行非连续分配。

②动态重定位提供了实现虚拟存储器的基础。

③动态重定位有利于程序段的共享。

形式化描述:略。

6.动态分区式管理的常用内存分配算法有哪几种?比较它们各自的优缺点。

答:动态分区式管理的常用内存分配算法有最先适应法(FF)、最佳适应法(BF)和最坏适应法(WF)。

优缺点比较:

①从搜索速度上看最先适应法最佳,最佳适应法和最坏适应法都要求把不同大小的空闲区按大小进行排队。

②从回收过程来看,最先适应法也是最佳,因为最佳适应法和最坏适应法都必须重新调整空闲区的位置。

③最佳适应法找到的空闲区是最佳的,但是会造成内存碎片较多,影响了内存利用率,而最坏适应法的内存碎片最少,但是对内存的请求较多的进程有可能分配失败。

总之,三种算法各有所长,针对不同的请求队列,它们的效率和功能是不一样的7.5.3节讨论的分区式管理可以实现虚存吗?如果不能,需要怎样修改?试设计一个分区式管理实现虚存的程序流程图。如果能,试说明理由。

答:5.3节讨论的分区式管理不能实现虚存。如果要实现虚存,可以在分区的基础之上对每个分区内部进行请求调页式管理。

8.简述什么是覆盖?什么是交换?覆盖和交换的区别是什么? 答:将程序划分为若干个功能上相对独立的程序段,按照程序的逻辑结构让那些不会同时执行的程序段共享同一块内存区的内存扩充技术就是覆盖。交换是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术。与覆盖技术相比,交换不要求程序员给出程序段之间的覆盖结构,而且,交换主要是在进程或作业之间进行,而覆盖则主要在同一个作业或同一个进程内进行。另外,覆盖只能覆盖那 些与覆盖程序段无关的程序段。

9.什么是页式管理?静态页式管理可以实现虚存吗? 答:页式管理就是把各进程的虚拟空间划分为若干长度相等的页面,把指令按页面大小划分后存放在内存中执行或只在内存中存放那些经常被执行或即将被执行的页面,而那些不被经常执行以及在近期内不可能被执行的页面则存放于外存中,按一定规则调入的一种内存管理方式。

静态页式管理不能实现虚存,这是因为静态页式管理要求进程或作业在执行前全部被装入内存,作业或进程的大小仍受内存可用页面数的限制。

11.请求页式管理中有哪几种常用的页面置换算法?试比较它们的优缺点。

答:比较常用的页面置换算法有:

(1)随机淘汰算法(randomglongram)。即随机地选择某个用户页面并将其换出。

(2)轮转法RR(roundrobin)。轮转法循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已经换进内存很长时间。

(3)先进先出法FIFO(firstinfirstout)。FIFO算法选择在内存驻留时间最长的一页将其淘汰。

(4)最近最久未使用页面置换算法I.RU(1east recently unused)。该算法的基本思想是:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页面先淘汰。

(5)理想型淘汰算法OPT(optimalreplacementalgorithm)。该算法淘汰在访问串中将来再也不出现的或是在离当前最远的位置上出现的页面。15.段式管理可以实现虚存吗?如果可以,简述实现方法。

答:段式管理可以实现虚存。

段式管理把程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用户作业或进程所包含的段对应于—个二维线性虚拟空间(段号s与段内相对地址w),也就是一个二维虚拟存储器。段式管理以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。只把那些经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放入外存,待需要时产生缺段中断,自动调入。

18.段页式管理的主要缺点是什么?有什么改进办法? 答:段页式管理的主要缺点是对内存中指令或数据进行存取时,至少需要对内存进行三次以上的访问。第一次是由段表地址寄存器取段表始址后访问段表,由此取出对应段的页表在内存中的地址。第二次则是访问页表得到所要访问的指令或数据的物理地址。只有在访问了段表和页表之后,第三次才能访问真正需要访问的物理单元。显然。这将大大降低CPU执行指令的速度。改进办法是设置快速联想寄存器。在快速联想寄存器中.存放当前最常用的段号s,页号p和对应的内存页面地址与其他控制项。当需要访问内存空间某一单元时,可在通过段表、页表进行内存地址查找的同时,根据快速联想寄存器查找其段号和页号。如果所要访问的段或页的地址在快速联想寄存器中,则系统不再访问内存中的段表、页表而直接把快速联想寄存器中的值与页内相对地址d拼接起来得到内存地址。

19.什么是局部性原理?什么是抖动?你有什么办法减少系统的抖动现象? 答:局部性原理是指在几乎所有程序的执行过程中,在一段时间内,CPU总是集中地访问程序中的某—个部分而不是对程序的所有部分具有平均的访问概率。抖动是指当给进程分配的内存小于所要求的工作区时,由于内存外存之间交换频繁,访问外存的时间和输入输出处理时间大大增加,反而造成CPU因等待数据而空转,使得整个系统性能大大下降。在物理系统中,为防止抖动的产生,在进行淘汰或替换时,—般总是把缺页进程锁住,不让其换出,从而防止抖动发生。防止抖动发生的另一个办法是设置较大的内存工作区。

第八章 文件系统

1.什么是文件、文件系统?文件系统有哪些功能?

答:在计算机系统中,文件被解释为一组赋名的相关字符流的集合,或者是相关记录的集合。

文件系统是操作系统中与管理文件有关的软件和数据。

文件系统的功能是用户建立文件,撤销、读写修改和复制文件,以及完成对文件的按名存取和进行存取控制。

2.文件系统一般按什么分类?可以分为哪几类?

答:文件系统一般按性质、用途、组织形式、文件中的信息流向或文件的保护级别等分类。

按文件的性质与用途可以分为系统文件、库文件和用户文件。按文件的组织形式可以分为普通文件、目录文件和特殊文件。按文件中的信息流向可以分为输入文件、输出文件和输入/输出文件。按文件的保护级别可以分为只读文件、读写文件、可执行文件和不保护文件。3.什么是文件的逻辑结构?什么是记录?

答:文件的逻辑结构就是用户可见的结构,可分为字符流式的无结构文件和记录式的有结构文件两大类。

记录是一个具有特定意义的信息单位,它由该记录在文件中的逻辑地址(相对地址)与记录名所对应的一组关键字、属性及其属性值所组成。

7.文件的物理结构有哪几种?为什么说串联文件结构不适于随机存取?

答:文件的物理结构是指文件在存储设备上的存放方法。常用的文件物理结构有连续文件、串联文件和索引文件3种。串联文件结构用非连续的物理块来存放文件信息,这些非连续的物理块之间没有顺序关系,链接成一个串联队列,搜索时只能按队列中的串联指针顺序搜索,存取方法应该是顺序存取的。否则,为了读取某个信息块而造成的磁头大幅度移动将花去较多的时间。因此,串联文件结构不适于随机存取 11.什么是文件目录?文件目录中包含哪些信息?

答:一个文件的文件名和对该文件实施控制管理的说明信息称为该文件的说明信息,又称为该文件的目录。

文件目录中包含文件名、与文件名相对应的文件内部标识以及文件信息在文件存储设备上第一个物理块的地址等信息。另外还可能包含关于文件逻辑结构、物理结构、存取控制和管理等信息。第九章 外部设备管理

1.设备管理的目标和功能是什么? 答:设备管理的目标是:选择和分配输入/输出设备以便进行数据传输操作;控制输入/输出设备和CPU(或内存)之间交换数据,为用户提供一个友好的透明接口,提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作,以使操作系统获得最佳效率。设备管理的功能是:提供和进程管理系统的接口;进行设备分配;实现设备和设备、设备和CPU等之间的并行操作;进行缓冲区管理。

4. 什么是中断?什么叫中断处理?什么叫中断响应?

答: 中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理 完毕后又返回原来被中断处继续执行的过程。CPU转去执行相应的事件处理程序的过程称为中断处理。CPU收到中断请求后转到相应的事件处理程序称为中断响 应。

5.什么叫关中断?什么叫开中断?什么叫中断屏蔽?

答:把CPU内部的处理机状态字PSW的中断允许位清除从而不允许CPU响应中断叫做关中断。设置CPU内部的处理机状态字PSW的中断允许位从而允许CPU响应中断叫做开中断。

中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。

6.什么是陷阱?什么是软中断?试述中断、陷阱和软中断之间异同。

答:陷阱指处理机和内存内部产生的中断,它包括程序运算引起的各种错误,如地址非法、校验错、页面失效。存取访问控制错、从用户态到核心态的切换等都是陷阱的例子。软中断是通信进程之间用来模拟硬中断的一种信号通信方式。

7.描述中断控制方式时的CPU动作过程。答:(1)首先,CPU检查响应中断的条件是否满足。如果中断响应条件不满足,则中断处理无法进行。

(2)如果CPU响应中断,则CPU关中断。(3)保存被中断进程现场。(4)分析中断原因,调用中断处理子程序。(5)执行中断处理子程序。(6)退出中断,恢复被中断进程的现场或调度新进程占据处理机。(7)开中断,CPU继续执行。8.什么是缓冲?为什么要引入缓冲? 答:缓冲即是使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入输出数据的器件。引入缓冲是为了匹配外设和CPU之间的处理速度,减少中断次数和CPU的中断处理时间,同时解决DMA或通道方式时的数据传输瓶颈问题。

第三篇:张尧学-操作系统课后题答案

第一章 绪论

1.什么是操作系统的基本功能?

答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算

机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括:

处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。

2.什么是批处理、分时和实时系统?各有什么特征?

答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。

分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。其主要特征是:交互性、多用户同时性、独立性。

实时系统(realtimesystem):在被控对象允许时间范围内作出响应。其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。

3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?

答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上 不一定要求多重处理系统的支持。

6。设计计算机操作系统时与那些硬件器件有关

运算器、控制器、存储器、输入设备、输出设备

第二章 作业管理和用户接口

2. 作业由哪几部分组成?各有什么功能?

答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。

3.作业的输入方式有哪几种?各有何特点

答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING

(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:

(1)联机输入方式:用户和系统通过交互式会话来输入作业。

(2)脱机输入方式:又称预输入方式,利用低档个人计算机作为外围处理机进行输入处理,存储在后备存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。

(3)直接耦合方式:把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预宋传递后援存储器的过程。

(4)SPOOLING系统:可译为外围设备同时联机操作。在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制。

(5)网络输入方式:网络输入方式以上述几种输入方式为基础,当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式。

6.操作系统为用户提供哪些接口?它们的区别是什么?

答:操作系统为用户提供两个接口,一个是系统为用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。另一个接口是系统调用,编程人员使用系统调用来请求操作系统提供服务,例如申请和释放外设等类资源、控制程序的执行速度等。

8.什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么区别?

答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能 来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。它 与一般用户程序、库函数和实用程序的区别是:系统调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。

9.简述系统调用的实现过程。

答;用户在程序中使用系统调用,给出系统凋用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。

第三章 用户管理和配置管理

2.试比较进程和程序的区别。

答:(1)进程是一个动态概念,而程序是一个静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。

(2)进程具有并行特征(独立性,异步性),程序则没有。

(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。

4.试比较作业和进程的区别。

答:一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。作业是用于需要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交,作业收容、作业执行和作业完成4个阶段。而进程是已提交完毕的程序所执行过程的描述,足资源分配的基本单位。其主要区别关 系如下:

(1)作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将存储在外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。

(2)一个作业可由多个进程组成。且必须至少由一个进程组成,但反过来不成立。

(3)作业的概念主要用在批处理系统中。像Unix这样的分时系统中,则没有作业概念。而进程的概念则用在几乎所有的多道程序系统中。

6.什么是临界区?试举一临界区的例子。

答:临界区是指不允许多个并发进程交叉执行的一段程序。它是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的。所以它又被称为访问公用数据的那段程序。

例如:

getspace:

Begin local g

top=top-1

End

release(ad):

Begin

top’top十1

stack[top]=ad

End

8.什么是进程间的互斥?什么是进程间同步?

答:进程间的互斥是指:一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不许交叉执行的单位执行,即不允许两个以上的共享该资源的并发进程同时进入临界区。

进程间的同步是指:异步环境下的一组并发进程因直接制约互相发送消息而进行互相合作、互相等待,各进程按一定的速度执行的过程。

第四章 进程管理

4.进程调度的功能有哪些?

答:进程调度的功能有:

(1)记录和保存系统中所有进程的执行情况;

(2)选择占有处理机的进程;

(3)进行进程上下文切换。

5.进程调度的时机有哪几种?

答:进程调度的时机有:

(1)正在执行的进程执行完毕。这时如果不选择新的就绪进程执行,将浪费处理机资源。

(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。

(3)执行中进程调用了P原语操作,从而因资源不足而被阻塞:或调用了V原语操作激活了等待资源的进程队列。

(4)执行中进程提出I/O请求后被阻塞。

(5)在分时系统中时间片已经用完。

(6)在执行完系统调用等系统程序后返回用户程序时,可看做系统进程执行完毕,从而调度选择一新的用户进程执行。

(7)在CPU执行方式是可剥夺时,还有:就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进 程调度。

第五章 处理器管理

3.实现地址重定位的方法有哪几类?

答:实现地址重定位的方法有两种:静态地址重定位和动态地址重定位。

(1)静态地址重定位是在虚空间程序执行之前由装配程序完成地址映射工作。静态重定位的优点是不需要硬件支持,但是用静态地址重定位方法进行地址变换无法实现虚拟存储器。静态重定位的另一个缺点是必须占用连续的内存空间和难以做到程序和数据的共享。

(2)动态地址重定位是在程序执行过程中,在CPU访问内存之前由硬件地址变换机构将要访问的程序或数据地址转换成内存地址。动态地址重定位的主要优点有:

①可以对内存进行非连续分配。

②动态重定位提供了实现虚拟存储器的基础。

③动态重定位有利于程序段的共享。

形式化描述:略。

6.动态分区式管理的常用内存分配算法有哪几种?比较它们各自的优缺点。

答:动态分区式管理的常用内存分配算法有最先适应法(FF)、最佳适应法(BF)和最坏适应法(WF)。

优缺点比较:

①从搜索速度上看最先适应法最佳,最佳适应法和最坏适应法都要求把不同大小的空闲区按大小进行排队。

②从回收过程来看,最先适应法也是最佳,因为最佳适应法和最坏适应法都必须重新调整空闲区的位置。

③最佳适应法找到的空闲区是最佳的,但是会造成内存碎片较多,影响了内存利用率,而最坏适应法的内存碎片最少,但是对内存的请求较多的进程有可能分配失败。

总之,三种算法各有所长,针对不同的请求队列,它们的效率和功能是不一样的。

8.简述什么是覆盖?什么是交换?覆盖和交换的区别是什么?

答:将程序划分为若干个功能上相对独立的程序段,按照程序的逻辑结构让那些不会同时执行的程序段共享同一块内存区的内存扩充技术就是覆盖。交换是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术。与覆盖技术相比,交换不要求程序员给出程序段之间的覆盖结构,而且,交换主要是在进程或作业之间进行,而覆盖则主要在同一个作业或同一个进程内进行。另外,覆盖只能覆盖那 些与覆盖程序段无关的程序段。

11.请求页式管理中有哪几种常用的页面置换算法?试比较它们的优缺点。

答:比较常用的页面置换算法有:

(1)随机淘汰算法(randomglongram)。即随机地选择某个用户页面并将其换出。

(2)轮转法RR(roundrobin)。轮转法循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已经换进内存很长时间。

(3)先进先出法FIFO(firstinfirstout)。FIFO算法选择在内存驻留时间最长的一页将其淘汰。

(4)最近最久未使用页面置换算法I.RU(1east recently unused)。该算法的基本思想是:当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页面先淘汰。

(5)理想型淘汰算法OPT(optimalreplacementalgorithm)。该算法淘汰在访问串中将来再也不出现的或是在离当前最远的位置上出现的页面。

第九章 外部设备管理

4. 什么是中断?什么叫中断处理?什么叫中断响应?

答: 中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理 完毕后又返回原来被中断处继续执行的过程。CPU转去执行相应的事件处理程序的过程称为中断处理。CPU收到中断请求后转到相应的事件处理程序称为中断响 应。

5.什么叫关中断?什么叫开中断?什么叫中断屏蔽?

答:把CPU内部的处理机状态字PSW的中断允许位清除从而不允许CPU响应中断叫做关中断。设置CPU内部的处理机状态字PSW的中断允许位从而允许CPU响应中断叫做开中断。

中断屏蔽是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。

7.描述中断控制方式时的CPU动作过程。

答:(1)首先,CPU检查响应中断的条件是否满足。如果中断响应条件不满足,则中断处理无法进行。

(2)如果CPU响应中断,则CPU关中断。

(3)保存被中断进程现场。

(4)分析中断原因,调用中断处理子程序。

(5)执行中断处理子程序。

(6)退出中断,恢复被中断进程的现场或调度新进程占据处理机。

(7)开中断,CPU继续执行。

第四篇:【智汇通】张尧学:透明计算云计算操作系统现状

【专家简介】张尧学,1956年1月生,湖南常德澧县人,1982年本科毕业于陕西西北电讯工程学院(现陕西西安电子科技大学),1987年4月加入中国共产党,获日本东北大学博士学位。教授,博士生导师,中南大学校长,中国工程院院士,中国作家协会会员,国务院学位委员会委员。

导读:当前正处在一个信息技术革命的前列,信息技术的发展有几个阶段,一个就是从大型技术,除了微软,另外由多媒机向网络转型,当然英特尔也是跟微软一起,后来又出了Google。现在正处在一个移动互联网还有什么都是计算机,泛在计算等等这么一个大发展的时期。核高基:操作系统发展的两条路线

下面将会是什么样的企业、什么样的技术来引导信息产业甚至其他的多行业发展是一个很有兴趣的事。其中一个背景就是重大专项,核高基是刚开始我没参加也以为是搞原子弹,因为是核,其实是叫核心元器件,高是高端芯片,基是基础软件,被简称为核高基,其实就是操作系统和CPU。中国怎么样发展自己的操作系统和CPU?一个是产业,一个是安全。

那么对于这两个核心的操作系统和CPU的发展,有两条路线,一条路线就是收复失地的战略,就是敌人把我们的城市占领,蒋介石把延安攻下来,我们要通过各种各样的战略战术去收复延安。收复失地战略就是微软的操作系统占领我们市场的百分之多少多少,其他的CPU占领了我们的市场多少多少,我们要去收复他。但是这种战略听起来很不错,但是执行起来非常的艰难,虽然不能说会失败,但是通过多年的艰苦的斗争,大家走到现在很不容易。

另外一条战略就是要在信息产业或者是信息技术的新的发展点上,我们要去做人家没有,我们有的同时又和国际兼容的东西,这就是要中国特色、国际水平。中国特色就是我有的,人家没有的,国际水平就是要跟人家兼容。这样取得在信息产业链上的话语权,人家没有的,你有的你可以跟人家讨论,把你有的给我,我有的给你,就是所谓知识产权的问题。因为所谓你有,就是你有知识产权,人家没有这个知识产权。

这两条路线的斗争是很激烈的,反映在我们的项目上面我们也是两方面都涉及,传统的收复失地我们也继续做。新的机会我们按照国务院领导的指示,也是做下来感觉到有一定的效果,但效果不是十分的明显。我们在互联网的操作系统,在结构化和非结构化持续资源中心,在搜索工具,搜索引擎和搜索浏览器等方面设置了一大批的项目,有的趋势也很不错,但是很多企业趋势还不是太明显。我们怎么样把我们的思路和企业的发展结合得更近一点,这是一个大问题。云计算的特点

云计算大家非常清楚,我想这两年不仅仅是在信息技术产业,在其他的各个行业也是比较热的一个词。什么是云计算呢?当然每个人都有每个人自己的理解,也有比较公共或者是大家认为是差不多的一些想法。我也是选了几个例子,一个比如说Google,他是怎么看待云计算的。08年10月31日有一个全球副总裁讨论过一次关于他们认为什么是云计算的概念?他们说首先是存储和计算分离。清华大学的陈文光(音译)教授认为这个词有所偏差,我觉得这是有所道理的。陈教授举了个例子,说搜索引擎分离,我想是两个概念,一个是逻辑上的分离,一个是罗列上的分离。罗列上的分离包括程序可以放在大的服务器上面,深圳的网络都在做这个事。放在服务器里面以后你可以根据需要去用计算程序对他进行计算,然后给用户提供相应的服务。另外一个就是逻辑的分离,大家可以这样想,我个人认为计算程序在什么位置,要扩展到什么区间,什么程序。但是这个云计算和网络上面的搜索不一样,你的Web可以任意扩展,他跟你的搜索引擎没有关系。他的程序跟你的计算工具和计算本身来讲,他没有在程序上的影响。比如说我扩展一个Web,不用再去扩展搜索引擎,比如说我增加了一些东西,他给程序进行一些电联。对Google来讲,Google的起源有几个很出名的事情,一个就是BigTable,大型数据的结构的布线,然后就是他的MapReduce,一个是Map,一个是Reduce,Map是分布式查找,这是最早的,这是Google最核心的发布的。这几个东西使得他可以在一个时间范围内的网络上进行很快的搜索,把你所要的文章或者是相关的内容按照顺序排列出来。

大家注意看你打开Google的搜索引擎搜出来的时间都是一致的,这点在Google出现之前是不可思议的,他原来构造一个很大型的计算,高性能计算都是大型计算机。他构造一个很大规模的存储中心,在Google出现之前要花很长的时间。在Google出现之后,他可以用很便宜的PC在很短的时间之内构建一个大型机。

当时我听他们讲,当时构建这个通信的时候,他的背板跟我们一样,后来发现换那个板子花的时间很长,工程师就把机器翻过来,工程师跑过去很快,对背板是可插拔的,跑过去很快把板子插进去拔下来。所以说遇到这样的事情,工程师可以很快的跑过去,可以节省时间。

另外微软对云计算的看法是不太一样的,Google从后端服务器去搜索,怎么去找Web,往前走。微软实际上从用户这一端往后端走,所以微软提出来是端云结合,大的网络运营的开发管理平台。但是微软主要强调就是怎么样用微软的操作系统内核的桌面+移动+家电,形成前端的一个网上办公,比如说前端的操作系统是Windows7。

其他的公司特别我就不太讲了,我个人总结一下,云计算在整个环境的变化这么一个条件下产生的一个新的技术概念。环境什么变化呢?整个网络的出现,使得原来资源管理单机变成以网络为主。比如说我们现在任何传统的操作系统都是装在单机上的,而单机的资源管理只是跟存储器、外设,比如说对内存、CPU进行管理。而计算机和计算机之间构建网络靠的是什么?靠的是协议,实际上相对我们人一样,大脑长在每个人头上,大家之间对话是通过中文或者是英文或者是大家相同的文化的一些沟通,这基本上是现在的一个形态。一个单机非常完整,单机网络之间是通过协议来进行沟通,云计算认为这种方式已经落后了,不能解决计算机的网络设备和存在的问题。

另外是我们的计算机的形态正在发生革命性的变化,正如大型机向桌面转移一样,现在正在经历一个从桌面向桌面,再向移动向家电比较3C合一的局面,现在实际上是到了马上就要大面积出现的这么一个时代了。大家看移动,已经是移动互联网了,唯一是家电,家电像三网合一,交互式电视等等也已经出现。

再一个就是原来计算机是以计算为中心的,随着网络的出现和应用的不断变化,现在以数据为中心,甚至有人提出来数据是核心竞争力。其实一个国家的核心竞争力有很多,但是数据是核心竞争力。为什么说数据是核心竞争力?大家想想我们计划经济为什么失败?计划经济失败的主要原因就是数据不够。如果说你能够把各种生产经营管理的数据都能准确实时,需要有一个数据模型分析一下。

现在大家对统计数据为什么老不相信,就是因为数据没有统计准确,如果把每年的数据统计下来,工业发展的数据都在那,那这个世界会完全变化。所以说数据的变化会带来很多生活和工作的变化,有一个计算为中心正在向数据为中心转移。

再有就是大家以前都买软件强调是资源,现在是向服务共享为主。你根本不用去管后面谁给你做计算,怎么样给你做计算,你不要把计算的过程和操作告诉用户,用户只需要服务就行。

从这个角度来看,我们认为是云计算应该是存储和运算分离,另外存储规模海量和分布化的,另外结构是结构化和非结构化的数据存在的,另外现在的Web是结构化的,也有非结构化的。另外还有讲话的声音和图象不经过特定的模式,他可以存储到计算机或者是存储到你的服务器里面去。

有就是运算分布化、并行化,再就是我的前端应该是小型化的,不是你拿到外面去非要那么大的。比如说你身上带MID不要带太大,也不要太多,所以说应该是小型化、跨平台、可移动,再一个就是面向服务。

另外现在的云计算是一个从后端向前端发展的过程。正如刚才前面介绍的Google和微软,还有一个从前端往后端的发展。英特的卢总也会讲到,如果说后端往前端,前端往后端同时配套是平衡发展的过程。

透明计算与云计算的异同

下面介绍一下什么是透明计算?透明计算实际上是我们国家自己提出来的,当然现在也有不少人说了,当时是清华大学1998年,也是刘汝林秘书长的支持,申请了863项目,提出从服务的角度由端向服务器不断发展和演化的概念。它的特点有这么几点,一个是强调存储和运算分离,把存储放在中央服务器上,运算由前端来做。用户只需要对他服务,数据存储在服务器和Web上,运算在前端或者指定地点。

另外一个特点是软件和硬件强调分离,为什么强调软件和硬件分离,我们现在大家知道你要买一个PC机上面基本上装一个操作系统,但是你要用别的系统的软件就很难,或者是根本就没法用。所以我们希望硬件平台能够和软件平台分离,能够装Windows系统 Linux系统,不给用户带来负担。同一个硬件平台,支持不同软件,同一个软件平台,支持不同硬件,这个支持不同的硬件是需要硬件和软件厂商有一个紧密结合。Windows底层在操作系统的接口,你想让他支持不同的硬件的时候,我们希望做同一计算的时候希望在软件和硬件平台上应用系统可以分开。

另外是程序的执行是以流的模式,通过相应的管理和控制,发现哪个CPU是空的,可以流到那去执行,执行完了就扔掉。如果我们汉一个做法,把这个软件放在服务器上,你这个用户买一台机器的时候你要上网,我不让用户知道自动以流的方式送到他那边执行,执行完了用可以直接用,用户知道也不会在意。在你现在上网的时候,他可能会随时监控你,当你退的时候他也就退了。所以最后我们让人家批评了很多,打了很多官司,人家已经做了你还不知道。

我们的贡献是什么?我们做了这么几件事情,第一件事情就是1998年当时的信产部规划司的支持下,在发改委的引导下,主要是做3C合一,做家电的轻量化以及互连服务。另外2001年通过项目不断的往下做,当时好几家有清华大学还有信产部的一些研究组提出了这个存储和运算分离的概念。在前端的单系统上我们把操作系统去掉,所以提出了没有操作系统的计算模式,最后在局域网上得以实现,最后开发终端系统,当时在桌面系统完成。当时电脑上面的桌面计算机可以支持多个操作系统的运行。

那么2004年当时也是得到了微软的帮助,提出了透明计算的概念,主要是进一步完成了跨终端、跨操作系统平台的原则,然后提出了按需服务的概念,同时也逐步推进产业化,从产业化国内的PC公司也开始进展。

2006年网络化的操作系统是什么样的,我们提出了初步的概念。通时开始和英特尔合作,把英特尔做的NEFI,下一代的BIOS引进到我们的透明计算里来。通过从底层开始做网络化的操作系统,同时英特尔也开始研究。

09年我们把原来面向局域网上进行扩,提出面向服务的端到端的体系结构,同时把它从桌面的计算开始向无线和移动互联网方向开始研究,同时在09年上半年到今年下半年在移动互联网上提出一个模型。这是整个一个发展的过程,然后我们可以简单的比较一下这两个计算的区别,实际上国内有学者已经在08年云计算刚刚出来的时候,清华大学陈刚教授就他们写过一篇文章,实际上云计算的概念无非是前端和后端的推进问题,国外很早就提出这个概念,只不过名字不一样。另外Google在08年10月份专门为此做了研讨会,他们来的人职位还挺高,一个是全球副大中华区副总裁,另外一个是李开复,我们三个人各讲了一个小时。

相同之处我个人认为是存储和计算分离的概念,把计算机整个给用户提出服务的角度,从面向网络的计算来进行。另外相同之处是中央管理,我们做过一个实验管理放到用户这 一块,用户就很烦,但是把它放到中央那一端,你只要保证中央的关系,同时做一些改变。再有就是面向服务,我们都是强调给用户提供服务。

结语:不同的地方云计算是从整个互联网从服务器开始,互联网开始往终端、浏览器等等,他现在做交互式家电的网络,我们实际上是走了一个从终端开始,从3C合一从终端开始往前端和后端推进。我们有一个特点,我们的终端是强调一种可管理的一种虚拟的终端,要求你前端是一个新的很小的,不要很多的。

第五篇:计算机操作系统教程_第三版_(张尧学_张高_史美林_著)_清华大学出版社_课后答案

第一章绪论

I.什么是操作系统的幕本功能? 答:操作系统的职能是管理和控制汁算机系统中的所有硬、软们资源,合理地组织计算 机工作流程,并为用户提供一个良好的工作环境和友好的接u.操作系统的基本功能包括: 处理机管理、存储管理、设备管理、信息管理(文们骡统管理)和用户接Ii等.2.什么是批处理、分时和实时系统?各有什么特征? 答:批处理系统(batchprocessingsystem):操作员把用户提交的作收分类.把一批作收编成一 个作业执行序列,由专门编制的监督程序(monitor)自动依次处理.其主要特征是:用户脱机 使用计算机、成批处理、多道程序运行.分时系统(timcsharingopcrationsystcm):把处理机的运行时(fnJ分成很短的时fFIJ片,按I<“t fnJ片轮

转的方式,把处理机分配给各进程使用.其主要特征是:交互性、多用户同时性、独立性。实时系统(rcaltimcsystcm):在被控对象允许时间范围内作出响应.其主要特征是:对实时信 息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。3.多道程序(multiprogramming)和多爪处理(multiprocessing)有何区别? 答:多道程序(multiprogramming)是作收之间自动调度执行、共享系统资源.并不是真正地 同时俏行多个作业:而多熏处W..(multiprocessing)系统配置多个CPU,能真正同时执行多道 程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要 求多重处理系统的支持.第二章作业管理和用户接口

1.什么是作业?.作业步?

答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务的处理的全部工作称为一个作业。作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。如.编辑愉入是一个作业步.它产生源程序文件:编译也是一个作业步.它产生目标代码文件.2.作业山几部分组成?各有什么功能? 荞:作业山三部分组成:程序、数据和作业说明书.程序和数据完成用户所要求的业务处理 工作.作业说明书则体现用户的控制愈图.3.作业的愉入方式有哪JL种?各有何特点

谷:作业的输入方式有5种:联机输入方式、脱机袖入方式、直接棍合方式、SPOOLING(Simultancous Peripheral OperationsOnlinc)系统和网络愉入方式.各有如卜特点:

(1)联机输入方式:用户和系统通过交互式会话来怕入作业.(2)脱机输入方式,又称预输入方式,利用低档个人计甘机作为外幽处理极进行钧入处理,存储在后备存储器I:.然后将此后援存储器连接到高速外围设备1二和上机相连。从而在较短 的时间内完成作业的愉入工作。

(3)直接祸合方式:把上机和外围低档机通过一个公用的人容量外存六接祸合起来,从而省去了在脱机愉入中那种依靠人工干预末传递后援存储雄的过程.(4)SPOOLING系统nl译为外田设备同时联机摊作。在SPOOLING系统中.多台外团设备通好道或DMA 器件和主机与外存连接起来作业的愉入愉出过程由土机中的掩作系统控 翻。

(5)网络怕入方式:网络愉入方式以上述几仲泊入方式为赞拙.当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另台主机上进行摊作成执行时.就构成了网络输入方式。

4.试述SPOOLING系统的_I-作原理。

答:在s阳OLIN6系统巾,多台外围设备通过通逝或DMA器件和主机与外存连接起来,作业的输入输出过程由主机中的操作系统控制.操作系统中的输入程序包一含两个独立的过 程,一个过程负责从外部设备把信息读入缓冲区,另一个过程是写过程,负责把缓冲区中的 信息送入到外存输入井巾。在系统输入模块收到作业输入请求后,输入管理模块中的读过积 负责将信息从愉入装置读入缓冲区。当缓冲V满时,由写过程将信息从缓冲区写到外存输入

井中。读过程和写过程反复循环.直到一个作业愉入完毕。当读过程读到一个硬件结束标志 后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。然后 系统为该作业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调 度程序选中后进入内存。

5.作业说明书和作业控制块有何异同? 答:作业说明书主要包含三方面内容:作业的基本描述、作业控制描述和资源要求描述.作 业基本描述主要包括用户名、作业名、使用的编程语言名、允许的最大处理时间等,而作业 控制描述则大致包括作业在执行过程中的控制方式,例如是脱机控制还是联机控制、各作业 步的操作顺序以及作业不能正常执行时的处理等.资源要求描述包括要求内存大小、外设种类和台数、处理机优先级、所需处理时间、所需库A数或实用程序等.而作业控制块是作业 说明书在系统中生成的一张表格,该表格迁记该作业所要求的资源情况、预计执行时间和执 行优先级等。从而,操作系统通过该表了解到作业要求,并分配资源和控制作业中R序和数 据的编译、链接、装入和执行等.6.操作系统为用户提供哪些接门?它们的区别是什么? 答:操作系统为用户提供两个接l],一个是系统为用户提供的各种命令接口.用户利用这些 操作命令来组织和控制作业的执行或管理计算机系统,另一个接门是系统调用,编程人员使 用系统调用来请求a作系统提供服务。例如申请和释放外设等类资源、控制程序的执行速度 等.。

7.作业控制方式有哪几种?调查你周围的计算机的作业控制方式。

答:作业控制的主要方式有两种:脱机方式和联机方式。

脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明 书。作业控制语言的语句就是作业控制命令。不同的批处理系统提供不同的作业控制语言。联机控制方式不同于脱机控制方式,它不要求用户填写作业说明书,系统只为用户提供一组 键盘或其他操作方式的命令。用户使用操作系统提供的操作命令和系统会话,交互地控制程 序执行和管理计算机系统。

8.什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序又有什么区 别? 答:系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一 级动态请求和释放系统资源,调用系统中己有的系统功能来完成那些与机器硬件部分相关的 工作以及控制程序的执行速度等。因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系 统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序的区别是:系统 调用程序是在核心态执行,调用它们需要一个类似于硬件中断处理的I一卜断处理机制来提供系统服务。

9.简述系统调用的实现过程。

答:用户在程序中使用系统调用,给出系统凋用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并 寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。10.为什么说分时系统没有作业的概念? 答:因为在分时系统中,每个用户得到的时问片有限,用户的程序和数据信息直接输入到内 存工作区中和其他程序一起抢占系统资源投入执行,而不必i 序选择.因此,分时系统没有作业控制表,也没有作业调度 存输入并等待作业调度程 11.试述UNIX的主要特点.答:UNIX的主要特点是:(1)UNIX系统是一个可供多用户同时操作的交互式分时操作系统,(2)为了向用厂’提供交互式功能和使得用)”可以利用UNIX系统的功能,UNIX系统向用户提

供了两种友好的界面或接口:系统调用和命令;(3)UNIX系统具有一个可装卸的分层树型结构文件系统,该文件系统使用方便、搜索简单,(4)UNIX系统把所有外部设备都当成文件,并分别赋予它们对应的文件名。从而,用厂’可以

像使用文件那样使用任一设备而不必了解该设备的内部特性,这既简化了系统设计,又方便 了用)”,(5)UNIX系统核心程序的绝大部分源代码和系统_L的支持软件都用C语言编写。且UNIX 系统是一个开放式系统,即具有统一的用户接口,使得UNIX用户的应用程序可在不同的执 行环境下运行。

正是由于UNIX具有.上述这些特点,使得UNIX系统得到了广泛的应用和发展.12.UNIX操作系统为用户提供哪些接口?试举例说明.答;UNIX系统为用户提供两个接口,即面向操作命令的接口Shell和面向编程用户的接口: 系统调用。常见的Shell命令如:login, logout, vi, ernacs.印,rm, Is, cc,link,adducer,chown, dbx, date等;常见的系统调用如:ioctl, read, write, open, close, crest, excel, flock, stat, mount, fork, wait, exit, socket等.13·在你周围装有UNIX系统的计算机上,练习使用后台命令,管道命令等Shell的基木命 令。吞甘k,二

答:例1:用Shell谱言编制一Shell程序.该程序在用户输入年、月之后,自动打印输出该 年该月的日历: echo”Please input the month:” read month echo'Please input the year:” read year 第三章用户V理和配置份理

1.有A说,一个进程是山伪处理机执行的一个程序,这话对吗?为什么? 答:对。

因为伪处理机的概念只有在执行时刁存在,它表示多个进程在单处理机上并发执行的二个调 度单位。因此,尽V进程是动态概念,是程序的执行过程,但是,在多个进程并行执行时,仍然只有一个进程占据处理机执行,而其他并发进程则处于就绪或等待状态。这些并发进程 就相当干由伪处理机执行的程序。

2.试比较进程和程序的区别。

答:(1)进程是一个动态概念。而程序是一个静态概念.积序是指令的有序集介.无执行含 义.进程则强调执行的过程(2)进程具有并行特征(独立性,异步性).程序则没有.(3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。

3.我们说程序的并发执行将导致最终结果失去封闭性广这话对所有的程序都成立吗?举例说 明.答:并非所有程序均成立。如: Begin local“ Z K::10 print(x)End 上述程序中x是内部变量,不可能被外部程序访问,因此这段程序的运行不会受外部环境影 晌.4.试比较作业和进程的区别。

答:一个进程是一个程序对某个数据集的执行过程,是分配资源的摹本单位。作业是用于需 要计算机完成某项任务,而要求计算机所做工作的集合。一个作业的完成要经过作业提交,作业收容、作业执行和作业完成4个阶段。而进程是己提交完毕的程序所执行过程的描述,足资源分配的4本单位.其主要区别关系如下:(I)作业是用户向计算机提交任务的任务实体.在用户向计算机提交作业之后,系统将存储 在外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体,是向系统申请 分配资源的基本单位。任一进积.只要它被创建,总有相应的部分存在于内存巾(2)一个作业可由多个进程组成.且必须至少由一个进积组成.但反过来不成立.(3)作业的概念主要用在批处理系统中.像Unix这样的分时系统中,则没有作」日 而进

程的概念则用在几乎所有的多道程序系统巾。

5.UNIXSystcm V中.系统程序所对应的正文段未被考虑成进程一上下文的一部分,为什么? 答:因为系统程序的代码被用户程序所共享,因此如果每个进程在保存进程I下文时,都将 系统程序代码放到其进程上下文中.则大大浪费了资源.因此系统程序的代码不放在进程上 下文中,而是统一放在核心程序所处的内存中.6.什么是临界区?试举一临界区的例子.答:临界区是指不允许多个并发进程交叉执行的一段程序。它是由于不同并发进程的程序段 共享公用数据或公用数据变量而引起的.所以它又被称为访问公用数据的那段程序。例如: getspace: Begin local g top=top-I End release(ad): Begin top-top+1 stack[top]=ad End 7.并发进程间的制约有哪两种?引起制约的原因是什么? 答:并发进程所受的制约有两种:直接制约和间接制约。直接制约是由并发进程互相共享对方的私有资源所引起的。

间接制约是由竞争共有资源而引起的。8.什么是进程间的互斥?什么是进程间同步? 答:进程间的互斥是指:一组并发进程中的一个或多个程序段,因共享某一公有资源而导致 它们必须以一个不许交叉执行的单位执行,即不允许两个以_L的共李该资源的并发进程同时

进入临界区。

进程间的同步是指:异jIIJF境下的一组并发进程因直接制约互相发送消息而进行互相合作、互相等待,各进程按一定的速度执行的过程。9.试比较P, V原语法和加锁法实现进程间互斥的区别。

答:互斥的加锁实现是这样的:当某个进程进入临界X之后,它将锁土临界区,直到它退出 临界区时为止。并发进程在申请进入临界区时.首先测试该临界区是否是I几锁的.如果该临 界区已被锁住.则该进V要等到该临界区开锁之后才有可能获得临界区。但是加锁法存在如 下弊端:(1)循环测试锁定位将报耗较多的CPU计算时间:(2)产生不公平现象.为此,P, V原语法采用信号量管理相应临界区的公有资源.信号量的数值仅能由PI V原语操作改变 而P, V原语执行期间不允许中断发生。其过程是这样的:当某个进程正在临界区内执行时.其他进程如果执行了P原语.则该进程并不像lock时那样因进不了临界区而返回到lock的 起点.等以后重新执行测试,而是在等待队列中等待山其他进程做V原语操作释放资源后,进入临界V,这时P原语才算真正结束。若有多个进程做P原语操作而进入等待状态之后 一旦有V原语释放资源,则等待进程中的一个进入临界区,其余的继续等待。

总之,加锁法是采用反堑测试lock而实现互斥的。存在CPU浪费和不公平现像,P.V原 语使用了信号量,克服了加锁法的弊端·r,14.设有5个哲学家.共享一张放有五把椅子的桌子,每人分得一把椅子。

但是.’桌子总共只有5支筷子,在每人两边分开各放一支。哲学家们在肚子饥饿时才试图分两次从两边抬

起筷子就餐。条件:(I)只有拿到两支筷子时,哲学家才能吃饭.(2)如果筷子己在他人手上,则该哲学家必须等待到他人吃完之后才能拿到筷子。(3)任,哲学家在自己未拿到两支筷子吃饭之前,决不放下自己手中的筷子。试

(1)描述一个保证不会出现两个邻座同时要求吃饭的通信算法.(2)描述一个既没有两邻座同时吃饭.又没有人饿死(永远拿不到筷子)的算法.(3)在什么情况下.5个哲学家全部吃不上饭? 解答:(l)、设信号量c[Ol-c[41.初始值均为1.分别表示i号筷子被拿(i=O.I.2.3.4).send(i):第i个哲学家要吃饭 begin P(c[il);P(c[i+l mod 5]): eat;V(cfi+I mod 51);V(c[i]): End;该过程能保证两邻座不同时吃饭.但会出规5个哲学家一人拿一只筷子.谁也吃不.1几饭的死倾

情况。

(2).解决的思路如下:让奇数号的哲学家先取右手边的筷子,让偶数号的哲学家先取左手边 的筷子.这样,任何一个哲学家拿到一只筷子之后,就己经阻止了他邻座的一个哲学家吃饭的

企图,除非某个哲学家一直吃下去,否则不会有人会饿死.send(i):第i个哲学家要吃饭 Begin If i mod 2==0 then ]P(c[i]),P(c[i+1]mod5))eat;V(c[i],c[i+l mod 5])} Else 考

P(c[i+1 mod 5])P(c[i])Eat V(c[i+l mod 5])V(c[iI)} End 15.什么是线程?试述线程与进程的区别,答:线程是在进程内用于调度和占有处理机的笨本单位.它山线程控制表、存储线程上下文 的用户栈以及核心栈组成.线程可分为用户级线程、核心级线程以及用户,/核心混合型线程 等类型。其巾用户级线程在用户态下执行,CPU调度算法和各线程优先级都由用户设置,与操作系统内核无关。核心级线程的调度算法及线程优先级的控制权在操作系统内核。混合 型线程的控制权则在用户和操作系统内核二者。线程与进程的主要区别有:(1)进程是资源管理的基本单位,它拥有自己的地址空间和各种资源,例如内存空间、外部 没备等了线程只是处理机调度的基本单位,它只和其他线程一起共享进程资源,胆自己没有 任何资源。

(2)以进积为单位进行处理机切换和调度时,山于涉及到资源转移以及现场保护等问题,将 导致处理机切换时间变长,资源利用率降低。以线程为单位进行处理机切换和调度时,由于 不发生资源变化,特别是地)II空H7的变化,处理机切换的时间较短,从而处理机效率也较高。

(3)对用户米说,多线程可减少用户的等待时间。提高系统的响应速度。例如,当一个进程 需要对两个不同的服务器进行远程过程调用时,对一无线程系统的操作系统米说AWN序等 待两个不同调用返回结果后才能继续执行,月.在等待巾容易发生进程调度.对于多线程系统 而言,则可以在同一进程中使用不同的线程同时进行远程过程调用,从而缩短进程的等待时 间。

(4)线程和进程一样,都有自己的状态.也有相应的同步机制,不过,由于线程没有单独的 数据和程序空间,因此,线程不能像进程的数据与程序那样.交换到外存存储空间.从而线 程没有挂起状态。

(5)进程的调度、同步等控制大多山操作系统内核完成,而线程的控制既可以Ill操作系 统内核进行,也可以山用户控制进行.第四章进程管理

1什么是分级调度?分时系统中有作业调度的概念吗?如果没有,为什么? 答:处理机调度问趣实际上也是处理机的分配问题。显然只有那些参与竞争处理及所必需的 资源都己得到满足的进程才能享有竞争处理机的资格。这时它们处于内存就绪状态.这些必 需的资源包括内存、外设及有关数据结构等。从而,在进程有资格竞争处理机之前,作业调 1变程序必须先调用存储管理、外设管理程序,并按一定的选择顺序和策略从输入井中选择出

几个处于后备状态的作业.为它们分配资源和创建进程.使它们获得竞争处理机的资格.另 外,由于处于执行状态下的作业一般包括多个进程,而在单机系统中.每一时刻只能有一个 进程占有处理机.这样,在外存中,除了处于后备状态的作业外,还存在处于就绪状态而等 待得到内存的作业。我们需要有一定的方法和策略为这部分作业分配空间。因此处理机调度 需要分级.一般来说.处理机调度可分为4级:(I)作业调度:又称宏观调度,或高级调度。

(2)交换调度:又称中级调度.其主要任务是按照给定的原则和策略,将处于外存交换区中 的就绪态或等待状态或内存等待状态的进程交换到外存交换区。交换调度主要涉及到内存管 理与扩充。因此在有些书本中也把它归入内存管理部分。

(3)进程调度:又称微观调度或低级调度.共主要任务是按照某种策略和方法选取一个处干 就绪状态的进程占用处理机。在确立了占用处理机的进程之后,系统必须进行进程上下文切 换以建立与占用处理机进程相适应的执行环境。(4)线程调度:进积中相关堆找和控制表等的调度.在分时系统中,一般不存在作业调度,而只有线程调度、进程调度和交换调度。这是因为在 分时系统中,为了缩短响应时间,作业不是建立在外存.而是直接建立在内存中.在分时系 统中,一旦用户和系统的交互开始,用户马上要进行控制。因此,分时系鱿g,没有作业提交

状态和后备状态。分时系统的输入信息经过终端缓冲区为系统直接接收,或立即处理,或经 交换调度暂存外存中.2.试述作业调度的主要功能。

答:作业调度的主要功能是:按一定的原则对外存输入井上的大量后备作业进行选择.给选 出的作业分配内存、输入输出设备等必要的资源,并建立相应进程,使该作业的相关进程获 褥竟争处理机的权利。“另外,当作业执行完毕时,还负责回收系统资源.3.作业调度的性能评价标准有哪些?这些性能评价标准在任何悄况下都能反映调度策略的优 劣吗? 答:对于批处理系统.山于主要用于计算,因而对于作业的周转时间要求较高。从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统米说,平均 响应时间又被用来衡量调度策略的优劣.对于分时系统,除了要保证系统吞吐量大、资源 利用率高之外,还应保证用户能够容忍的响应时间.因此,在分时系统中.仅仅用周转时间 或带权周转时间来衡量调度性能是不够的。

对于实时系统,衡量调度算法优劣的主要标志则是满足用户要求的时限时间。4.进积调度的功能有哪些? 答:进程调度的功能有:(1)tid nRR4系统中所有进程的执行情况;(2)选择占有处理机的进程;

(3)进行进程_L下文切换。5.进V调度的时机有哪几种? 答:进程调度的时机有:(1)正在执行的进程执行完毕.这时如果不选择新的就绪进程执行,将浪费处理机资源.(2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态.(3)执行中进程调用了P原语操作.从而因资源不足而被阻塞:或调用了V原语操作激活了 等待资源的进程队列。

(4)执行中进程提出I/O请求后被阻塞.(5)在分时系统中时间片己经用完。

(6)在执行完系统调用等系统程序后返回用户程序时,可看做系统进程执行完毕,从而调度 选择一新的用户进积执行。

(7)在CPU执行方式是可剥夺时,还有:就绪队列巾的某进程的优先级变得高于当前执行进 程的优先级,从而也将引发进程调度.6.进积上下文切换山哪几部分组成?描述进程上下文切换过程。答:进49上下文切换.I{以下4-7步骤组成:(1)决定是否作上下文切换以及是否允许作上下文切换.包括对进程调度原因的检六分析,以及当前执行进程的资格和CPU执行方式的检查等.在操作系统中,上下文切换程序并不 是每时侮刻都在检查和分析是否可作上下文切换,它们设置有适当的时机。

(2)保存当前执行进程的上下文.这里所说的当前执行进程,实际上是指调用一L下文切换程 序之前的执行进程。如果_L下文切换不是被那个当前执行进程所调用.且不属于该进程.则 所保存的上下文应是先前执行进程的上下文.或称为“老”进程上下文。显然.上下文切换程 序不能破坏,.老”进程的_L下文结构。

(3)使用进程调度算法,选择一处于就绪状态的进程。

(4)恢父或装配所选进程的上下文.将CPU控制权交到所选进程手中。

7.为什么说在进程上下文切换过程巾.上下文切换程序不能破坏“老”进程的上下文结构? :因为如果在进程上下文切换中破坏了老的进程上下文,等到CPU调度到该老进程执行,就不能正确地恢复其停止执行前的状态了。

第五章处理器管理

1.存储管理的主要功能是什么? 答:存储管理的主要功能包括以下几点:(1)在硬件的支持下完成统一管理内存和外存之间数据和程序段自动交换的虚拟存储(2)将多个虚存的一维线性空间或多维线性空间变换到内存的唯一的一维物理线性地(3)控制内外存之间的数据传输。(4)实现内存的分配和回收.(5)实现内存信息的共享与保护.2.什么是虚拟存储器?其特点是什么? 答:进程中的目标代码、数据等的虚拟地址组成的虚拟空间称为虚拟存储器。虚拟存储器 不考虑物理存储器的大小和信息存放的实际位置.只规定每个进n中相互关联信息的相对位 置。每个进程都拥有自己的虚拟存储器.且虚拟存储器的容量是山计算机的地址结构和寻址 方式来确定。实现虚拟存储器要求有相应的地址转换机构,以便把指令的虚拟地址变换为实 际物理地址:另外,由于内存空间较小,进程只有部分内容存放于内存中,待执行时根据需 要再调抬令入内存。3.实现地址重定位的方法有哪几类? 答:实现地址重定位的方法有两种:静态地址重定位和动态地址重定位。

(1)静态地址重定位是在虚空间程序执行之前!Li装配程序完成地址映射工作。静态重定位的 优点是不需要硬件支持,但是Q静态地址重定位方法进行地址变换无法实现虚拟存储器。静

态重定位的另一个缺点是必须占用连续的内存空间和难以做到程序和数据的共享。

(2)动态地址重定位是在程序执行过程中,在CPU访问内存之前山硬件地址变换机构将要访 问的程序或数据地址转换成内存地址。动态地址重定位的主要优点有: ①可以对内存进行非连续分配.②动态重定位提供了实现虚拟存储器的基础.③动态重定位有利于程序段的共享。形式化描述:略。

4.常用的内存信怠保护方法有哪几种?它们各自的特点是什么? 答:常用的内存保护方法有硬件法、软件法和软硬件结合保护法三种.上下界保护法是一种常用的硬件保护法。上下界存储保护技术要求为每个进程设置对上下界 寄存器.上下界寄存器巾装有被保护程序和数据段的起始地址和终止地址.在程序执行过积 中,在对内存进行访问操作时首先进行访问地址合法性检介,即检卉经过重定位之后的内存 地址是否在上、下界寄存器所规定的范围之内。若在规定的范围之内,则访问是合法的:否 则是非法的,并产生访问越界中断。

保护键法也是一种常用的软件存储保护法。保护键法为每一个被保护存储块分配一个单独的 保护键.在程序状态字中则设置相应的保护键开关字段.对不同的进程赋予不同的开关代码 以和被保护的存储块中的保护键匹配。保护键可以没臂成对读写同时保护的或只对读写进行 单项保护的。如果开关字段与保护键匹配或存储块未受到保护。则访问该存储块是允许的,否则将产生访问出错中断。

另外一种常用的硬软件内存保护方式是:界限存储器与CPU的用户态,核心态相结合的保 护方式.在这种保护方式下,用户态进程只能访问那些在界限寄存器所规定范困内的内存部 分.而核心态进程则可以访问整个内存地址空间。

5·如果把DOS的执行模式改为保护模式,起码应做怎样的修改?,答:如果要把DOS的执行模式改成保护模式,起码要为每一个进程设置一对上下界寄存器._L下界寄存器中装有被保护程序和数据段的起始地址和终止地址。在程序执行过程中,在对

内存进行访问操作时首先进行访问地址合法性检查.即检查经过重定位之后的内存地址是否 在上、下界寄存器所规定的范围之内。若在规定的范围之内,则访问是合法的;否则是非法 的,并产生访问越界中断。另外,还应该把指令的访问内存模式由访问实际物理地址改为山 逻粗地址变换为物理地址的方式。

6.动态分区式管理的常用内存分配算法有哪几种?比较它们各自的优缺点。

答;动态分区式竹理的常用内存分配算法有最先适应法(FF).最佳适应法((BF)和最坏适应法(wf)。(WF).优缺点比较: ①从搜索速度上看最先适应法最佳,最佳活应法和最坏适应法都要求把不同大小的空闲区按 大小进行排队.②从回收过程来看,最先适应法也是最佳,因为最佳适应法和最坏适应法都必须重新调整空 闲区的位置。③最佳适应法找到的空闲仪是最佳的,但是会造成内存碎片较多,影响了内存利用率,而最 坏适应法的内存碎片最少,但是对内存的请求较多的进程有可能分配失败。总之.三种算法各有所长,针对不同的请求队列,它们的效率和功能是不一样的.7.5.3节讨论的分伏式管理可以实现虚存吗?如果不能,需要怎样修改?试设计一个分区式管 理实现虚存的程序流程图.如果能,试说明理I妇.答:53节讨论的分区式管理不能实现虚存。如果要实现虚存,可以在分区的基础之上对每 个分区内部进行请求调页式管理。

程序流程图:略。

8.简述什么是N盖?什么是交换?攫盖和交换的区别是什么? 答:将程序划分为若干个功能_卜相对独立的程序段,按照程序的逻辫结构让那些不会同时执行的程序段共享同一块内存区的内存扩充技术就是拟盖。交换是折先将内存某部分的程序或 数据写入外存交换区,再从外存交换伙中调入指定的程序或数据到内存中来,并让其执行的 一种内存扩充技术。与蓬盖技术相比,交换不要求程序员给出程序段之间的菠盖结构.而且,交换主要是在进程或作业之间进行.而俊盖则主要在同一个作业或同一个进程内进行。另外 R盖只能投盖那些与理盖程序段无关的程序段。9.什么是页式管理?静态页式管理可以实现虚存吗? 答:页式管J吧妹是把各进程的虚拟空间划分为若干长度相等的页面,把指令按页面大小划分

后存放在内存中执行或只在内存中存放那些经常被执行或即将被执行的页面,而那些不被经 常执行以及在近期内不可能被执行的页面则存放于外存中.按一定规则调入的一种内存管理 方式。

静态页式管理不能实现虚存,这是因为静态页式管理要求进程或作业在执行前全部被装入内 存,作业或进程的大小仍受内存可用页面数的限制.l0.什么是请求页式管理?试设计和描述一个请求页式管理时的内存页面分配和回收算法(包 括缺页处理部分).答:请求页式管理是动态页式内存管理的一种,它在作业或进程开始执行之前,不把作业或 进程的程序段和数据段一次性的全部装入内存,而只装入被认为是经常反复执行和调用的工 作区部分。其他部分则在执行过程巾动态装入。请求页式管理的调入方式足,当需要执行某 条折令而又发现它不在内存时.或当执行某条指令需要访问其他数据或指令时,而这些指令 和数据又不在内存中.从而发生缺页中断,系统将外存中相应的页面调入内存。请求页式种 理的内存页面分配和回收算法: 略。

II请求页式管理中有哪几种常用的页面置换算法?试比较它们的优 答:比较常用的页面置换算法有: 立丁

(1)随机淘汰算法《randomglongram)。即随机地选择某个用户页面并将其换出。(2)轮转法RR(roundrobin).轮转法循同换出内存可用区内一个可以被换出的页.无论该页是 刚被梅讲或己多换讲内存很长时间。

(3)先进先出法FIFO(firstinfirstout), FIFO算法选择在内存驻留时间最长的一页将其淘汰。(4)最近最久未使用页面I换算法1.RU(least recently unused).该算法的推本思想是:当需 要淘汰某一页时,选扦离当前时间最近的一段时间内级久没有使用过的页面先淘汰。(5)RE淘汰算法OPT(optimalrcplaccmcntalgorithm)。该算法淘汰在访(ill串中将来再也不出 现的耀在离当前最远的位置上出现的页面。-14.什么是段式管理?它与页式管理有何区别? 答:段式管理就是将程序按照内容或过程(iii数)关系分成段,每段拥有自己的名字。一个用 户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。段式 管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物 理地址。【司页式管理时—样.段式管理也采用只把那些经常访问的段驻留内存.而把那 些在将来,—段时间内不被访问的段放入外存.待需要时自动调入相关段的方法实现二维 虚拟存储器。段式竹理和页式竹理的主要区别有:(1)页式管理中源程序进行编译链接时是将主程序、子程序、数据伙等按照线性空间的一维 地址顺序排列起来.段式管理则是将程序按照内容或过积(FJ数)关系分成段,每段拥有自己 的名字。一一个用户作业或进程所包含的段对应于一个二:维线性虚拟空间,也就是一个二 维虚拟存储器.(2)同动态页式管理一样,段式管理也提供了内外存统—管理的虚存实现.与页式管理不 同的是:段式虚存每次交换的是一段有惫义的信息,而不是像页式虚存管理那样只交换固定 大小的页,从而需要多次的缺页中断才能把所需信息完整地调入内存.(3)在段式针理中,段长可根据需要动态增长.这对那些需要不断增加或改变新数据或子程 序的段来说,将是非常有好处的.(4)段式管理便于对具有完整逻辑功能的信息段进行共享。

(5)段式管理便于进行动态链接,而页式管理进行动态链接的过程非常k杂。15.段式管理可以实现虚存吗?如央可以.简述实现方法。答:段式怜理可以实现虚存。

段式管理把程序按照内容或过程(函数)关系分成段,每段拥有自己的名字。一个用户作业或 进程所包含的段对应于一个二维线性虚拟空间(段号s与段内相对地址w),也就是一个二维 虚拟存储器。段式管理以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成 实际的内存物理地址。只把那些经常访问的段驻留内存.而把那些在将来一段时间内不被访 问的段放入外存.待需要时产生缺段中断,自动调入.16.为什么要提出段页式管理?它与段式管理及页式管理有何区别? 答:因为段式管理和页式管理各有所长。段式管理为用户提供了一个二维的虚拟地址空间,反映了程序的逻辑结构,有利于段的动态增长以及共享和内存保护等,这极大地方便了用户。而分页系统则Ti效地克服了碎片,提高了存储器的利用效率。从存储管理的日的来讲,主要

是方便用户的程序设计和提高内存的利用率。所以人们提出了将段式管理和页式管理结合起 来让其互相取长补短的段页式管理。段页式管理与段式和页式管理相比,其访问时间较长 因此.执行效率低。

17.为什么说段页式管理时的虚拟地址仍是二维的?.答:因为在段页式内存管理中,对每一一段内的地址空间进行分页式管理只是为了克服在内 存分配过程中产:生的大量碎片,从而提高存储器的利用效率.它并没有改变段内地址空间 的一维结构,所以段页式内存管理中的A拟地址仍然和段式内存管理中的虚拟地址山样,是二维结构的。

18.段页式怜理的主要缺点是什么?有什么改进办法? 答:段页式管理的主要缺点是对内存中指令或数据进行存取时,至少需要对内存进行三次以 上的访问:第一次是山段表地址寄存器取段表始址后访问段表,山此取出对应段的页表在内 存中的地址.第三次则是访问灭表得到所要访问的指令或数据的物理地址.只有在访问了段 表和页表之后.第三次才能访问真正需要访问的物理单元.显然.这将大大降低CPU执行

折令的速度。改进办法是设置快速联想寄存器。在快速联想寄存器中.存放当前最常用的段 号s,页号p和对应的内存页面地址与其他控制项.当需要访问内存空间某一单元时,可在 通过段表、页表进行内存地址六找的同时,根据快速联想寄存器六找其段号和页号。如果所 要访问的段或页的地址在快速联想寄存器中.则系统不再访问内存中的段表、页表而直接把 快速联想寄存器中的值与页内相对地址d拼接起来得到内存地址.19.什么是局部性原理?什么是抖动州娜1什么办法减少系统的抖动现象? 答:局部性原理是指在几乎所有程序的执行过程中,在一段时间内,CPU总是集中地访问 程序中的某一个部分而不是对程序的所有部分具有平均的访问概率。抖动是指当给进程分配 的内存小于所要求的工作IX时,由于内存外存之间交换频繁,访问外存的时间和输入输出处

理时间大大增加.反而造成CPU因等待数据而空转,使得整个系统性能大大下降.在物理 系统中,为防止抖动的产生,在进行淘汰或科换时,一般总是把缺页进程锁住,不让其换出,从而防止抖动发生。防止抖动发生的另一个办法是设置较大的内存工作区。

第八章文件系统

1.什么是文件、文件系统?文件系统有哪些功能? 签:在计算机系统中.文件被解释为一组赋名的相关宇符流的集合.或者是相关记录的 集合.文件系统是操作系统中与管理文件有关的软件和数据.文件系统的功能是为用户建立文件.数销、读写修改和复制文件.以及完成对文件的按 名存取和进行存取控制。

2文件件系跳一般按什么分类?可以今为哪几类? 签.文件系统一般按性质,用途,组织形式.文件中的信息流向或文件的保护级别等 分类。

一按文件的性质与用途可以分为系统文件.库文件和用户文件。按文件的组织形式可以分 为普通文件,目录文件和特殊文件。按文件中的信息流向可以分为输入文件.抽出文件和佑 入/输出文件.按文件的保护级别可以分为只读文件.读写文件,可执行文件和不保护文件。3.什么是文件的逻样结构宁什么是记录? 答:文件的逻辑结构是用户可见的结钩,可分为字符流式的无结构文件和记录式的 有结构文件两大类.记录是一个其有特定意义的信息单位,幼该记录在文件中的逻辑地址(相对位置)与 记录名所对应的一组关键字,属性及其属性值所组成。

第九章外部设备管理

1.设备竹理的日标和功能是什么? 答:设备管理的目标是:选择和分配输入/输出设备以便进行数据传输操作:控制输入/箱

出设备和CPU(或内存)之间交换数据,为用户提供一个友好的透明接is,提高设备和设备之 间、CPU和设备之间。以及进积和进程之间的并行操作,以使操作系统获得最佳效率。设 备竹理的功能是:提供和进程竹理系统的接n:进行设备分配:实现设备和设备、设备和 CPU等之间的并行操作:进行缓冲区管理。

2.数据传送控$f]方式有哪几种?试比较它们各自的优缺点.答:数据传送控制方式有积序直接控制方式、中断控制方式、DMA方式和通道方式4种。程序直接控制方式就是由用户进程来直接控制内存或CPU和外围设备之间的数据传送。它 的优点是控制简单,也不需要多少硬件支持.它的缺点是CPU和外I*1设备只能串行-I_作;设备之间只能串行工作,无法发现和处理山于设备或其他硬件所产生的错误。中断控制方式是利用向CPU发送中断的方式控制外围设备和CPU之间的数据传送。它的优 点是大大提高了CPU的利用率且能支持多道程序和设备的并行操作。它的缺点是山于数据 缓冲寄存器比较小,如果中 山于中断次数的急剧增加,数较多,仍然占用了大量CPU时间:在外围设备较多时.造成CPU无法响应中断而出现中断丢失的现象:如果外闲

设备速度比较快,可能会出现CPU来不及从数据缓冲寄存器中取走数据而丢失数据的情况.DMA方式是在外围设备和内存之间开辟直接的数据交换通路进行数据传送。它的优点是除 了在数据块传送开始时需要CPU的启动指令,在整个数据块传送结束时需要发中断通知 CPU进行中断处理之外,不需要CPU的频繁千涉.它的缺点是在外困设备越来越多的情 况下.多个DMA控制器的同时使用,会引起内存地址的冲突并使得控制过程进一步复杂化 通道方式是使用通道米控制内存或CPU和外围设备之间的数据传送。通道是一个独立与 CPU的专管愉入/输出拄制的机构.它控制设备与内存直接进行数据交换.它有白己的通 道拓令。这些指令受CPU启动.并在操作结束时向CPU发中断信号.该方式的优点是进一 步减轻了CPU的工作负担,增加了计算机系统的并行i作程度.缺点是增加了额外的硬件,造价昂贵。-.3.什么是通道?试画出通道控制方式时的CPU.通道和设备的工作流程图。

答:通道是一个独立与CPU的专竹输入/愉出控制的机构.它控制设备与内存直接进行数 据交换。它有自己的通道指令.这些指令受CPU启动,并在操作结束时向CPU发中断信号.4.什么是中断什么叫中断处理咐么叫中断响应?”

答:中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得 CPU哲时中断当前正在执行的程序而转去执行相应的事件处理程序.待处理完毕后又返回 原来被中断处继续执行的过程.CPU转去执行相应的事件处理程序的过程称为中断处理.CPU收到中断请求后转到相应的事件处理程序称为中断响应.5.什么”“关中断?什么叫开中断?什么叫中断屏蔽? 答:把CPU内部的处理机状态字PS W的中断允许位清除从而不允许CPU响应中断叫做关 中断。设置CPU内部的处理机状态字Psw的中断允许位从而允许CPU响应中断叫做开中 断.中断屏蔽是指在中断请求产生之后。系统用软件方式有选择地封锁部分中断而允许其余部分 的中断仍能得到响应。

6.什么是陷阱?什么是软中断?试述中断、陷阱和软中断之间异同。

答:陷阱指处理机和内存内部产生的中断,它包括程序运算引起的各种错误.如地址非法、校验错、页面失效。存取访问控制错、从用户态到核心态的切换等都是陷阱的例子。软中断 是通信进程之间用来模拟硬中断的一种信号通信方式。

7.描述中断控制方式时的CPU动作过程。

答:(1)首先,CPU检查响应中断的条件是否满足。如果中断响应条件不满足,则中断处理无法进行。

(2)如果CPU响应中断,则CPU关中断。(3)保存被中断进R现场.(4)分析中断原因,调用中断处理子程序。(5)执行中断处理子程序.必

(6)退出中断.恢复被中断进程的现场或调度新进程占据处理机。(7)开中断,CPU继续执行。8.什么是缓冲?为什么要引入缓冲? 答:缓冲即是使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入愉出数据的器 件.引入缓冲是为了匹配外设和CPU之间的处理速度,减少中断次数和CPU的中断处3'..时间,同时解决DMA或通道方式时的数据传输瓶颈问题。

9.设在对缓冲队列em, in和。ut进行竹理时,采用最近最少使用算法存取缓冲区,即在把 一个缓冲区分配给进程之后.只要不是所有其他的缓冲区都在更近的时间内被使用过,则该 缓冲区不再分配出去。试描述过程tah-buf(type, number)和add-buf(type, number).答:对每个缓冲区设置一个时间标志位,其取值为该缓冲区上次放入队列时的系统时间。take-buf(type, number){ 取出时间标志位最小的缓冲区

}

A add-bur(type, number){,把缓冲区放入队列,井获取当前系统时间赋给其时间标志位

洛 } 10.试述对缓冲队列cm, in和out采用最近级少使用算法对改善1/O操作性能了什于么好处? 答:采用最近最少使用算法可以保留那些在最近一段时间内使用次数较多的缓冲区.而这些 缓冲区继续被使用的可能性比较大,从而可以减少缓冲区分配和回收的次数.避免了频繁的 分配寸问收操作,所以可以改善I/O操作性能.11.用于设备分配的数据结构有哪些?它们之间的关系是什么?

答:用于设备分配的数据结构有:设备控制表DCT.系统设备表SDT.控制器表COCT和 通道控制表CHCT.SDF掀个系统一张.每个设备有一张DCT.每个控制器有一张COCT 每个通道有一张CHCT.SDF中有一个DCT指针.DCT中有一个COCT拓针,COC1‘中 有一个CI ICT指针。

12.设计一个设备分配的安全检六程序,以保证把某台设备分佗给某进程时不会出现死锁.答:参见教材72页避免死锁章节。

13.什么是1/0控制?它的主要任务是什么7 答::1八〕控制是指从用户进程的输入/愉出请求开始.给用户进程分配设备和启动有关设备 进行I/O操作.并在1/0操作完成之后响应中断,直至善后处理为止的整个系统控制过 程。

14.1/0控制可用哪几种方式实现?齐有什么优缺点? 答:I八〕控制过程可用三种方式实现:作为请求I八)操作的进程实现:作为当前进程的一 部分实现:由专门的系统进程-1/0进程完成。

第一种方式请求对应1/0操作的进程能很快占据处理机。但要求系统和I/O操作的进程 应具有良好的实时性。

第二种方式不要求系统其有高的实时性,但1/0控制过程要由当前进程负资.第三种方式增加了一个额外的进程开销,但用户不用关心1/o控制过程.Is设备驱动程序是什么?为什么要有设备驭动程序?用户进程怎样使川驱动程序? 答:设备驭动程序是驱动外部物理设备和相应DMA控制器或1/0控制器等器件.使之可

以直接和内存进行1/O操作的子程序的集合。它们负责设置相应设备有关寄存器的位,启 动设备进行1/O操作.指定操作的类型和数据流向等。设备驭动程序展蔽了直接对硬件操 作的细节。为编程者提供操纵设备的友好接口.用户进程通过调用设备驱动程序提供的接口 来使用设备W动程序。

下载操作系统习题解答 (张尧学)5篇范文word格式文档
下载操作系统习题解答 (张尧学)5篇范文.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    公关习题解答

    公关是指社会组织运用信息传播沟通的手段处理自身的公众问题,以达到组织与公众相互了解、相互适应、优化组织的生态环境目的的管理活动。 特征; 1、 维护公众利益,谋求与公众......

    电磁场习题解答

    1—2—2、求下列情况下,真空中带电面之间的电压。 、无限长同轴圆柱面,半径分别为a和b(ba),每单位长度上电荷:内柱为而外柱为。 解:同轴圆柱面的横截面如图所示,做一长为l半径为......

    张尧学校长答法学院学生问

    张尧学校长答法学院学生问 (2014年4月25日,根据录音整理) 来源:学校办公室 点击次数:4671次 发布时间:2014-05-04 16:58:04.0 作者:—— 主持人:大家好,这里是中南大学法学院“......

    社会实践报告(张尧)

    寒 假 社 会 实 践 报 告 师范学院 学前教育1201班张尧 2014年1月16日 红色中国梦,共话盛世 实践人:张尧 实践实践:2014年1月16日 实践地点:子洲县 实践目的:了解中国梦,去寻找祖......

    实习报告--张尧

    实习报 告班级:建装123班学号:06姓名:张尧日期:2014/3/16一、 实习目的: (一)通过参观北京的装饰材料展,了解本专业材料市场行情; (二)通过对北京著名景点街道的考察,了解城市规划和景......

    张尧学获国家自然科学一等奖引质疑

    张尧学获国家自然科学一等奖引质疑 获得国家自然科学奖一等奖,将张尧学院士及其研究团队带到舆论的风口浪尖。面对质疑,张尧学近日接受科技日报独家专访—— “这么长时间没有......

    操作系统绪论习题及答案

    操作系统绪论习题答案 一.选择题 1.操作系统是一种 。 A.通用软件 B.系统软件 C.应用软件 D.软件包 答:B 2.操作系统的 管理部分负责对进程进行调度。 A.主存储器 B.控制器 C.运算器 D.......

    概率论第五章习题解答

    第五章习题解答 1. 设随机变量X的方差为2,则根据车比雪夫不等式有估计 PXE(X)2 1/2 . PXE(X)2D(X)2212 2. 随机变量X和Y的数学期望分别为-2和2,方差分别为1和4,相关系数为-0.......