操作系统(第三版)习题答案(中国铁道出版社 - 刘振鹏) 2(2)

2019-04-21 18:55

⑷返回问题

一般的程序呼叫在被调用过程执行完后,将返回到调用过程继续执行。但是,在采用抢占式调度方式的系统中,系统调用中被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍然具有最高优先级,则返回到调用进程继续执行,否则,将引起重新调度,以便让优先级最高的进程优先执行。此时,系统将把调用进程放入就绪队列。 ⑸嵌套调用

像一般过程一样,系统调用也允许嵌套调用,即在一个被调用过程的执行期间,还可以再利用系统调用命令去调用另一个系统调用。一般情况下,每个系统对嵌套调用的深度都有一定的限制,例如最大深度为6。 ⒒分时系统中终端处理程序的作用是什么? 答:配置在终端上的终端处理程序主要用于实现人机交互,接收用户从终端上输入的字符、字符缓冲管理、回送显示、屏幕编辑和特殊字符处理。

第三章

作者:佚名 来源:网络

⒈何谓进程,它与程序有哪些异同点? 答:进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。或者说,进程是进程实体的运行过程。 ①进程是程序的一次执行,它是一个动态的概念,程序是完成某个特定功能的指令的有序序列,它是—个静态的概念。但进程是把程序作为它的运行实体,没有程序,也就没有进程。进程和程序的区别还在于:一个进程可以执行一个或几个程序。反之,同一程序也可能由多个进程同时执行。

②进程是系统进行资源分配和调度的一个独立单位;程序则不是。

③程序可以作为一种软件资源长期保存,而进程是程序的一次执行过程,它是临时的,有生命期的。表现在它由创建而产生,完成任务后被撤销。 ④进程是具有结构的。为了描述进程的运行变化过程,应为每个进程建立一个结构——进程控制块。从结构上看,进程是由程序、数据和进程控制块三部分组成。 ⒉进程控制块的作用是什么?它主要包括哪几部分内容? 答:进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。也就是说,操作系统是根据进程控制块PCB来对并发执行的进程进行控制和管理的。PCB是进程存在的惟一标志。

在进程控制块中,主要包括下述四个方面用于描述和控制进程运行的信息: ⑴进程表示符信息 ⑵处理机状态信息 ⑶进程调度信息 ⑷进程控制信息

⒊进程有哪几种基本状态?试举出使进程状态发生变化的事件并描绘它的状态转换图。

答:一个进程必须具有以下三种基本状态:

⑴就绪状态 ⑵执行状态 ⑶阻塞状态

********************************************************** ⒋什么是操作系统的内核? 答:现代操作系统广泛采用层次式结构,而将操作系统的功能分别设置在不同的层次中,通常,将一些与硬件紧密相关的模块诸如中断处理程序、各种常用设备的驱动程序以及运行频率较高的模块(诸如时钟管理、进程调度以及许多模块公用的一些基本操作)都安排在紧靠硬件的软件层次中并使它们常驻内存,以便提高操作系统的运行效率,并对它们加以特殊的保护。通常把这一部分称为操作系统的内核。内核是计算机硬件的第一层扩充软件,它们为系统对进程进行控制、对内存进行管理提供了有效的机制。

⒌大多数时间片轮转调度程序使用一个固定大小的时间片,请给出选择小时间片的理由。然后,再给出选择大时间片的理由。

答:选择小时间片目的是使轮转的总时间减少,使用户进程尽快得到应答 选择大时间片目的是减少进程调度的次数,提高系统效率。

⒍有5个批处理作业A到E几乎同时到达一-计算中心。它们的估计运行时间分别为10、6、2、4和8分钟。其优先数(由外部设定)分别为3、5、2、1和4,其中5设为最高优先级。对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的开销。 ⑴时间片轮转法; ⑵优先级调度;

⑶先来先服务(按照次序l0、6、2、4、8运行); ⑷最短作业优先。

对⑴,假设系统具有多道处理能力,每个作业均获得公平的CPU时间,对⑵到⑷假设任—时刻只有一个作业运行,直到结束。所有的作业都是CPU密集型作业。

答:时间片轮转法的平均周转时间是21(当时间片长短=6分钟时) 优先级调度的平均周转时间是20 先来先服务的平均周转时间是19 最短作业优先的平均周转时间是14

⒎并发执行的进程在系统中通常表现为几种关系?各是在什么情况下发生的? 答:在这些进程之间可能存在以下两种关系: ① 资源共享关系 ②相互合作关系

************************************************************** ⒏什么叫临界资源?什么叫临界区?对临界区的使用应符合哪些规则?

答:临界资源是一种多个进程共享的资源。其属性是:共享临界资源的进程必须互斥得访问它,也就是说,同一时刻只允许一个进程访问的共享资源叫临界资源 在每个进程中访问临界资源的那段代码称为临界区。

每个进程在进入临界区之前应先对欲访问的临界资源进行检查,看它是否正被访问。如果此时临界资源未被访问,该进程便可进入临界区对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被某进程访问,则本进程不能进入临界区。因此,必须在临界区前面增加一段用于进行上述检查的代码。相应地,在临界区后面也要加上一段代码,用于将临界区正被访问的标志恢复为未被访问标志。

⒐若信号量s表示某一类资源,则对s执行P、v操作的直观含意是什么?

答:P操作相当于申请一个资源,得不到阻塞;V操作相当于归还一个资源,如有等待该资源的进程,则唤醒。

⒑在用P、V操作实现进程通信时,应根据什么原则对信号量赋初值? 答:************************************************

⒒当进程对信号量s执行P、V操作时,s的值发生变化,当s>0、s=0和s<0时,其物理意义是什么?

答:S>0时 S表示可使用的资源数或表示可使用资源的进程数; S=0时 S表示无资源可供使用或表示不允许进程再进入临界区;

S<0时 S表示等待使用资源的进程个数或表示等待进入临界区的进程个数。 ⒓有一容量为100的循环缓空区,有多个并发执行进程通过该缓空区进行通信。为了正确地管理缓冲区,系统设置了两个读写指针分别为IN、OUT。IN和OUT的值如何反映缓冲区为空还是满的情况?

答:******************************************************

⒔有一阅览室,共有100个座位。为了很好利用它,读者进入时必须先在登记表上进行登记。该表表目没有座位号和读者姓名;离开时再将其登记项摈除。试问: ⑴为描述读者的动作,应编写几个程序?应设几个进程?它们之间的关系是什么?

⑵试用P、V操作描述进程之间的同步算法。 答:(1)*************************************************** (2)semaphore seat=100; void Reader() {

while(1) wait(seat); ...

signal(seat); }

⒕什么是死锁? 答:死锁是指在多道程序系统中,一组进程中的每一个进程均无限期地等待被该组进程中的另一个进程所占有且永远不会释放的资源;这种现象称系统处于死锁状态,简称死锁。

⒖死锁产生的四个必要条件是什么? 答:产生死锁的四个必要条件是:⑴互斥条件 ⑵请求和保持条件 ⑶不剥夺条件 ⑷环路等待条件

⒗死锁的四个必要条件是彼此独立的吗?试给出最少的必要条件。 答:********************************************** ⒘什么是银行家算法? 答:银行家算法是用来避免死锁产生的一种方法,该方法可以用在银行的信贷上,故称为银行家算法。具体算法略。

⒙假定系统有4个同类资源和3个进程,进程每次只申请或释放一个资源。每个进程最大资源需求量为2。请问,这个系统为什么不会发生死锁? 答:**************************************************

⒚假定系统有N个进程共享M个单位资源。进程每次只申请或释放一个资源。每个进程的最大需求不超过M。所有进程的需求总和小于M+N。为什么这种情

况下也决不会发生死锁?试证明。

答:*********************************************************

⒛一个计算机系统有六个磁带驱动器n个进程。每个进程最多需要两个带驱动。问当n为什么值时,系统不会发生死锁? 答:n<=5时,不会发生死锁。

第四章

作者:佚名 来源:网络

⒈计算机系统中内存一般分为哪两级?各有什么特点? 答:计算机系统中内存一般分为主存储器和辅助内存两级。

主存储器简称主存,又称为内存,它由自然数顺序编址的单元(通常为字或字节)所组成,是处理机直接存取指令和数据的内存,它速度快,但容量有限。辅助内存简称辅存,又称为外存,它由顺序编址的“块”所组成,每块包含若干个单元,寻址与交换以块为单位进行,处理机不能直接访问它,它须经过专门的启动入出过程与内存交换信息,它存取速度较慢,但容量远大于内存,实际上,现代计算机系统中用户的数据(或信息)都是保存在外存中。 ⒉存储管理的目的是什么?

答:存储管理要实现的目的是:为用户提供方便、安全和充分大的存储空间。 所谓方便是指将逻辑位址和物理位址分开,用户只在各自逻辑地址空间编写程序,不必过问物理空间和物理位址的细节,地址的转换由操作系统自动完成;安全则是指同时驻留在内存的多道用户程序相互之间不会发生干扰,也不会访问操作系统所占有的空间。充分大的存储空间是指利用虚拟存储技术,从逻辑上对内存空间进行扩充,从而可以使用户在较小内存里运行较大程序。 ⒊存储管理的任务是什么? 答:存储管理是计算机操作系统软件的一部分,它负责完成对主存储器的地址转换,对主存储器进行分配与去配,解决多用户对主存储器的共享和保护,通过软件手段,实现对主存储器容量的扩充。

⒋地址转换可分为哪三种方式?比较这三种方式的优缺点。

答:由逻辑位址转化为物理位址的位址转换过程,按照转换的时间不同,可以分为3种方式:

① 绝对装入方式 ②静态复位位方式 ③动态复位位方式 (第二问 略)

⒌可变分区常用的分区算法有哪几种?它们各自的特点是什么?

答:首次适应算法、循环首次适应算法、最佳适应算法、最差适应算法 (第二问 略)

⒍试用类C语言写首次适应算法的分配过程。 答:firstmatch(n) {

p=Free;

while(p!=NULL) {

if(p->size>=n) {

if(p->size-n>=size) p->size=p->size-n; a=p; p=p+n; else a=p;

remove(Free,p); } else

p=p->next }

return a }

⒎什么叫紧凑?为什么要进行紧凑?

答:为了解决碎片问题,可采用的一种方法是,将内存中的所有作业进行移动,使它们相邻接。这样,原来分散的多个小分区便拼接成一个大分区,从而就可以把作业装入运行,这种通过移动,把多个分散的小分区拼接成大分区的方法被称为紧凑。

进行接凑的目的是为了提高内存的利用率。

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

答:覆盖,是指同一主存区可以被不同的程序段重复使用。通常一个作业由若干个功能上相互独立的程序段组成,作业在一次运行时,也只用到其中的几段,利用这样一个事实,我们就可以让那些不会同时执行的程序段共享同一个主存区。因此,我们把可以相互覆盖的程序段叫做覆盖。

交换,就是系统根据需要把主存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行。 覆盖技术的关键是提供正确的覆盖结构。通常,一个作业的覆盖结构要求编程人员事先给出,对于一个规模较大或比较复杂的程序来说是难以分析和建立它的覆盖结构的。因此,通常覆盖技术主要用于系统程序的主存管理上。覆盖技术的主要特点是打破了必须将一个作业的全部信息装入主存后才能运行的限制。在一定程度上解决了小主存运行大作业的矛盾。交换技术的关键是设法减少每次交换的信息量。为此,常将作业的副本保留在外存,每次换出时,仅换出那些修改过的信息即可。同覆盖技术一样,交换技术也是利用外存来逻辑地扩充主存。它的主要特点是打破了一个程序一旦进入主存便一直运行到结束的限制。 ⒐简述分页存储管理方式的基本思想和页表的作用。 答:基本思想:在分页存储管理中将作业地址空间和存储空间按相同长度为单位进行等划分。把每个作业的地址空间(逻辑空间)分成一些大小相同的片段,叫做页面或页(Page)。把内存的存储空间也分成大小与页面相同的片段,叫做物理块或页框(Frame)。在分配存储空间时,总是以块为单位,按照作业的页数分配物


操作系统(第三版)习题答案(中国铁道出版社 - 刘振鹏) 2(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江苏省联盟大联考2017届高三2月联考语文试题(含答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: