文档库 最新最全的文档下载
当前位置:文档库 › 操作系统课后习题答案

操作系统课后习题答案

操作系统课后习题答案
操作系统课后习题答案

1.2 操作系统以什么方式组织用户使用计算机?

答:操作系统以进程的方式组织用户使用计算机。用户所需完成的各种任务必须由相应的程序来表达出来。为了实现用户的任务,必须让相应功能的程序执行。而进程就是指程序的运行,操作系统的进程调度程序决定CPU在各进程间的切换。操作系统为用户提供进程创建和结束等的系统调用功能,使用户能够创建新进程。操作系统在初始化后,会为每个可能的系统用户创建第一个用户进程,用户的其他进程则可以由母进程通过“进程创建”系统调用进行创建。

1.4 早期监督程序(Monitor)的功能是什么?

答:早期监督程序的功能是代替系统操作员的部分工作,自动控制作业的运行。监督程序首先把第一道作业调入主存,并启动该作业。运行结束后,再把下一道作业调入主存启动运行。它如同一个系统操作员,负责批作业的I/O,并自动根据作业控制说明书以单道串行的方式控制作业运行,同时在程序运行过程中通过提供各种系统调用,控制使用计算机资源。

1.7 试述多道程序设计技术的基本思想。为什么采用多道程序设计技术可以提高资源利用率?

答:多道程序设计技术的基本思想是,在主存同时保持多道程序,主机以交替的方式同时处理多道程序。从宏观上看,主机内同时保持和处理若干道已开始运行但尚未结束的程序。从微观上看,某一时刻处理机只运行某道程序。

可以提高资源利用率的原因:由于任何一道作业的运行总是交替地串行使用CPU、外设等资源,即使用一段时间的CPU,然后使用一段时间的I/O设备,由于采用多道程序设计技术,加之对多道程序实施合理的运行调度,则可以实现CPU和I/O设备的高度并行,可以大大提高CPU与外设的利用率。

1.8 什么是分时系统?其主要特征是什么?适用于哪些应用?

答:分时系统是以多道程序设计技术为基础的交互式系统,在此系统中,一台计算机与多台终端相连接,用户通过各自的终端和终端命令以交互的方式使用计算机系统。每个用户都感觉到好像是自己在独占计算机系统,而在系统内部则由操作系统以时间片轮转的方式负责协调多个用户分享CPU。主要特征是:

并行性:系统能协调多个终端用户同时使用计算机系统,能控制多道程序同时运行。

共享性:对资源而言,系统在宏观上使各终端用户共享计算机系统中的各种资源,而在微观上它们则分时使用这些资源。

交互性:人与计算机以交互的方式进行工作。

独占性:使用户感觉到他在独占使用计算机。

现在的系统大部分都是分时系统,主要应用于人机交互的方面。

2.1 什么是中断?什么是异常?它们有何区别?

答:中断是指来自CPU执行指令以外的事件发生后,处理机暂停正在运行的程序,转去执行处理该事件的程序的过程。

异常是指源自CPU执行指令内部的事件发生后,处理机暂停正在执行的程序,转去处理该事件的过程。

区别:广义的中断包括中断和异常,统一称为中断。狭义的中断和异常的区别在于是否与正在执行的指令有关,中断可以屏蔽,而异常不可屏蔽。

2.2什么是多级中断?为什么要把中断分级?试述多级中断的处理原则。

答:

中断分级是根据中断的轻重缓急来排序,把紧迫程度大致相当的中断源归并在同一级,而把紧迫程度差别较大的中断源放在不同的级别。一般来说,高速设备的中断优先级高,慢速设备的中断优先级低。这就是多级中断。这所以引入多级中断是因为:为使系统能及时的

响应和处理所发生的紧迫中断,同时又不至于发生中断信号丢失,计算机发展早起在设计中断系统硬件时根据各种中断的轻重在线路上作出安排,从而使中断响应能有一个优先次序。

多级中断的处理原则:当多级中断同时发生时,CPU按照由高到低的顺序响应。高级中断可以打断低级中断处理程序的运行,转而执行高级中断处理程序。当同级中断同时到时,则按位响应。

2.6 什么是中断向量?其内容是什么?试述中断的处理过程。

答:中断向量:为处理方便,一般为系统中每个中断信号编制一个相应的中断处理程序,并把这些程序的入口地址放在特定的主存单元中。通常将这一片存放中断处理程序入口地址的主存单元称为中断向量。

中断向量的内容:对不同的系统,中断向量中的内容也不尽相同。一般每一个中断信号占用连续的两个单元:一个用来存放中断处理程序的入口地址,另一个用来保存在处理中断时CPU应具有的状态。

中断的处理过程:一般包括保存现场,分析中断原因,进入相应的中断处理程序,最后重新选择程序运行,恢复现场等过程。

2.7 中断/异常处理为什么要保存现场和恢复现场?现场应包括哪几方面的内容?

答:因为中断处理是一项短暂性的工作,逻辑上处理完后还要回到被中断的程序,从其恢复点继续运行。为了能实现正确的返回,并继续运行下去,在中断处理前后必须保存和恢复被中断的程序现场。

现场应包括:PC寄存器的内容,通用寄存器以及一些与程序运行相关的特殊寄存器中的内容。

2.8 操作系统内核的主要功能模块有哪些?如果采用微内核模型,原来在内核的功能中,哪些功能在微内核中实现?哪些由用户态运行的进程实现?

答:操作系统内核的主要功能模块有:1、系统初始化模块2、进程管理模块3、存储管理模块4、I/O设备管理模块5、文件管理模块

采用微内核模型,原来在内核的功能中,少量的进程调度切换代码和中断处理程序在微内核中实现,原来由内核态实现的大部分操作系统系统调用处理等功能转由用户态运行的进程实现。

2.9 从控制轨迹上看,系统调用和程序级的过程调用都相当于在断点处插入一段程序执行,但它们却有质的区别,试述这种差别。

答:这种差别主要在于处理机运行状态的变化。发生系统调用时,处理机由用户态进入核心态;而程序调用时,运行状态不发生变化,其状态仍然保持在用户态。

2.11 试述终端命令解释程序的处理过程。

答:终端命令解释程序的处理过程如下:

①判断命令的合法性

②识别命令,如果是简单命令则处理命令,然后继续读取下一条命令

③如果是不认识的命令关键字,则在约定目录下查找与命令关键字同名的执行文件,创建子进程去执行“执行文件”程序,等待子进程结束后转继续读取下一条命令。

3.1 什么是进程?为什么要引入此概念?试述进程的特点及它与程序的区别。

答:进程是支持程序执行的机制,是程序针对某一数据集合的执行过程。引入此概念的原因:随着操作系统的发展而产生。在监督程序时代以作业形式表示程序运行,那时,作业以同步方式串行地运行每个作业步,当操作系统发展到分时系统时,为了开发同一作业中不同作业步之间的并发,作业机制已经不能满足需要,因而引入了进程机制。

进程的特点:

动态性:可动态创建,结束,也可是被调度进程

并发性:可以被独立调度,占用处理机运行

独立性:尽量把并发事务安排到不同的进程

制约性:因访问共享数据或进程间同步而产生制约.

与程序的区别:进程是程序的执行过程,程序是静态的,进程是动态的。一个进程至少是一个可执行程序,同一个程序可以由多个进程分别执行。

3.2 进程控制块的作用是什么?PCB中应包括哪些信息?

答:进程控制块的作用是:进程控制块用于保存每个进程和资源的相关信息,包括进程标识、空间、运行状态、资源等信息。以便于操作系统管理和控制进程和资源。

PCB中应包括:1、进程标识信息:本进程的标识、父进程的标识、进程所属用户的标识。2、处理机状态信息。保存进程的运行现场信息,包括用户可用寄存器的信息;控制和状态寄存器的信息;栈指针。

3.4 为什么进程状态会发生变化?何时变化?(P54)

答:进程在它的生存周期中,由于系统中各进程并发运行及相互制约的结果,使得它的状态不断发生变化。

状态变化的时机:

空→创建:当一个新进程被产生来执行一个程序时。

创建→就绪:当进程被创建完成,初始化后,一切就绪准备运行时。

就绪→运行:当处于就绪状态的进程被进程调度程序选中后。

运行→结束:当进程指示它已经完成或者因错流产时。

运行→就绪:处于运行状态的进程在其运行过程中,分给它的处理机时间片用完而让出处理机;或者在可剥夺的操作系统中,当有更高优先级的进程就绪时。

运行→阻塞:当进程请求某样东西且必须等待时。

阻塞→就绪:当进程要等待事件到来时。

3.5 进程创建的主要工作是什么?(P54)

答:进程创建时的主要工作如下:

1、接收进程运行现场初始值,初始优先级,初始执行程序描述,其它资源等参数。

2、请求分配进程描述块PCB空间,得到一个内部数字进程标识。

3、用从父进程传来的参数初始化PCB表。

4、产生描述进程空间的数据结构,用初始执行文件初始化进程空间,建立程序段,数据段、栈段等。

5、用进程运行现场初始值设置处理机现场保护区。造一个进程运行栈帧。

6、置好父进程等关系域。

7、将进程置成就绪状态。

8、将PCB表挂入就绪队列,等待时机被调度运行。

3.7 详细说明几个引起进程调度的原因。(P62)

答:1、进程主动放弃处理机时:

正在执行的进程执行完毕。操作系统在处理进程结束系统调用后应请求重新调度。

正在执行的进程发出I/O请求,当操作系统代其启动外设I/O后,在I/O请求没有完成前要将进程变成阻塞状态,应该请求重新调度。

正在执行的进程要等待其它进程或系统发出的事件时。如等待另一个进程通讯数据,这时操作系统应将现运行进程挂到等待队列,并且请求重新调度。

正在执行的进程得不到所要的系统资源,如要求进入临界区,但没有得到锁时,这时等锁的进程应自动放弃处理机或者阻塞到等锁队列上,并且请求重新调度。

2、为了支持可剥夺的进程调度方式,在以下情况发生时,因为新就绪的进程可能

会按某种调度原则剥夺正运行的进程,因此也应该申请进行进程调度:

当中断处理程序处理完中断,如I/O中断、通讯中断,引起某个阻塞进程变成就绪状态时,应该请求重新调度。

当进程释放资源,走出临界区,引起其他等待该资源进程从阻塞状态进入就绪状态时,应该请求重新调度。

当进程发系统调用,引起某个事件发生,导致等待事件的进程就绪时。

其它任何原因引起有进程从其它状态变成就绪状态,如进程被中调选中时。

3、为了支持可剥夺调度,即使没有新就绪进程,为了让所有就绪进程轮流占用处理机,可在下述情况下申请进行进程调度:

当时钟中断发生,时钟中断处理程序调用有关时间片的处理程序,发现正运行进程时间片到,应请求重新调度。以便让其他进程占用处理机。

在按进程优先级进行进程调度的操作系统中,任何原因引起进程的优先级发生变化时,应请求重新调度。如进程通过系统调用自愿改变优先级时或者系统处理时钟中断时,根据各进程等待处理机的时间长短而调整进程的优先级。

3.8 什么时候进行进程调度最为合适?请说明理由。(P63)

答:进程调度的时机:

当发生引起调度条件,且当前进程无法继续运行下去时(如发生各种进程放弃处理机的条件)可以马上进行调度与切换。

当中断处理结束或自陷处理结束返回被中断进程的用户态程序执行前,若请求调度标志置上,即可马上进行进程调度与切换。如果操作系统支持这种情况下运行调度程序,即实现了剥夺方式的调度。

3.10 对于三类进程(I/O为主、CPU为主和I/O与CPU均衡),应如何赋予它们的运行优先级并说明理由。(P67)

答:对于这三类进程,赋予的优先级由高到低分别为:I/O为主、I/O与CPU均衡、CPU 为主。

理由:为了充分利用外部设备,以及对终端交互用户及时地予以响应,通常将I/O型进程列为最高优先级队列。

3.11 假设在单处理机上有五个进程(1、2、3、4、5)争夺运行,其运行时间分别为10,1,2,1,5秒,其优先级分别为3,1,3,4,2,这些进程几乎同时到达,但在就绪队列中的次序依次为1,2,3,4,5,试回答:

①给出这些进程分别适用轮转法、SPF和非剥夺优先级调度法调度时的运行进度表,其中,轮转法中的时间片取值为2。

②在上述各算法的调度下每个进程的周转时间和等待时间为多少?

③具有最短平均等待时间的算法是哪个?

答:轮转法:

进程的周转时间:进程1:19,进程2:3,进程3:5,进程4:6,进程5:15

进程的等待时间:进程1:9,进程2:2,进程3:3,进程4:5,进程5:10

平均等待时间(9+2+3+5+10)/5=5.8

SPF

平均等待时间:16/5=3.2

平均等待时间:43/5=8.6

SPF算法具有最短平均等待时间。

3.19 什么是批处理作业和交互式作业?它们的特点是什么?系统如何管理?

答:批处理作业是指用户将若干用户任务合成一批,一起提交给系统进行处理的任务集合。交互式作业是指用户的一次上机交互过程,用户通过命令语言逐条地与系统进行应答式的交互,提交作业步。

特点:批处理作业的处理过程由计算机自动运行,不需人为干预,用户也看不到中间结果。交互式作业需要系统提供终端供用户与系统交互,作业的运行由人控制,便于作业的调试以及将作业按人预想的方向进行。

4.1 并行任务如何在程序中表示?(P74)

答:并行任务在程序中主要通过并发语句来表示。如Parbegin/Parend语句

4.2 并行任务并行(并发)运行的操作系统支持基础是什么?

答:支持基础是进程和线程的引入。在多道程序设计系统中,进程之间可以并发执行,这就使多任务并行执行成为可能。同时,线程的引入,同一进程内的多个线程也可以并行运行,这也提供了任务内部的并行。提高了效率。

4.3 题略

答:答:进程P0在flag[0]=false后,进程P1跳出循环,此时刚好来了一个中断。中断使得进程P0又再次执行,此时由于P1并没有给turn赋值,从而P0可以顺利进入临界段,在P0进入临界段时产生中断,P1恢复执行,将turn赋值为1,从而P1也可以进入临界段。从而产生错误。

4.4 何谓原语?它与系统调用有何区别?如何实现原语执行的不可分割性?

答:原语是指完成某种功能且不被分割、不被中断执行的操作序列。有时也称为原子操作。

它与系统调用的区别:原语和系统调用是两个不同的概念,原语主要强调操作的不可分割性,可以认为是一个不可中断的子程序调用,但是系统调用是由用户态进入核心态,虽然系统调用一般也不被中断,但是如果有更高更紧迫的系统调用的话,还是能够打断原来的系统调用的。

实现原语执行的不可分割性:通常由硬件来实现,也可以由软件通过中断屏蔽的方法来实现。

4.6 如果P,V操作不作为原语(可分割执行),那么是否还可用于解决互斥问题?如果不能,则举例说明。

答:如果P,V操作不作为原语,那么不可用于解决互斥问题。因为如果那样的话,则:程序语言s = s-1;翻译成机器语言为:load R1, s; load R2, 1; sub R1, R2; 此时,他们之间的操

作可以分割执行,假设有两个进程P1、P2,s初值为1,当P1进入P操作时,s大于0,可以进入,因此会执行上面的机器语言,将s的值取出来,放入R1寄存器中,而此时,有可能P2进程要进入临界段,因此,它也比较s的值是否小于0,因为此时s的值仍为1,所以P2也进入临界段,出现错误。

4.13 题略

答:①

empty1=1; empty2=1; full1=0; full2=0;

parbegin

P: While(1)

{P(empty1);

put to buffer1;

V(full1);

}

Q: While(1)

{P(full1);

get from buffer1;

V(empty1);

P(empty2);

put to buffer2;

V(full2);

}

R: While(1)

{ P(full2);

get from buffer2;

V(empty2);

}

parend;

empty1=m; empty2=n; full1=0; full2=0;mutex1=1;mutex2=1;

parbegin

P: While(1)

{ P(empty1);

P(mutex1);

put to buffer1;

V(full1); V(mutex1); }

Q: While(1)

{ P(full1);

P(mutex1);

get from buffer1;

V(empty1);

V(mutex1);

P(empty2);

P(mutex2);

put to buffer2;

V(full2);

V(mutex2);

}

R: While(1)

{ P(full2);

P(mutex2);

get from buffer2;

V(empty2);

V(mutex2);

}

parend;

4.14 题略

答:P1: Sa;

V(ac);

V(ae);

Sb;

P(cd);

Sd;

P(fe);

Sf;

V(fh);

Sg;

P2: P(ac);

Sc;

V(cd);

P3: P(ae);

Se;

V(fe);

P(fh);

Sh;

4.23 题略

答:解题方法,找出可能死锁的资源最多的情况。假设n个进程需要的资源数分别为:a1,a2,…. an,则占有资源数最多却刚好形成死锁的情况是:每个进程都占有比所需资源数少一个的资源数量,而此时刚好资源用光。所以是:(a1-1)+(a2-1)+……+(an-1)=m,整理得a1+a2+…+an=m+n,而要想使得系统无死锁,则必须有a1+a2+…+an

4.28 题略

答:1、Need的内容为:[0000,0750,1002,0020,0642]

2、系统是处于安全状态。

3、进程2请求0420,不能立即得到满足,因为如果给进程2分配了0420的话,系统将处于不安全状态。所以不能立即得到满足。

4.11 多元信号量机构允许P,V操作同时对多个信号量进行操作。这种机构对同时申请或释放若干个资源是非常有用的。假设二元信号量机构中的P原语定义为:

P(S,R) : While(S≤0 or R≤0);

S=S-1;

R=R-1;

试用一元信号量机构加以实现。

答:mutex: semaphore

P(mutex);

P(S);

P(R);

V(mutex);

4.15 “理发师睡觉”问题

答:可以将此题看作N个生产者和一个消费者问题。顾客作为生产者,每到来一个,就将自己放入计数器RC,以便让理发师消费至最后一个产品(顾客),因此顾客进程执行的第一个语句便是RC=RC+1。而第一个到来的顾客应该负责唤醒理发师,理发师此时正在信号量W AKEUP上等待((P(W AKEUP);该信号量的初值为0),由第一个顾客执行V(W AKEUP)。若顾客不是第一个到达,则在信号量W AIT上等待(P(W AIT)该信号量的初值为0),等理发师理完一个顾客后,执行V(W AIT)操作便可叫出该顾客理发。以上过程循环反复,理发师没每理完一个顾客,就令计数器减1,RC=0时便知此时无顾客,理发师可以继续睡觉,等待下一批顾客到达。在设信号量MUTEX(初值为1),保证对计数器RC的互斥作用。parbegin

顾客进程:

begin

P(mutex);

rc=rc+1;

if rc=1 then V(wakeup);

elseP(wait);

V(mutex);

理发;

end;

理发师进程:

begin

P(wakeup);

repeat

理发;

P(mutex);

rc=rc-1;

if(rc!=0) then V(wait);

V(mutex);

until rc=0;

end;

parend;

5.5 答:需要的硬件支持可以选择两种:1、上、下界寄存器和地址检查机制;2、基地址寄存器、长度寄存器和动态地址转换机制。

地址转换的过程也即是地址重定位的过程,也有两种方法实现地址重定位:

1、静态重定位,用户代码中使用相对地址,在将目标代码加载到主存时,装配链接程序通过如下的方法将其装配成绝对地址:原地址+目标代码所在主存起始地址;

2、动态重定位,它首先将程序在主存的起始地址及其总长度存放于基地址寄存器和长度寄存器,当在执行访存指令时,首先进行越界检查,若不越界,则将地址改成“原地址+目标代码所在主存起始地址”,然后进行访问。

实现存储保护:

当使用第一种硬件机制时,每访问一次主存,地址检查机制将CPU提供的访存地址与上、下界寄存器的值进行比较。若介乎上下界之间,则可用该地址访问存储器,否则终止程序的运行。

当使用第二种硬件机制时,,每访问一次主存,它将CPU提供的访存地址与长度寄存器的值进行比较。若越界,则终止程序,否则与基地址寄存器中的值相加成为访问贮存的绝对物理地址。

5.6为什么要引进页式存储管理方法?在这种管理方法中硬件应提供哪些支持?

答:原因在于连续分配存储空间存在许多存储碎片和空间管理复杂的问题,而连续分配要求把作业放在主存的一片连续区域中,这往往容易出现连续空间因不能容纳作业或进程而不可用。而页式存储管理方法可以避免这种情况的发生。

硬件应提供的支持:动态地址转换机构,页表长度寄存器,联想存储器(页表以及

访问权限域均在主存中)。

5.7 题略

答:(1)访问一次页面单元需要访问两次主存,因此访问时间为:1.2*2=2.4us;

(2)等效存储访问时间为:1.2*75%+2.4*25%=1.5us;

5.11 在页式存储管理系统中怎样使多个作业共享一个程序或数据?

答:在每个作业的页表中,将需要共享的程序映射到存放该共享程序或数据的相同的物理页帧上。

5.17 题略

答:系统得到物理地址的过程:

由题设可得,虚存地址的逻辑页号为:11123,页内偏移为456;

从联想存储器中查找逻辑页号为11123对应的物理页帧号,如果有,则将物理页帧号和页内偏移合成成物理地址进行访问,否则从页表中查找。

在页表中找到相应项,查看该页的合法位是否置上,若为1,则将该项指出的页帧号和页内偏移合成成物理地址进行访问,若合法位为0,则产生页故障,系统将页表项所指的辅存块号调入主存,然后合成物理地址进行访问。

硬件完成的工作:获得页帧号,合成物理地址,以及合法位是否置上等。软件完成的工作:接收缺页异常,对缺页故障进行处理,返回现场。

5.18 题略

答:访问的相应逻辑页号为:0,0,1,1,0,3,1,2,2,4,4,3。

采用FIFO:故障数:6;页故障率:6/12=50%

采用LRU,淘汰上次使用距当前最远的页:故障数:7;页故障率为:7/12=58.3% 采用OPT,淘汰下次访问距当前最远的那些页中序号最小的一页:故障数:5;页故障率:5/12=41.7%

5.19 题略

答:①栈结构对数据的访问一般在栈顶附近,或者离栈顶不远,符合程序的局部性行态;

②杂凑技术取决于Hash值的大小,如果太大,则会频繁出现缺页,不利于程序的局部性行态;

③顺序搜索是根据当前项向前或向后逐个搜索,符合程序的局部性行态;

④goto语句往往使程序从一个地方跳到另一个地方,空间跨度往往比较大,少用或不用goto语句使程序能够在局部范围内执行,符合程序的局部性行态。

5.24 题略

答:驻留集大小为2个页帧,但是程序要长期驻留在主存中,必须占用一页,所以驻留集中只有一页留给数据使用。假设数组中每一个元素占一个字的空间,因为每一页有100个字,而且数组是按行主顺序存放,当采用1策略时,赋值顺序为:A(1,1),A(2,1),…A(100,1)…,每一次赋值都产生缺页异常,因此页故障数为100*100=10000,而采用2策略时,只在第一维产生变化时才产生缺页故障,因此页故障数为100。

5.31 设有如下访问串:6,9,2,1,0,3,5,4,3,2,1,0,2,1。取△=4,给出用WS 与VMIN两种算法控制该访问串驻留集的变化情况。

答:用WS方法,有△个时间未被引用则将其淘汰;

用VMIN方法,若某页下次访问的距离大于△,则将其淘汰。

5.33 如果主存中的某页正在与外部设备交换信息,那么在页故障中断时可以将这一页淘汰吗?对于这种情况应如何解决?(P110-111)

答:不能将这一页淘汰,,因为如果淘汰出去的话,则新进入的页将代替正在交换信息的页,而I/O数据区将被新换入的页所代替,从而导致错误。因此,应该等该页与外部设备

交换信息结束之后,才能将该页淘汰。

5.34 题略

答:访问虚地址(233)8时不会发生缺页故障,因为根据虚地址可得,它的页号为2,页内偏移为(33)8,而在页表中页号为2的页有效位为1,说明在主存中,相应的页帧号为20,所以物理地址为(20)8*82+(33)8=(2033)8,而访问(345)8时会发生缺页中断,根据虚地址可得它的页号为3,页内偏移为(45)8,查页表可得,该页的有效位为0,因此不在主存中,产生缺页中断,它首先向主存申请一个可用的页帧,然后检查该故障页的页类型,为零页,因此将刚申请到的页帧清零,将页帧号填入页表项中,将合法位置为1,然后返回。

6.2 设备控制器与处理机如何通信?

答:

CPU通过向控制器寄存器写命令字来发出I/O命令,

控制器接到命令后,完成具体的I/O操作,

CPU则反复读取控制器的状态,测试控制器是否完成操作。

或者转向其他工作,当控制器完成相应操作后向CPU发出中断信号。

6.3 简述各种不同的I/O控制方式?

答:主要有三种不同的I/O控制方式:

1、程序直接控制方式。当遇到一条与I/O相关的指令时,CPU向相应的设备控制器发命令,设备控制器执行相应的操作,将I/O状态寄存器的相应位置上,然后CPU周期性地检查设备控制器的状态寄存器,直到发现I/O操作完成为止。CPU直接控制I/O操作过程,包括测试设备状态,发送读/写命令与数据。

2、中断驱动方式。CPU向设备控制器发出命令后,继续做其他工作。当设备控制器准备好CPU交换数据时,设备控制器中断CPU,要求服务。CPU被中断后,执行CPU寄存器和设备控制器之间的数据传输,然后恢复被中断的工作。

3、DMA方式:当CPU需要读/写数据块时,它给DMA部件发命令,然后继续执行其他的工作。DMA负责此次I/O的完成,DMA部件每次一个字地将整个数据块直接读取或写入主存,而不需经过CPU寄存器。当传送过程完成后,DMA部件向CPU发中断信号。6.4 什么是独占型设备和分时共享型设备?如何保证独占型设备的独占使用?(P147)

答:独占型设备是指在申请设备时,如果设备空闲,就将其独占,不再允许其他进程申请使用,一直等到该设备被释放,才允许被其他进程申请使用。

分时共享型设备:设备接受多个I/O请求,并将其放在请求队列中,不同进程的I/O操作请求以排队的方式分时地占用设备进行I/O。

如何保证独占使用:对独占型设备进行独占申请,即在申请时,如果申请成功,就对该设备进行加锁操作,直到该I/O完成后,才释放锁,从而释放该设备。

6.5 以SPOOLing方式使用设备是如何实现的?

答:SPOOLing技术是在批处理操作系统时代引入的,即假脱机I/O技术,它主要针对独占型设备的使用。以打印机为例,首先为每个打印机建立一个打印服务进程,和一个打印队列。打印服务进程循环地获取打印队列中的表项,对每一个要输出的文件副本,服务进程从文件副本中读取数据,再成批地调用写打印机的系统调用将该文件的数据打印在纸上。6.6 以下的工作各在3个I/O软件层的哪一层完成?

答:①涉及到具体的磁道、扇区、磁头的计算,这属于设备驱动与中断处理层。

②属于缓冲I/O的功能,因此属于与设备无关的I/O层。

③中涉及到设备寄存器的操作,而能操作设备寄存器的只有设备驱动与中断处理层。

④是对设备使用权限的内容,因此属于与设备无关的I/O层。

⑤用户请求,他请求系统将二进制整数转换成ASCII码再输出,属于用户层I/O。

6.8 如何使用缓冲区实现“预先读”和“延迟写”?这两种读/写方式的优缺点是什么?

答:预先读就是:将从设备控制器来的数据先送入系统缓冲区,该数据块送完后,用户进程将此数据块移到用户进程空间。并且立即请求下一个数据块。

延迟写就是:当需要将数据写出时,首先将数据块从用户进程空间拷贝到系统缓冲区,这时可继续执行用户进程,并可在需要时换出主存。操作系统会安排最终将系统缓冲区的内容输出到设备上。

优点是:减少CPU访问目标存储部件的次数。提高了慢速I/O设备和快速CPU交互的速度,提高输入输出速度。

缺点:预先读是基于“下一数据块最终将被使用”这一猜测。因此,当这一猜测失败时,系统将耗费更多的时间来处理,猜测失败的代价是很大的。同时,增加了操作系统的复杂度。

延迟写也增加了操作系统的复杂度,同时延迟写还可能出现数据丢失的情况。

6.11 假设对磁盘的请求串为95,180,35,120,10,122,64,68,磁头初始位置为30,试分别画出FCFS,SSTF,SCAN,C-SCAN调度算法的磁头移动轨迹及磁头移动的磁道数(磁道号:0~199)。

答:FCFS:First Come First Served,

SSTF:Shortest Seek Time First,

SCAN:扫描

C-SCAN:单向扫描

6.16 在磁盘管理程序中何时进行磁盘调度?

答:当有多个进程请求读取磁盘中的数据,而这些数据散布在磁盘的不同位置的时候,应该进行磁盘调度。此时磁盘驱动程序应维持一个磁盘I/O请求队列,对已有请求和新到来请求进行排队优化,确保相邻请求其磁道相距最近。

6.18 RAID级别0+1有何特点?可用于什么应用环境?

答:RAID级别0+1是指RAID级别0和1的结合。RAID级别0提供性能,RAID级别1提供可靠性。特点是性能高、可靠性好、价格高(需要2倍磁盘数目)应用环境:通常用于性能和可靠性都很重要的环境中。

7.2 一个可以支持随机访问的文件应该用什么方式放在辅存中?

答:一个可以支持随机访问的文件应该用索引结构的方式将其放在辅存中。

7.4 试述文件控制块的作用,请设计在树形文件目录中快速查找文件控制块的方法。

答:文件控制块是一张用于存放文件的标识、定位、说明和控制等信息的表格,用于管理和控制文件系统中的全部文件。

快速查找文件控制块的方法:引入“当前目录”,用户可指定某级目录作为用户“当前目录”,当前目录的文件控制块事先已读入并保存在主存。当用户注册时,操作系统在记账文件中查找与该用户所对应的信息项。记账文件中保存了一个指向用户初始“当前目录”的路径名。“当前目录”最初在用户登录时自动置为该用户的初始“当前目录”。操作系统提供专门的系统调用供用户随时改变“当前目录”。在查找时,操作系统从根目录或“当前目录”进行查找,因为当前目录的FCB通常是放在主存中的,所以查找速度会比较快。

7.7 无环图目录结构与树形目录结构相比,优势在哪里?如何删除一个节点?

答:无环图目录结构的优势是利于文件的共享,因为当树形目录结构想共享某个文件时,需要在不同的路径保存多个副本,这样浪费了存储空间。而无环图目录结构只需增加一个称为链的新目录项,让其指向需要共享的文件即可。节省了空间,管理更灵活。

如何删除节点:为每个节点设置一个共享计数器,每当增加了一条共享链时,就将其共享计数器加1,每当要删除某个节点时,其共享计数器减1,当计数器为0时,就真正删除该节点。

7.9 请比较辅存空间分配和主存空间分配的特点。

答:辅存空间的特点是容量大,如何在大量的文件中快速查找和定位你所需的文件是辅存空间分配需要考虑的主要问题。在逻辑空间,通常将文件组织成目录结构,在物理存储时,将其组织成链表结构或索引结构存放在辅存中,文件系统对未分配空间保持一个“自由空间表”的数据结构,通常组织成位向量的形式,每一个柱面对应一个位向量,所有位向量组成一个位图数组,它记录了整个磁盘空间的使用情况。

而主存空间容量小,访问速度快,因此主存空间分配主要考虑的是如何提高主存空间的访问速度、利用率和命中率。因此,在主存空间分配之前,将所有的主存空间分页,并将每一页登记在页表中,将用户的逻辑页对应着主存的物理页帧,分配主存空间时在页表中登记,当需替换页时,采用好的替换策略提高主存的命中率。

7.10 试述“打开文件”所做的工作。

答:根据参数所指出的文件名和卷名找到相应文件。

将该文件的文件控制块存入主存的活跃文件目录表。

建立该文件的读/写状态信息表。

将该文件的信息存入用户的“打开文件表”中。

7.11 写文件系统调用处理时超过文件已有空间系统,应如何处理?可以让文件大小动态增长吗?

答:当超过文件已有空间系统时,应为文件系统申请更大的辅存空间。可以让文件大小动态增长。

7.13 请说明UNIX操作系统文件访问控制的方法。

答:将使用文件的用户分为三类:文件主,同组的若干用户,其他用户。在访问表中列出这三类用户的访问权限,然后直接保存在文件控制块中。当用户需要访问文件时,系统根据进程用户所述的类型,在访问表中验证此次访问的权限。如果拥有此权限则访问,否则拒绝访问。

7.15 文件控制块中的文件定位信息用于文件系统层次结构的哪一层?

答:用于文件系统层次结构的第四层:物理文件系统层。因为文件控制块中的文件定位信息主要是为了操作系统根据文件的逻辑地址来找到存储该文件的物理地址,而这正是物理文件系统要做的工作。

操作系统 习题答案(中文版)

操作系统概第七版中文版习题答案(全) 1.1在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题 b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 答:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 答:(a)大型电脑或迷你电脑系统:内存和CPU资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU资源(c)手持电脑:功率消耗,内存资源 1.3在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? 答:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 答:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? 答:SMP意味着所以处理器都对等,而且I/O可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? 答:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。 1.7试区分分布式系统(distribute system)的客户机-服务器(client-server)模型与对等系统(peer-to-peer)模型 答:客户机-服务器(client-server)模型可以由客户机和服务器的角色被区分。在这种模型下,客户机向服务器发出请求,然后服务器满足这种请求。对等系统(peer-to-peer)模

操作系统习题1(含答案)

计算机操作系统试题 一填空: 1.操作系统为用户提供三种类型的使用接口,它们是命令方式和系统调用和图形用户界面。2.主存储器与外围设备之间的数据传送控制方式有程序直接控制、中断驱动方式、DMA方式和通道控制方式。 3.在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。4.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。 5.程序经编译或汇编以后形成目标程序,其指令的顺序都是以零作为参考地址,这些地址称为逻辑地址。 6.文件的逻辑结构分流式文件和记录式文件二种。 7.进程由程度、数据和PCB组成。 8.对信号量S的操作只能通过原语操作进行,对应每一个信号量设置了一个等待队列。9.操作系统是运行在计算机裸机系统上的最基本的系统软件。 10.虚拟设备是指采用SPOOLING技术,将某个独享设备改进为供多个用户使用的的共享设备。 11.文件系统中,用于文件的描述和控制并与文件一一对应的是文件控制块。 12.段式管理中,以段为单位,每段分配一个连续区。由于各段长度不同,所以这些存储区的大小不一,而且同一进程的各段之间不要求连续。 13.逻辑设备表(LUT)的主要功能是实现设备独立性。 14在采用请求分页式存储管理的系统中,地址变换过程可能会因为缺页和越界等原因而产生中断。 16. 段的共享是通过共享段表实现的。 17.文件的物理结构分为顺序文件、索引文件和索引顺序文件。 18.所谓设备控制器,是一块能控制一台或多台外围设备与CPU并行工作的硬件。 19. UNIX的文件系统空闲空间的管理是采用成组链接法。 20分页管理储管理方式能使存储碎片尽可能少,而且使内存利用率较高,管理开销小。 20.计算机操作系统是方便用户、管理和控制计算机软硬件资源的系统软件。 21.操作系统目前有五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。 22.按文件的逻辑存储结构分,文件分为有结构文件,又称为记录式文件和无结构文件,又称流式文件。 23.主存储器与外围设备之间的信息传送操作称为输入输出操作。 24、在设备管理中,为了克服独占设备速度较慢、降低设备资源利用率的缺点,引入了虚拟分配技术,即用共享设备模拟独占设备。 25、常用的内存管理方法有分区管理、页式管理、段式管理和段页式管理。 26、动态存储分配时,要靠硬件地址变换机构实现重定位。 27、在存储管理中常用虚拟存储器方式来摆脱主存容量的限制。 28、在请求页式管理中,当硬件变换机构发现所需的页不在内存时,产生缺页中断信号,中断处理程序作相应的处理。 29、置换算法是在内存中没有空闲页面时被调用的,它的目的是选出一个被淘汰的页面。如果内存中有足够的空闲页面存放所调入的页,则不必使用置换算法。

现代操作系统(第三版)答案

MODERN OPERATING SYSTEMS SECOND EDITION PROBLEM SOLUTIONS ANDREW S.TANENBAUM Vrije Universiteit Amsterdam,The Netherlands PRENTICE HALL UPPER SADDLE RIVER,NJ 07458课后答案网 w w w .k h d a w .c o m

SOLUTIONS TO CHAPTER 1PROBLEMS 1.An operating system must provide the users with an extended (i.e.,virtual)machine,and it must manage the I/O devices and other system resources. 2.Multiprogramming is the rapid switching of the CPU between multiple processes in memory.It is commonly used to keep the CPU busy while one or more processes are doing I/O. 3.Input spooling is the technique of reading in jobs,for example,from cards,onto the disk,so that when the currently executing processes are ?nished,there will be work waiting for the CPU.Output spooling consists of ?rst copying printable ?les to disk before printing them,rather than printing directly as the output is generated.Input spooling on a personal computer is not very likely,but output spooling is. 4.The prime reason for multiprogramming is to give the CPU something to do while waiting for I/O to complete.If there is no DMA,the CPU is fully occu-pied doing I/O,so there is nothing to be gained (at least in terms of CPU utili-zation)by multiprogramming.No matter how much I/O a program does,the CPU will be 100percent busy.This of course assumes the major delay is the wait while data are copied.A CPU could do other work if the I/O were slow for other reasons (arriving on a serial line,for instance). 5.Second generation computers did not have the necessary hardware to protect the operating system from malicious user programs. 6.It is still alive.For example,Intel makes Pentium I,II,and III,and 4CPUs with a variety of different properties including speed and power consumption.All of these machines are architecturally compatible.They differ only in price and performance,which is the essence of the family idea. 7.A 25×80character monochrome text screen requires a 2000-byte buffer.The 1024×768pixel 24-bit color bitmap requires 2,359,296bytes.In 1980these two options would have cost $10and $11,520,respectively.For current prices,check on how much RAM currently costs,probably less than $1/MB. 8.Choices (a),(c),and (d)should be restricted to kernel mode. 9.Personal computer systems are always interactive,often with only a single user.Mainframe systems nearly always emphasize batch or timesharing with many users.Protection is much more of an issue on mainframe systems,as is ef?cient use of all resources. 10.Every nanosecond one instruction emerges from the pipeline.This means the machine is executing 1billion instructions per second.It does not matter at all how many stages the pipeline has.A 10-stage pipeline with 1nsec per 课后答案网 w w w .k h d a w .c o m

操作系统习题答案

内存1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使内存碎片尽可能少,而且使内存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。正确答案:该程序应具有较好的局部性(Locality) 3提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。Ⅰ.分配内存;Ⅱ.内存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.内存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.内存到外存间交换;Ⅷ.允许用户程序的地址空间大于内存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种内存管理方法有利于程序的动态链接()? 正确答案:分段存储管理 6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制

8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比内存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:减少运行的进程数 14在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起()。 正确答案:越界中断 15 测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:加内存条,增加物理空间容量 16 对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()

操作系统习题及答案一

习题一操作系统概论 选择题 1. 计算机的操作系统是一种() ■ A. 应用软件 B.系统软件 C.工其软件D 字表处理软件 2. 批处理系统的主要缺点是( ). A. CPU 的利用率不高 B.失去了交互性 C.不具备并行性 D.以上都不是 3. 计算机操作系统的功能是( ). A. 把源程序代码转换为标准代码 B. 实现计算机用户之间的相互交流 C. 完成计算机硬件与软件之间的转换 D. 控制、管理计算机系统的资源和程序的执行 4. 在分时系统中,时间片一定时, (),响应时间越长. A. 内存越多 B.用户数越多 C.内存越少 D 用户数 越少 5. 操作系统的( )管理部分负责对进程进行调度 . A?主存储器 B.控制器 C.运算器 D 处理机 6. 从用户的观点看,操作系统是( ). A. 用户与计算机之间的接口 B. 控制和管理计算机资源的软件 C. 合理地组织计算机工作流程的软件 D. 由若干层次的程序按一定的结构组成的有机体 7. 操作系统的功能是进行处理机管理、 ()管理、设备管理及信息管理 9. 操作系统是现代计算机系统不可缺少的组成部分,是 为了提咼计算机的( 户使用计算机而配备的一种系统软件 . 10. 所谓()是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处 和外围设备等其他资源. A.多重处理 B.多道程序设计 C.实时处理 D?并行执行 11. ()操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同 A. CPU 的利用率不高 C.不具备并行性 B.资源利用率 D.以上都不是 A.进程 B.存储器 C.硬件 D.软件 8.操作系统中采用多道程序设计技术提高 CPU 和外部设备的() A.利用率 B.效率 C.稳定性 D.兼容性 )和方便用 理机的时间

《现代操作系统第四版》第三章答案

第三章内存管理习题 1.IBM360有一个设计,为了对2KB大小的块进行加锁,会对每个块分配一个4bit的密钥,这个密钥存在PSW(程序状态字)中,每次内存引用时,CPU都会进行密钥比较。但该设计有诸多缺陷,除了描述中所言,请另外提出至少两条缺点。 A:密钥只有四位,故内存只能同时容纳最多十六个进程;需要用特殊硬件进行比较,同时保证操作迅速。 2.在图3-3中基址和界限寄存器含有相同的值16384,这是巧合,还是它们总是相等?如果这只是巧合,为什么在这个例子里它们是相等的? A:巧合。基地址寄存器的值是进程在内存上加载的地址;界限寄存器指示存储区的长度。 3.交换系统通过紧缩来消除空闲区。假设有很多空闲区和数据段随机分布,并且读或写32位长的字需要10ns的时间,紧缩128MB大概需要多长时间?为了简单起见,假设空闲区中含有字0,内存中最高地址处含有有效数据。 A:32bit=4Byte===>每字节10/4=2.5ns 128MB=1282^20=2^27Byte 对每个字节既要读又要写,22.5*2^27=671ms 4.在一个交换系统中,按内存地址排列的空闲区大小是10MB,4MB,20MB,18MB,7MB,9MB,12MB,和15MB。对于连续的段请求: (a) 12MB (b) 10MB (c) 9MB

使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢? A:首次适配算法:20MB,10MB,18MB;最佳适配算法:12MB,10MB,9MB;最差适配算法:20MB;18MB;15MB;下次适配算法:20MB;18MB;9MB; 5.物理地址和虚拟地址有什么区别? A:实际内存使用物理地址。这些是存储器芯片在总线上反应的数字。虚拟地址是指一个进程的地址空间的逻辑地址。因此,具有32位字的机器可以生成高达4GB的虚拟地址,而不管机器的内存是否多于或少于4GB。 6.对下面的每个十进制虚拟地址,分別使用4KB页面和8KB页面计算虚拟页号和偏移量:20000,32768,60000。 A:转换为二进制分别为:0100111000100000 虚拟地址应该是16位1000000000000000 1110101001100000 4KB页面偏移量范围0~4027,需要12位来存储偏移量,剩下4位作为页号;同理8KB页面需要13位来存储偏移量,剩下3位作为页号;所以,4KB | 8KB 页号| 偏移量| 页号| 偏移量20000 | 0100 111000100000 | 010 0111000100000 32768 | 1000 000000000000 | 100 0000000000000 60000 | 1110 101001100000 | 111 0101001100000 7. 使用图3-9的页表,给出下面每个虚拟地址对应的物理地址:

操作系统第四版-课后习题答案

操作系统第四版-课后习题答案

第一章 作者:佚名来源:网络 1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少? 答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故: CPU利用率=l-(80%)4 = 0.59 若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87 故增加IMB 内存使CPU 的利用率提高了47 % : 87 %/59 %=147 % 147 %-100 % = 47 % 2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。 答:画出两道程序并发执行图如下: (1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分) (2)程序A 无等待现象,但程序B 有等待。程序B 有等待时间段为180rns 至200ms 间(见图中有色部分) 3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。

操作系统课后习题答案

第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 4.试说明推劢多道批处理系统形成和収展的主要劢力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 第二章 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1; 8.试说明迚程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成

《现代操作系统第四版》 第六章 答案

第四章文件系统习题 Q1: 给出文件/etc/passwd的五种不同的路径名。(提示:考虑目录项”.”和”…”。) A: /etc/passwd /./etc/passwd /././etc/passwd /./././etc/passwd /etc/…/etc/passwd /etc/…/etc/…/etc/passwd /etc/…/etc/…/etc/…/etc/passwd /etc/…/etc/…/etc/…/etc/…/etc/passwd Q2:在Windows中,当用户双击资源管理器中列出的一个文件时,就会运行一个程序,并以这个文件作为参数。操作系统要知道运行的是哪个程序,请给出两种不同的方法。 A:Windows使用文件扩展名。每种文件扩展名对应一种文件类型和某些能处理这种类型的程序。另一种方式时记住哪个程序创建了该文件,并运行那个程序。Macintosh以这种方式工作。

Q3:在早期的UNIX系统中,可执行文件(a.out)以一个非常特別的魔数开始,这个数不是随机选择的。这些文件都有文件头,后面是正文段和数据段。为什么要为可执行文件挑选一个非常特别的魔数,而其他类型文件的第一个字反而有一个或多或少是随机选择的魔数? A:这些系统直接把程序载入内存,并且从word0(魔数)开始执行。为了避免将header作为代码执行,魔数是一条branch指令,其目标地址正好在header之上。按这种方法,就可能把二进制文件直接读取到新的进程地址空间,并且从0 开始运行。 Q4: 在UNIX中open系统调用绝对需要吗?如果没有会产生什么结果? A: open调用的目的是:把文件属性和磁盘地址表装入内存,便与后续调用的快速访问。 首先,如果没有open系统调用,每次读取文件都需要指定要打开的文件的名称。系统将必须获取其i节点,虽然可以缓存它,但面临一个问题是何时将i节点写回磁盘。可以在超时后写回磁盘,虽然这有点笨拙,但它可能起作用。 Q5:在支持顺序文件的系统中总有一个文件回绕操作,支持随机存取

(完整版)操作系统课后题答案

2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口;(2)OS作为计算机系统资源的管理者; (3)OS实现了对计算机资源的抽象。 5.何谓脱机I/O和联机I/O? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 11.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20.试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25.何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2. 画出下面四条语句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1; 答:其前趋图为: 7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志? 答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源;(2)执行状态→就绪状态:时间片用完;(3)执行状态→阻塞状态:I/O请求;(4)阻塞状态→就绪状态:I/O完成. 19.为什么要在OS 中引入线程?

操作系统(第二版)习题答案

第1章 一、填空 1.计算机由硬件系统和软件系统两个部分组成,它们构成了一个完整的计算机系统。 2.按功能划分,软件可分为系统软件和应用软件两种。 3.操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。 4.操作系统的基本功能是处理机(包含作业)管理、存储管理、设备管理和文件管理。 5.在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目的是改善系统功能,提高处理能力。 6.分时系统的主要特征为多路性、交互性、独立性和及时性。 7.实时系统与分时以及批处理系统的主要区别是高及时性和高可靠性。 8.若一个操作系统具有很强的交互性,可同时供多个用户使用,则是分时操作系统。 9.如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率、大吞吐量和作业流程的自动化,则属于批处理操作系统。 10.采用多道程序设计技术,能充分发挥CPU 和外部设备并行工作的能力。 二、选择 1.操作系统是一种 B 。 A.通用软件B.系统软件C.应用软件D.软件包2.操作系统是对 C 进行管理的软件。 A系统软件B.系统硬件C.计算机资源D.应用程序3.操作系统中采用多道程序设计技术,以提高CPU和外部设备的A。 A.利用率B.可靠性C.稳定性D.兼容性4.计算机系统中配置操作系统的目的是提高计算机的 B 和方便用户使用。 A.速度B.利用率C.灵活性D.兼容性5. C 操作系统允许多个用户在其终端上同时交互地使用计算机。 A.批处理B.实时C.分时D.多道批处理6.如果分时系统的时间片一定,那么 D ,响应时间越长。 A.用户数越少B.内存越少C.内存越多D.用户数越多 三、问答 1.什么是“多道程序设计”技术?它对操作系统的形成起到什么作用? 答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中

操作系统习题及答案一

习题一操作系统概论 一.选择题 1. 计算机的操作系统是一种(). A. 应用软件 B.系统软件 C.工其软件D字表处理软件 2. 批处理系统的主要缺点是(). A. CPU 的利用率不高 B .失去了交互性 C.不具备并行性 D.以上都不是 3.计算机操作系统的功能是(). A. 把源程序代码转换为标准代码 B .实现计算机用户之间的相互交流 C. 完成计算机硬件与软件之间的转换 D. 控制、管理计算机系统的资源和程序的执行 4. 在分时系统中,时间片一定时,(),响应时间越长. A.内存越多 B.用户数越多 C.内存越少D用户数越少 5.操作系统的()管理部分负责对进程进行调度. A?主存储器 B.控制器 C.运算器D处理机 6. 从用户的观点看,操作系统是(). A. 用户与计算机之间的接口 B. 控制和管理计算机资源的软件 C. 合理地组织计算机工作流程的软件 D. 由若干层次的程序按一定的结构组成的有机体 7. 操作系统的功能是进行处理机管理、()管理、设备管理及信息管理. A.进程 B.存储器 C.硬件 D.软件 8. 操作系统中采用多道程序设计技术提高CPU 和外部设备的(). A.利用率 B.效率 C.稳定性 D.兼容性 9. 操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的()和方便用户使用计算机而配备的一种系统软件. A. CPU的利用率不高 B.资源利用率 C.不具备并行性 D.以上都不是 10. 所谓()是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源. A.多重处理 B.多道程序设计 C.实时处理D?并行执行 11.()操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同 时交互地使用计算机. A. 网络 B. 分布式 C.分时 D.实时 12.分时操作系统通常采用()策略为用户服务. A. 可靠性和灵活性 B.时间片轮转 C .时间片加权分配 D. 短作业优先 13.系统调用是由操作系统提供的内部调用,它(). A.直接通过键盘交互方式使用 B.只能通过用户程序间接使用

操作系统教程习题答案

《操作系统教程》习题答案

习题1 1.单项选择题 (1)大中小型计算机是以为中心的计算机系统。 A、CPU B、存储器 C、系统总线 D、通道 (2)以下关于操作系统的说法正确的是。 A、批处理系统是实现人机交互的系统 B、批处理系统具有批处理功能,但不具有交互能力 C、分时系统是实现自动控制,无须人为干预的系统 D、分时系统即具有分时交互能力,又具有批处理能力 (3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。 A、为用户提供良好的工作环境和接口 B、对用户的命令作出快速响应 C、作为服务机构向其它站点提供优质服务 D、防止有人以非法手段进入系统 (4)设计实时操作系统时,首先应考虑系统的。 A、可靠性和灵活性 B、实时性和可靠性 C、优良性和分配性 D、灵活性和分配性 (5)多道程序设计是指。 A、在分布式系统中同一时刻运行多个程序 B、在一台处理器上并行运行多个程序 C、在实时系统中并发运行多个程序 D、在一台处理器上并发运行多个程序 (6)以下关于并发性和并行性的说法正确的是。 A、并发性是指两个及多个事件在同一时刻发生 B、并发性是指两个及多个事件在同一时间间隔内发生 C、并行性是指两个及多个事件在同一时间间隔内发生 D、并发性是指进程,并行性是指程序 (1)B (2)B (3)A (4)B (5)D (6)B 2.填空题 (1)微机是以总线为纽带构成的计算机系统。 (2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。 (3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。 (4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。 (5)用户通过网络操作系统可以网络通信、资源共享,从而大大扩展了计算机的应用范围。 3.简答题 (1)什么是操作系统?现代操作系统的基本特征是什么?并发性 (2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么?及时性 (3)试述分时系统的原理及其特性。时间片原则交互性同时性独立性及时性

计算机操作系统习题答案

计算机操作系统习题答 案 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

第一章操作系统概论 1.单项选择题 ⑴ B; ⑵ B; ⑶ C; ⑷ B; ⑸ C; ⑹ B; ⑺ B;⑻ D;⑼ A;⑽ B; 2.填空题 ⑴操作系统是计算机系统中的一个最基本的系统软件,它管理和控制计算机系统中的各种系统资源; ⑵如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为多功能(元)操作系统; ⑶没有配置任何软件的计算机称为裸机; ⑷在主机控制下进行的输入/输出操作称为联机操作; ⑸如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于分时操作系统类型;如果OS可靠,响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户递交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理操作系统类型; ⑹操作系统的基本特征是:并发、共享、虚拟和不确定性; ⑺实时操作系统按应用的不同分为过程控制和信息处理两种; ⑻在单处理机系统中,多道程序运行的特点是多道、宏观上并行和微观上串行。 第二章进程与线程 1.单项选择题

⑴ B;⑵ B;⑶ A C B D; ⑷ C; ⑸ C; ⑹ D; ⑺ C; ⑻ A; ⑼ C; ⑽ B; ⑾ D; ⑿ A; ⒀ D; ⒁ C; ⒂ A; 2.填空题 ⑴进程的基本状态有执行、就绪和等待(睡眠、阻塞); ⑵进程的基本特征是动态性、并发性、独立性、异步性及结构性; ⑶进程由控制块(PCB)、程序、数据三部分组成,其中PCB是进程存在的唯一标志。而程序部分也可以为其他进程共享; ⑷进程是一个程序对某个数据集的一次执行; ⑸程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性; ⑹设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况: ①没有运行进程,有2个就绪进程,n个进程处于等待状态; ②有一个运行进程,没有就绪进程,n-1个进程处于等待状态; ③有1个运行进程,有1个等待进程,n-2个进程处于等待状态; ④有1个运行进程,n-1个就绪进程,没有进程处于等待状态; 上述情况中不可能发生的情况是①; ⑺在操作系统中引入线程的主要目的是进一步开发和利用程序内部的并行性; ⑻在一个单处理系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有4个,最少0个;

操作系统课后习题答案

1.什么是操作系统?其主要功能是什么? 操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口. 2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待? (2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。 0 50 100 150 200 250 300 50 100 50 100 50 100 20 100 (1) cpu有空闲等待,在100ms~150ms的时候. (2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms. 1.设公共汽车上,司机和售票员的活动如下: 司机的活动:启动车辆;正常行车;到站停车。 售票员的活动:关车门;售票;开车门。 在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。 semaphore s1,s2; s1=0;s2=0; cobegin 司机();售票员(); coend process 司机() { while(true) { P(s1) ; 启动车辆; 正常行车; 到站停车; V(s2); } } process 售票员() { while(true) { 关车门; V(s1);

售票; P(s2); 开车门; 上下乘客; } } 2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。请用信号量和P、V操作,写出能够正确执行的程序。 semaphore sp,sq,sr; int buf;sp=1;sq=0;sr=0; cobegin process P() { while(true) { 从磁带读入数据; P(sp); Buf=data; V(sq); } } process Q() { while(true) { P(sq); data=buf; 加工data; buf=data; V(sr); } } process R() { while(true) { P(sr); data=buf; V(sp); 打印数据; } }

操作系统教程第5版课后答案

操作系统教程第5版课后答案 费祥林、骆斌编著 第一章操作系统概论 习题一 一、思考题 1.简述现代计算机系统的组成及层次结构。 答:现代计算机系统由硬件和软件两个部分组成。是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。软件层由包括系统软件、支撑软件和应用软件。其中系统软件是最靠近硬件的。 2、计算机系统的资源可分成哪几类?试举例说明。 答:包括两大类,硬件资源和信息资源。硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。 3.什么是操作系统?操作系统在计算机系统中的主要作用是什么? 答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。 操作系统在计算机系统中主要起4个方面的作用。 (1)服务用户观点——操作系统提供用户接口和公共服务程序 (2)进程交互观点——操作系统是进程执行的控制者和协调者 (3)系统实现观点——操作系统作为扩展机或虚拟机 (4)资源管理观点——操作系统作为资源的管理者和控制者 4.操作系统如何实现计算与操作过程的自动化? 答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。又可分为批处理单道系统和批处理多道系统。单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率 5.操作系统要为用户提供哪些基本的和共性的服务? 答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。为了保证高效率、高质量的工作,使得多个应用程序能够有效的共享系统资源,提高系统效率,操作系统还具备一些其他的功能:资源分配,统计,保护等。 6.试述操作系统所提供的各种用户接口。 答:操作系统通过程序接口和操作接口将其服务和功能提供给用户。程序接口由一组系统调用组成,在应用程序中使用“系统调用”可获得操作系统的低层服务,访问或使用系统管理的各种软硬件资源,是操作系统对外提供服务和功能的手段;操作接口由一组命令和(或)作业控制语言组成,是操作系统为用户提

操作系统习题答案

例1:某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。将十进制的逻辑地址1023、2500、4500转换为物理地址。 1)逻辑地址1023:1023/1K得页号为0,页内地址为1023,查页表找到对应得物理块为2,故物理 地址为2*1K+1023=3071。 2)逻辑地址2500:2500/1K得页号为2,页内地址为452,查页表找到对应得物理块为6,故物理地 址为6*1K+452=6596。 3)逻辑地址4500:4500/1K得页号为4,页内地址为404,页号大于页表长度,产生越界中断 例2:某系统有224字节的内存,固定分区的大小为216字节,1)进程表中的每个表项至少要用多少位来记录分配给进程的分区?2)界限寄存器必须要有多少位? 1)224字节/ 216字节= 28字节,因此需要8位来存储28个分区中的一个。 2)固定分区的大小为216字节,故最大合法地址就是216-1,二进制中216-1就是16位,所以界 限寄存器有16位。 例3:在某简单分页系统中,有224字节的物理内存,256页的逻辑地址空间,且页的大小为210字节,问逻辑地址有多少位? 答:逻辑地址空间包括了256=28个大小为210字节的页,总的逻辑地址空间就是210×28=218 字节,因此需要18位的地址来表示218字节地址空间。 例4:某系统的用户空间共有32个页面,每页1KB,主存16KB。试问: 1)逻辑地址的有效位就是多少? 2)物理地址需要多少位? 3)假定某时刻系统为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚地址0A5CH 与093CH变换为物理地址。 答:1)逻辑地址空间包括了32=25个大小为210字节的页,总的逻辑地址空间就是25×210=215 字节,因此需要15位的地址来表示215字节地址空间。 2)物理地址=主存16KB=214,因此物理地址需要14位。 3)0A5CH=1100B,前5位为逻辑地址中的页号,为00010B=2,即该地址的物理块号为4,表示为5 位的二进制为00100B,因此0A5CH的物理地址就是1100,即125CH。同样的方法求得,093CH 对应的物理地址就是113CH。 例5:假设一个分页存储系统具有快表,多数活动页表项都可以存在其中。如果页表放在内存中。内存访问时间就是1us,若快表的命中率就是85%,则有效存取时间为多少?若快表的命中率为50%,那么有效存取时间为多少? 解:当快表的命中率为85%时,有效存取时间为: 0、85×1+(1-0、85)×(1+1)=1、15us 当快表的命中率为50%时,有效存取时间为: 0、5×1+(1-0、5)×(1+1)=1、5us 例6:计算[0,430], [1,10], [2,500], [3,400], [4,20], [5,100]的内存地址 答:[0,430]:219+430=649 Array [1,10]:3300+10=3310 [2,500]:段内地址越界 [3,400]:1237+400=1637 [4,20]:1952+20=1972 [5,100]:段号越界 思考题: 1、“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法就是否正

相关文档