操作系统计算题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四、计算题

1.有以下三个作业,分别采用先来先服务和短作业优先作业调度算法。试问它们的平均周转时间各是什么?是否还可以给出一种更好的调度算法,使其平均周转时间优于这两种调度算法?

解:(1)采用先来先服务作业调度算法时的实施过程如下。

这时,作业的调度顺序是1→2→3。其平均周转时间为:(8 + 11.6 + 12)/ 3 = 10.53

(2)采用短作业优先作业调度算法时的实施过程如下。

这里要注意,在作业1运行完毕进行作业调度时,作业2和3都已经到达。由于是实行短作业优先作业调度算法,因此先调度作业3运行,最后调度作业2运行。所以,这时的作业调度顺序是1→3→2。其平均周转时间为:(8 + 8 + 12.6)/ 3 = 9.53

(3)还可以有更好的作业调度算法,使其平均周转时间优于这两种调度算法。例如,如果知道在作业1后面会来两个短作业,那么作业1到达后,先不投入运行。而是等所有作业到齐后,再按照短作业优先作业调度算法进行调度,具体实施过程如下。

这时的作业调度顺序是3→2→1。其平均周转时间为:(1 + 5.6 + 14)/ 3 = 6.87

2.有一组作业,它们的到达时间和所需CPU时间如下所示,分别采用先来先服务和短作业优先作业调度算法,给出它们的调度顺序、作业周转时间以及平均周转时间。

解:(1)采用先来先服务作业调度算法时的实施过程如下:

这时,作业的调度顺序是1→2→3→4,其平均周转时间为:(70 + 60 + 60 + 45)/ 4 = 58.75 (2)采用短作业优先作业调度算法时的实施过程如下:

这时,作业的调度顺序是1→4→3→2,其平均周转时间为:(70 + 5 + 35 + 75)/ 4 = 46.25

三、简答题

1.对临界区的管理应遵循哪些基本准则?

答:为了合理利用临界资源,保证进程互斥地进入临界区,对临界区的管理应遵循以下准则:

(1)空闲让进。当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。

(2)忙则等待。当已有进程进入临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。

(3)有限等待。对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。

(4)让权等待。当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。

2.什么是死锁?死锁的预防措施有哪些?

答:死锁是指多个并发执行的进程因竞争系统资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进。

由于产生死锁的4个必要条件必须同时存在,系统才会产生死锁,所以,只要使4个必要条件中至少有一个不能成立,就可以达到预防死锁的目的。(1)破坏“请求和保持”条件,优点是简单、易于实现且很安全;(2)破坏“不剥夺”条件,在采用这种方法预防死锁时,进程是在需要资源时才提出请求。这样,一个已经保持了某些资源的进程,当它再提出新的资源要求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再重新申请。这种预防死锁方法,实现起来比较复杂,且要付出很大代价。(3)破坏“循环等待”条件,在这种方法中规定,系统将所有的资源按类型进行线形排队,并赋予不同的序号。这种预防死锁的策略与前两种策略比较,其资源利用率和系统吞吐量,都有较明显的改善。由于互斥性是某些资源的固有特性,所以一般不破坏互斥条件。

3.进程之间有哪些基本的通信方式?分别有什么特点?

答:进程通信根据交换信息量的多少分为高级通信和低级通信。低级通信一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用(如P、V操作);高级通信则要传送大量数据,目的不是为了控制进程的执行速度,而是为了交换信息。

高级进程通信方式有很多种,大致可归为三类:共享存储器、管道通信和消息传递。(1)共享存储器:在内存种分配一片空间作为共享存储区。需要进行通信的进程把它附加到自己的地址空间中,不需要时则把它取消。(2)管道通信:它是连接两个命令的一个打开文件。一个命令向该文件中写入数据,为写者;另一个命令从该文件中读出数据,为读者。(3)消息传递:它以消息为单位在进程间进行数据交换。

三、简答题

1.将一个程序装入内存通常有哪几种方式?

答:(1)绝对装入方式。绝对装入方式是由装入程序根据装入模块中的地址将程序和数据装入内存。程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。采用绝对装入方式的前提是地址空间的容量要足够且可用。这种方式对于单道程序是可行的。但对于多道程序来讲,程序员需要准确地了解内存分区及使用的情况,正确定位程序或数据的内存地址,避免冲突的发生,而且一旦程序或数据被修改后,可能需要改变程序中的所有地址。

(2)可重定位装入方式。可重定位装入又称静态重定位装入,装入程序根据内存当前的实际使用情况,将装入模块装入到内存适当的地方,地址变换在装入时一次完成。这种方式采用相对地址来存放程序和数据。一般设定程序的地址空间从0开始,当需要装入该程序时,通过转换来确定它们在内存中的实际位置。

(3)动态运行时装入方式。动态运行时装入又称动态重定位装入,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址。为使地址转换不影响指令的执行速度,这种方式需要特殊硬件的支持。

2. 简述基本分页存储管理的主要优缺点。

答:基本分页存储管理的主要优点有:不要求作业或进程的程序和数据在内存中连续存放,从而有效地解决了碎片问题;提高了内存的利用率,又有利于组织多道程序运行。主要缺点有:采用动态地址转换机构降低了CPU的速度;由于作业的地址空间不一定是存储块的整数倍,因而最后一个存储块往往是装不满的,即出现了块内碎片问题;要求运行的作业必须全部装入内存才能运行,如果现有的空闲块不足以满足该作业的要求,作业只能等待,浪费了内存空闲空间。

3. 什么是虚拟存储器?虚拟存储器具有哪些特征?

答:所谓虚拟存储器,是指具有请求调入功能和置换功能,把内存和外存结合起来使用,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量和内存大小无直接关系,主要由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而成本却又接近于外存。

虚拟存储器的特征可以概括为以下4点:

(1)离散性:装入虚拟存储器的进程都是离散存放的,这是虚拟存储器的基础。

(2)多次性:一个作业被分成多次调入内存运行,即在作业运行时没必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存,以后每当运行到尚未调入的那部分程序时,再将它调入。

(3)对换性:允许在作业的运行过程中进行换进、换出。在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进)。

(4)虚拟性:指能够从逻辑上扩充内存容量,虚拟出一个较大的逻辑空间,使用户所看到的内存容量远大于实际内存容量。

4. 简述分页与分段的区别。

答:分段和分页的区别:段式管理和页式管理都采用离散分配方式,且地址转换都需要硬件的支持。但它们也存在以下几个方面的不同:

相关文档
最新文档