当前位置:问答库>考研试题

2017年中国科学技术大学计算机科学与技术学院408计算机学科专业基础综合之计算机操作系统考研仿真模拟题

  摘要

一、综合题

1. 为什么要引入动态重定位? 如何实现?

【答案】(1)引入动态重定位的原因

在连续分配方式中,必须把一个系统或用户程序装入一连续的内存空间。如果在系统中只有若干个小的分区,即使它们容量的总和大于要装入的程序,但由于这些分区不相邻接,也无法把该程序装入内存。若想把程序装入,可采用的一种方法是:将内存中的所有作业进行移动,使它们全都相邻接,这样,即可把原来分散的多个小分区拼接成一个大分区,这时就可把作业装入该区。这种通过移动内存中作业的位置,以把原来多个分散的小分区拼接成一个大分区的方法,称为“拼接”或“紧凑”。由于经过紧凑后的某些用户程序在内存中的位置发生了变化,此时若不对程序和数

,则程序必将无法执行。为此,在每次“紧凑”后,都必须对移动了的程据的地址加以修改(变换)

序或数据进行重定位。

(2)引入动态重定位的实现

在动态运行时装入的方式中,作业装入内存后的所有地址都仍然是相对地址,将相对地址转换为物理地址的工作,被推迟到程序指令要真正执行时进行。为使地址的转换不会影响到指令的执行速度,必须有硬件地址变换机构的支持,即须在系统中増设一个重定位寄存器,用它来存放程序(数据)在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。当系统对内存进行了“紧凑”而使若干程序从内存的某处移至另一处时,不需对程序做任何修改,只要用该程序在内存的新起始地址去置换原来的起始地址即可。

2. 什么叫重定位?采用内存分区管理时,如何实现程序运行时的动态重定位?

【答案】重定位,又称地址映射,就是要建立虚拟地址与内存地址的关系,把逻辑地址转换成物理地址的过程。

其具体方法有两种:静态地址重定位和动态地址重定位。

(1)静态地址重定位:即在虚空间程序执行之前由装配进程完成映射工作,完成各个首地址不同的连续地址对换,不需要硬件支持,但无法实现虚拟存储器,不支持对换技术。程序一旦装入内存就不能再移动和对换,而且必须在程序执行之前把有关部分全部装入内存;

(2)动态地址重定位:即在程序执行过程中CPU 访问之前,将要访问的内容(代码、数据)地址转换成内存地址,它依靠硬件地址变换机制完成:

物理线性地址=基地址+程序虚地址

动态重定位的实现。通常,这种转换由专门的硬件机构来完成,通常采用一个重定位寄存器,在每次进行存储访问时,对取出的逻辑地址加上重定位寄存器的内容,形成正确的物理地址,重

定位寄存器的内容是程序装入内存的起始地址。

3. 如何利用拥有权来增、删某种访问权?

【答案】如图所示,

如果在中包含所有访问权,则在域上运行的进程,可以增加或删除其在j 列上任何项中的访问权。换言之,进程可以増加或删除在任何其它域中运行的进程对对象j 的访问权。例如,在图(a )中,在域D , 中运行的进程(用户)是文件巧的所有者,他能増加或删除在其它域中的运行进程对文件的访问权。在图(b )中显示出了在域

进程删除了在域中运行的进程对文件的执行权。

中运行的

(a )

(b )

图 带所有权的访问矩阵

4. 什么是操作系统?它有什么基本特征?

【答案】操作系统(Operating System, 简称0S )是一个管理计算机系统资源,控制程序运行的系统软件,它为用户提供了一个方便、安全、可靠的工作环境和界面。它有4个基本特征。

并发性:指两个或多个事件在同一时间间隔内发生;

共享性:指系统中的资源可供内存中多个并发执行的进程共同使用;

虚拟性:指通过某种技术把一个物理实体变成若干个逻辑上的对应物;

异步性:即不确定性。在多道程序设计中,各个程序之间存在着直接或间接的联系,程序的推进速度受它的运行环境的影响。这时同一程序和数据的多次运行可能得到不同的结果;程序的运行时间、运行顺序也具有不确定性;外部输入的请求、运行故障发生的时间难以预测,这些都是不确定性的表现。

5. 在UNIX 中,如果一个盘块的大小为1KB ,每个盘块号占4个字节,即每块可放256个地址。请转换下列文件的字节偏移量为物理地址:

(1)9999; (2)18000; (3)420000。

【答案】首先将逻辑文件的字节偏移量转换为逻辑块号和块内偏移量,即字节偏移量/盘块大小的商为逻辑块号,余数是块内偏移量。在UNIX 的FCB 中,第0〜9个地址为直接地址,第10个为一次间接地址,第11个地址为二次间接地址,第12个地址为三次间接地址。在将文件的逻辑块号转换为物理块号后,使用多重索引结构,在索引结点中根据逻辑块号通过直接索引或间接索引找到对应的物理块号。

9999/1024=9余783, 则逻辑块号为9, 直接索引第9个地址得到物理块号,(1)块内偏移地址为783;

(2)18000/1024=17余592, 则逻辑块号为

可得到物理块号,块内偏移地址为592;

420000/1024=410余160, 则逻辑块号为(3)通过二次间接索引在第11个地址中可得到一次间址,再由此得到二次间址,再找到物理块号,其块内偏移地址160。

6. 可以采取什么方法来实现对变长记录文件进行随机检索?

【答案】(1)按关键字建立索引

变长记录文件查找一个记录必须从第一个记录查起,一直顺序查找到目标记录为止,耗时很长。如果我们为变长记录文件建立一张索引表,为主文件中的每个记录在索引表中分别设置一个表项,记录指向记录的指针(即记录在逻辑地址空间的首址)以及记录的长度L ,索引表按关键字排序,因此其本身也是一个定长记录的顺序文件,这样就把对变长记录顺序文件的顺序检索转变为对定长记录索引文件的随机检索,从而加快对记录检索的速度,实现直接存取。

(2)具有多个索引表的索引文件

使用按关键字建立索引表的索引文件与顺序文件一样,都只能按该关键字进行检索。而实际应用情况往往是:不同的用户,为了不同的目的,希望能按不同的属性(或不同的关键字)来检索一条记录。为实现此要求,需要为顺序文件建立多个索引表,即为每一种可能成为检索条件的域(属性或关键字)都配置一张索引表。在每一个索引表中,都按相应的一种属性或关键字进行排序。

7. 为何要引入与设备的无关性? 如何实现设备的独立性?

【答案】(1)引入设备无关系的目的

引入设备独立性,可使应用程序独立于具体的物理设备,显著改善资源的利用率及可适应性;还可以使用户独立于设备的类型。

(2)实现设备独立性的方法

在应用程序中应使用逻辑设备名称来请求使用某类设备,当应用程序用逻辑设备名请求分配I/0设备时,系统必须为它分配相应的物理设备,关在逻辑设备表LUT 中建立一个表目。

通过一次间接索引在第10个地址