当前位置:文档之家› 操作系统习题答案(中国铁道出版社_刘振鹏_李亚平_王煜_张明) (2)

操作系统习题答案(中国铁道出版社_刘振鹏_李亚平_王煜_张明) (2)

{
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
}
⒎什么叫紧凑?为什么要进行紧凑?
答:为了解决碎片问题,可采用的一种方法是,将内存中的所有作业进行移动,使它们相邻接。这样,原来分散的多个小分区便拼接成一个大分区,从而就可以把作业装入运行,这种通过移动,把多个分散的小分区拼接成大分区的方法被称为紧凑。
⑴时间片轮转法;
⑵优先级调度;
⑶先来先服务(按照次序l0、6、2、4、8运行);
⑷最短作业优先。
对⑴,假设系统具有多道处理能力,每个作业均获得公平的CPU时间,对⑵到⑷假设任—时刻只有一个作业运行,直到结束。所有的作业都是CPU密集型作业。
答:时间片轮转法的平均周转时间是21(当时间片长短=6分钟时)
⒍系统采用不能移动已在主存储器中作业的可变分区方式管理主存储器,现有供用户使用的主存空间100K,系统配有4台磁带机,有一批作业见表2.6。
表2.6
作业序号进输入井时间要求计算时间需要主存量申请磁带机数
1 l0:00 25分钟15K 2台
2 10:20 30分钟60K 1台
3 10:30 10分钟50K 3台
优先级调度的平均周转时间是20
先来先服务的平均周转时间是19
最短作业优先的平均周转时间是14
⒎并发执行的进程在系统中通常表现为几种关系?各是在什么情况下发生的?
答:在这些进程之间可能存在以下两种关系:
①资源共享关系②相互合作关系
**************************************************************
操作系统追求的主要目标包括四个方面,分别是:方便性、有效性、可扩充性、开放性。
⒌操作系统分成哪几类?
答:单道批处理系统、多道批处理系统、分时系统、实时系统、微机操作系统、多处理机操作系统、网络操作系统和分布式操作系统。
⒍从资源管理观点看,操作系统具有哪些功能?
答:处理机管理、存储器管理、I/O设备管理、文件管理。
⒕简述操作系统的特性。
答:并发、共享、虚拟、异步性。
第二章
⒊什么叫作业调度?作业调度选择作业的必要条件是什么?
答:操作系统根据允许并行工作的道数和一定的算法从等待的作业(后备作业)中选取若干作业装入主存储器,使它们可以去获得处理器运行,这项工作称为作业调度。作业调度的必要条件是,即只有在系统当前尚未分配的资源可以满足在系统中等待执行的作业的资源要求。
交换,就是系统根据需要把主存中暂时不运行的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行。
覆盖技术的关键是提供正确的覆盖结构。通常,一个作业的覆盖结构要求编程人员事先给出,对于一个规模较大或比较复杂的程序来说是难以分析和建立它的覆盖结构的。因此,通常覆盖技术主要用于系统程序的主存管理上。覆盖技术的主要特点是打破了必须将一个作业的全部信息装入主存后才能运行的限制。在一定程度上解决了小主存运行大作业的矛盾。交换技术的关键是设法减少每次交换的信息量。为此,常将作业的副本保留在外存,每次换出时,仅换出那些修改过的信息即可。同覆盖技术一样,交换技术也是利用外存来逻辑地扩充主存。它的主要特点是打破了一个程序一旦进入主存便一直运行到结束的限制。
①绝对装入方式②静态重定位方式③动态重定位方式
(第二问略)
⒌可变分区常用的分区算法有哪几种?它们各自的特点是什么?
答:首次适应算法、循环首次适应算法、最佳适应算法、最差适应算法
(第二问略)
⒍试用类C语言写首次适应算法的分配过程。
答:firstmatch(n)
{
p=Free;
while(p!=NULL)
答:先来先服务调度算法”、“计算时间短的作业优先算法”和选中作业执行的次序以及它们的平均周转时间的结果是一样的:
选中作业的次序:选中作业执行的次序均为1,2,4,5,3。
作业1的周转时间:25分钟;
作业2的周转时间:35分钟;
作业3的周转时间:70分钟;
作业4的周转时间:40分钟;
作业5的周转时间:50分钟;
1程表示符信息⑵处理机状态信息⑶进程调度信息⑷进程控制信息
⒊进程有哪几种基本状态?试举出使进程状态发生变化的事件并描绘它的状态转换图。
答:一个进程必须具有以下三种基本状态:
1绪状态⑵执行状态⑶阻塞状态
⒍有5个批处理作业A到E几乎同时到达一-计算中心。它们的估计运行时间分别为10、6、2、4和8分钟。其优先数(由外部设定)分别为3、5、2、1和4,其中5设为最高优先级。对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的开销。
4 10:35 20分钟10K 2台
5 10:40 15分钟30K 2台
该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所花的时间,请分别写出采用“先来先服务调度算法”、“计算时间短的作业优先算法”和选中作业执行的次序以及各个作业的装入主存时间、开始执行时间、完成时间、周转时间以及它们的平均周转时间。
⒒当进程对信号量s执行P、V操作时,s的值发生变化,当s>0、s=0和s<0时,其物理意义是什么?
答:S>0时S表示可使用的资源数或表示可使用资源的进程数;
S=0时S表示无资源可供使用或表示不允许进程再进入临界区;
S<0时S表示等待使用资源的进程个数或表示等待进入临界区的进程个数。
⒓有一容量为100的循环缓空区,有多个并发执行进程通过该缓空区进行通信。为了正确地管理缓冲区,系统设置了两个读写指针分别为IN、OUT。IN和OUT的值如何反映缓冲区为空还是满的情况?
进行接凑的目的是为了提高内存的利用率。
⒏简述什么是覆盖?什么是交换?覆盖和交换的区别是什么?
答:覆盖,是指同一主存区可以被不同的程序段重复使用。通常一个作业由若干个功能上相互独立的程序段组成,作业在一次运行时,也只用到其中的几段,利用这样一个事实,我们就可以让那些不会同时执行的程序段共用同一个主存区。因此,我们把可以相互覆盖的程序段叫做覆盖。
⒏什么叫临界资源?什么叫临界区?对临界区的使用应符合哪些规则?
答:临界资源是一种多个进程共享的资源。其属性是:共享临界资源的进程必须互斥得访问它,也就是说,同一时刻只允许一个进程访问的共享资源叫临界资源
在每个进程中访问临界资源的那段代码称为临界区。
每个进程在进入临界区之前应先对欲访问的临界资源进行检查,看它是否正被访问。如果此时临界资源未被访问,该进程便可进入临界区对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被某进程访问,则本进程不能进入临界区。因此,必须在临界区前面增加一段用于进行上述检查的代码。相应地,在临界区后面也要加上一段代码,用于将临界区正被访问的标志恢复为未被访问标志。
平均周转时间:(25+35+70+50+40)/5=44分钟
⒎在上题中,若允许移动已在主存储器中的作业,则作业被选中的次序又是怎样的呢?并计算出它们的平均周转时间。
答:在上题中,若允许移动已在主存储器中的作业,作业被选中的次序仍然一样。
选中作业的次序:选中作业执行的次序均为1,2,4,5,3。
平均周转时间:(25+35+70+50+40)/5=44分钟
答:死锁是指在多道程序系统中,一组进程中的每一个进程均无限期地等待被该组进程中的另一个进程所占有且永远不会释放的资源;这种现象称系统处于死锁状态,简称死锁。
⒖死锁产生的四个必要条件是什么?
答:产生死锁的四个必要条件是:⑴互斥条件⑵请求和保持条件⑶不剥夺条件⑷环路等待条件
⒗死锁的四个必要条件是彼此独立的吗?试给出最少的必要条件。
⑵试用P、V操作描述进程之间的同步算法。
答:(1)***************************************************
(2)semaphore seat=100;
void Reader()
{
while(1)
wait(seat);
...
signal(seat);
}
⒕什么是死锁?
⒉存储管理的目的是什么?
答:存储管理要实现的目的是:为用户提供方便、安全和充分大的存储空间。
所谓方便是指将逻辑地址和物理地址分开,用户只在各自逻辑地址空间编写程序,不必过问物理空间和物理地址的细节,地址的转换由操作系统自动完成;安全则是指同时驻留在内存的多道用户程序相互之间不会发生干扰,也不会访问操作系统所占有的空间。充分大的存储空间是指利用虚拟存储技术,从逻辑上对内存空间进行扩充,从而可以使用户在较小内存里运行较大程序。
答:******************************************************
⒔有一阅览室,共有100个座位。为了很好利用它,读者进入时必须先在登记表上进行登记。该表表目没有座位号和读者姓名;离开时再将其登记项摈除。试问:
⑴为描述读者的动作,应编写几个程序?应设几个进程?它们之间的关系是什么?
答:**************************************************
⒚假定系统有N个进程共享M个单位资源。进程每次只申请或释放一个资源。每个进程的最大需求不超过M。所有进程的需求总和小于M+N。为什么这种情况下也决不会发生死锁?试证明。
答:*********************************************************
相关主题