1、11. 为实现对换,系统应具备哪几方面功能?a. 对对换空间的管理;b. 进程的换出;c. 进程的换入. 12.在以进程为单位进行对换时,每次是否都将整个进程换出?为什么?a. 以进程为单位进行对换时,每次都将整个进程换出;b. 目的为了解决内存紧张的问题,提高内存的利用率. 14 较较详细地说明引入分段存储管理是为了满足用户哪几方面的需要?a. 方便了编程;b. 实现了分段共享;c. 实现了分段保护;d. 实现了动态链接;e. 实现了动态增长. 15 在具有快表的段页式存储管理方式中,如何实现地址变换?首先,必须配置一段表寄存器,在其中存放段表始址和段长 TL. 进行地址变换时,先利用段号
2、S,与段长 TL 进行比较,若 S=TL,表示段号太大,访问越界,产生越界中断信号)于是利用段表始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段内页号 P 来获得对应页的页表项位置,从中读出该页所在的物理块号b,再用块号 b 和页内地址构成物理地址. 16.为什么说分段系统较之分页系统更易于实现信息共享和保护?a. 对于分页系统,每个页面是分散存储的,为了实现信息共享和保护,则页面之间需要一一对应起来,为此需要建立大量的页表项;b. 而对于分段系统,每个段都从 0 开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序
3、设置一个段表项,将其中的基址与内存地址一一对应起来即可. 17 分页和分段有何区别?a. 分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;b. 对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减-内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;c. 页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;d. 分页的作业地址空间是一维的,而分段的作业地址空间是二维的. 18 试全面比较连续
4、分配和离散分配方式.a. 连续分配是指为一个用户程序分配一个连续的地址空间,包括单一连续分配方式和分区式分配方式,前者将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,-但只能用于单用户单任务的操作系统中;分区式分配方式分为固定分区和动态分区,固定分区是最简单的多道程序的存储管理方式,由于每个分区的大小固定,必然会造成存储空间的浪费;动态分区是根据进程的实际需要,动态地为之分配连续的内存空间,常用三种分配算法: 首次适应算法 FF,该法容易留下许多难以利用的小空闲分区,加大查找开销;循环首次适应算法,该算法能使内存中的空闲分区分布均匀,但会致使缺少大的空
5、闲分区;最佳适应算法,该算法也易留下许多难以利用的小空闲区;b. 离散分配方式基于将一个进程直接分散地分配到许多不相邻的分区中的思想,分为分页式存储管理,分段存储管理和段页式存储管理. 分页式存储管理旨在提高内存利用率,满足系统管理的需要,分段式存储管理则旨在满足用户(程序员)的需要,在实现共享和保护方面优于分页式存储管理,而段页式存储管理则是将两者结合起来,取长补短,即具有分段系统便于实现,可共享,易于保护,可动态链接等优点,又能像分页系统那样很好的解决外部碎片的问题,以及为各个分段可离散分配内存等问题,显然是一种比较有效的存储管理方式;c. 综上可见,连续分配方式和离散分配方式各有各自的特
6、点,应根据实际情况加以改进和利用. 19. 虚拟存贮器有那些特征? 其中最本质的特征是什么?a. 虚拟存储器具有离散性,多次性,对换性和虚拟性的特征;b. 其中最本质的特征是离散性,在此基础上又形成了多次性和对换性,所表现出来的最重要的特征是虚拟性. 20. 实现虚拟存储器要那些硬件支持?a. 对于为实现请求分页存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还需要有页表机制,缺页中断机构以及地址变换机构;b. 对于为实现请求分段存储管理方式的系统,除了需要一台具有一定容量的内存及外存的计算机外,还需要有段表机制,缺段中断机构以及地址变换机构22. 在请求分页系统中,其页表
7、项中包含那些数据项? 每项的作用是什么?a. 在请求分页系统中,其页表项中包含的数据项有页号,物理块号,状态位 P,访问字段 A,修改位 M 和外存地址;b. 其中状态位 P 指示该页是否调入内存,供程序访问时参考;c. 访问字段 A 用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法-选择换出页面时参考;d. 修改位 M 表示该页在调入内存后是否被修改过;e. 外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用. 23. 在请求分页系统中,应从何处将所需页面调入内存?a. 在进行地址变换时,首先去检索快表,试图从中找出所要访问的页,若找到,便修
8、改页表项中的访问位,对于写指令,还须将修改位置 1,然后利用页表项中给出的物理块号和页内地址,形成物理地址;b. 如果在快表中未找到该页的页表项,则应再到内存中去查找页表,再从找到的页表项中的状态位来了解该页是否已调入内存,如果该页已调入内存,应将此页的页表项写入快表,当快表已满时,应先调出按某种算法所确定的页的页表项,然后再写入该页的页表项;c. 如果该页尚未调入内存,这时便应产生缺页中断,请求 OS 从外存中把该页调入内存;d. 外存分为文件区和对换区,若系统有足够的对换区空间,可在进程运行前,将与该进程有关的文件-拷贝到对换区,需要时从对换区调入;e. 若系统缺少足够的对换区空间,则凡是
9、不会被修改的文件,可直接从文件区调入,需换出时可不必写入外存,但对于可能被修改的部分,在将它们换出时,便须调到对换区,以后需要时再从对换区-调入. 24. 在请求分页系统中,常采用哪几种页面置换算法?a. 最佳置换算法;b. 先进先出算法;c. 最近最久未使用 LRU 置换算法;d. Clock 置换算法;e. 此外,还有最少使用置换算法和页面缓冲算法25.在请求分页系统中,通常采用那种页面分配方式?为什么?a. 在请求分页系统中,有固定和可变分配两种分配方式;b. 采用固定分配方式是基于进程的类型(交互型)或根据程序员,系统管理员的建议,为每个进程分配固定页数的内存空间,在整个运行期间不再改
10、变;c. 采用可变分配方式有全局置换和局部置换两种,前者易于实现,后者效率高. 26. 在一个请求分页系统中,采用 LRU 页面置换算法时,假如一个作业的页面走向为 4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数 M分别为 3 和 4 时,试计算访问过程中所发生的缺页次数和缺页率?比较所得结果?a. 当分配给该作业的物理块数 M 为 3 时,所发生的缺页率为 7,缺页率为: 7/12=0.583;b. 当分配给该作业的物理块数 M 为 4 时,所发生的缺页率为 4,缺页率为: 4/12=0.333.27.实现 LRU 算法所需的硬件支持是什么?a. 寄存器,用于记录某
11、进程在内存中各页的使用情况;b. 栈,用于保存当前使用的各个页面的页面号. 28. 试说明改进型 Clock 置换算法的基本原理.a. 因为对于修改过的页面在换出时所付出的开销将比未被修改过的页面的开销大,所以在改进型 Clock 算法中,出了须考虑到页面的使用情况外,还须再增加一个置换代价这一因素;b. 在选择页面作为淘汰页面时,把同时满足未使用过和未被修改作为首选淘汰页面.30.如何实现分段共享?a. 可在每个进程的段表中,用相应的表项来指向共享段在内存中起始地址;b. 配置相应的数据结构作为共享段表,可在段表项中设置共享进程计数Count,每调用一次该共享段,Count 指增 1,每当一
12、个进程释放一个共享段时,Count 执行减 1 操作,若减为 0,则由系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项;c. 对于一个共享段,应给不同的进程以不同的存取权限;d. 不同的进程可以使用不同的段号去共享该段. 第五章1试说明设备控制器的构成。设备控制器的构成如图所示:由上图可见,设备控制器由以下三部分组成:(1)设备控制器与处理机的接口,该接口用于实现 CPU 与设备控制器之间的通信,提供有三类信号线:数据线、地址线和控制线。 (2)设备控制器与设备的接口,可以有一个或多个接口,且每个接口连接一台设备。每个接口都存在数据、控制和状态三种类型的信号。(3)I/O 逻辑
13、,用于实现对设备的控制。其通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送 I/O 命令,I/O 逻辑对收到的命令进行译码。2为了实现 CPU 与设备控制器之间的通信,设备控制器应具有哪些功能?为了实现 CPU 与设备控制器之间的通信,设备控制器应具有如下功能:(1)接受和识别命令。CPU 可以向控制器发送多种不同的命令,设备控制器应能接收并识别这些命令。设置控制寄存器来存放所接收的命令和参数。 (2)数据交换,指实现 CPU 与控制器之间、控制器与设备之间的数据交换。设置数据寄存器来存放有关数据。 (3)设备状态的了解和报告。控制器记录下所连接设备的状态以供 CPU 了解。为此,要在
14、控制器中设置一状态寄存器,用其中的每一位反映设备的某一状态。 (4)地址识别。配置地址译码器以便于正确识别设备地址。3什么是字节多路通道?什么是数组选择通道和数组多路通道? 字节多路通道含有许多非分配型子通道分别连接在低、中速 I/O 设备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送。具体而言,当第一个子通道控制其 I/O 设备完成一个字节的交换后,便立即腾出字节多路通道(主通道) ,让给第二个子通道使用;当第二个子通道也交换完一个字节后,又依样把主通道让给第三个子通道使用,以此类推。转轮一周后,重又返回由第一个子通道去使用主通道。 数组选择通道只含有一个分配型子通道,一段时间
15、内只能执行一道通道程序、控制一台设备按数组方式进行数据传送。通道被某台设备占用后,便一直处于独占状态,直至设备数据传输完毕释放该通道,故而通道利用率较低,主要用于连接多台高速设备。数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道分时并行操作的优点相结合而形成的一种新通道。其含有多个非分配型子通道分别连接在高、中速 I/O 设备上,子通道按时间片轮转方式共享主通道,按数组方式进行数据传送,因而既具有很高的数据传输速率,又能获得令人满意的通道利用率。4如何解决因通道不足而产生的瓶颈问题?解决因通道不足而产生的瓶颈问题的最有效方法是增加设备到主机间的通路而不是增加通道。换言之,就是把
16、一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。这种多通路方式不仅可以解决该瓶颈问题,而且能够提高系统的可靠性,也即不会因为个别通道或控制器的故障而使设备与存储器之间无法建立通路进行数据传输。6试说明 I/O 控制发展的主要推动因素是什么?推动 I/O 控制发展的主要动力在于尽量减少主机对 I/O 控制的干预,把主机从繁杂的 I/O 控制事务中解脱出来,以有更多的时间和精力去完成其数据处理任务。同时,中断机制在计算机系统中的引入、DMA 控制器的出现和通道研制的成功使 I/O 控制的发展具备了技术支持和成为可能。7有哪几种 I/O 控制方式?有四种 I/O 控制方式,即程序 I/O
17、 控制方式、中断驱动 I/O 控制方式、直接存储器访问 DMA 控制方式及 I/O 通道控制方式。8试说明 DMA 的工作流程。以从磁盘读入数据为例来说明 DMA 方式的工作流程:当 CPU 要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令,该命令被送入 DMA 控制器的命令寄存器 CR 中。同时,还需发送本次要将数据读入的内存起始目标地址,该地址被送入 DMA 控制器的内存地址寄存器 MAR 中;本次要读的字(节)数则送至 DMA控制器的数据计数器 DC 中。另外,还需将磁盘中数据读取的源地址直接送到DMA 控制器的 I/O 控制逻辑上。然后,启动 DMA 控制器进行数据传送。此后,CP
18、U 便可去处理其它任务,而整个的数据传送便由 DMA 控制器负责控制。当 DMA控制器已从磁盘中读入一个字(节)的数据,并送入 DMA 控制器的数据寄存器DR 后,再挪用一个存储器周期,将该字(节)传送到 MAR 所指示的内存单元中。接着,便对 MAR 内容加 1 和将 DC 内容减 1。若 DC 内容减 1 后不为 0,表示传送未完,便准备再传送下一个字(节) ,否则,由 DMA 控制器发出中断请求。参图所示:9引入缓冲的主要原因是什么?操作系统引入缓冲机制的主要原因可归结为以下几点:(1)缓和 CPU 与 I/O 设备间速度不匹配的矛盾;(2)减少对 CPU 的中断频率,放宽对中断响应时间
19、的限制;(3)提高 CPU 与 I/O 设备之间的并行性。10在单缓冲情况下,为什么系统对一块数据的处理时间为 max(C, T)+M ?在块设备输入时,先从磁盘把一块数据输入到缓冲区,耗时为 T;然后由操作系统将缓冲区数据传送给用户区,耗时为 M;接下来便由 CPU 对这一块数据进行计算,耗时为 C。在单缓冲情况下,磁盘把数据输入到缓冲区的操作和 CPU对数据的计算过程可以并行展开,所以系统对每一整块数据的处理时间为max(C, T) + M。11为什么在双缓冲情况下,系统对一块数据的处理时间为 max(C, T)该方式又称缓冲对换方式。写入者花费时间 T 将数据写满一个缓冲区后再写另一个缓
20、冲区;读出者花费时间 M 将一个缓冲区数据送到用户区后再传送另一个缓冲区数据,运算者读出用户区进行处理。由于将数据从缓冲区传送到用户区操作必须与读用户区数据进行处理串行进行,而且它们又可以与从外存传送数据填满缓冲区的操作并行。因此耗时大约为 max(C+M,T)。考虑到 M 是内存中数据块的“搬家”耗时,非常短暂可以省略,因此近似地认为是:max(C,T)。12试绘图说明把多缓冲用于输出时的情况。把多缓冲用于输出时的情况如图所示:13试说明收容输入工作缓冲区和提取输出工作缓冲区的工作情况。 收容输入工作缓冲区的工作情况为:在输入进程需要输入数据时,调用GetBuf(EmptyQueue)过程,
21、从 EmptyQueue 队列的队首摘下一个空缓冲区,把它作为收容输入工作缓冲区 Hin。然后,把数据输入其中,装满后再调用PutBuf(InputQueue, Hin)过程,将该缓冲区挂在输入队列 InputQueue 的队尾。 提取输出工作缓冲区的工作情况为:当要输出数据时,调用GetBuf(OutputQueue)过程,从输出队列的队首取得一装满输出数据的缓冲区作为提取输出的工作缓冲区 Sout。在数据提取完后,再调用 PutBuf(EmptyQueue, Sout)过程,将该缓冲区挂到空缓冲队列 EmptyQueue 的队尾。14何谓是安全分配方式和不安全分配方式? 所谓安全分配方式,
22、是指每当进程发出 I/O 请求后,便进入阻塞状态,直到其 I/O 操作完成时才被唤醒。在采用这种分配策略时,一旦进程已经获得某种设备(资源)后便阻塞,使它不可能再请求任何资源,而在它运行时又不保持任何资源。因此,这种分配方式已经摒弃了造成死锁的四个必要条件之一的“请求和保持”条件,所以分配是安全的。其缺点是进程进展缓慢,即 CPU 与I/O 设备是串行工作的。 所谓不安全分配方式,是指进程发出 I/O 请求后仍继续执行,需要时又可发出第二个 I/O 请求、第三个 I/O 请求。仅当进程所请求的设备已被另一个进程占有时,进程才进入阻塞状态。其优点是一个进程可同时操作多个设备,从而使进程推进迅速。
23、而缺点是分配不安全,因为它可能具有“请求和保持”条件,所以可能造成死锁。因此,在设备分配程序中还需增加一个功能,用于对本次的设备分配是否会发生死锁进行安全性计算,仅当计算结果说明分配是安全的情况下才进行分配。15为何要引入设备独立性?如何实现设备独立性?在现代操作系统中,为了提高系统的可适应性和可扩展性,都毫无例外地实现了设备独立性,也即设备无关性。其基本含义是,应用程序独立于具体使用的物理设备,即应用程序以逻辑设备名称来请求使用某类设备。进一步说,在实现了设备独立性的功能后,可带来两方面的好处:(1)设备分配时的灵活性;(2)易于实现 I/O 重定向(指用于 I/O 操作的设备可以更换即重定
24、向,而不必改变应用程序)。为了实现设备的独立性,应引入逻辑设备和物理设备两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统执行时,是使用物理设备名称。鉴于驱动程序是一个与硬件(或设备)紧密相关的软件,必须在驱动程序之上设置一层软件,称为设备独立性软件,以执行所有设备的公有操作、完成逻辑设备名到物理设备名的转换(为此应设置一张逻辑设备表)并向用户层(或文件层)软件提供统一接口,从而实现设备的独立性。16在考虑到设备的独立性时,应如何分配独占设备?在考虑到设备的独立性时,应按如下步骤来分配独占设备:(1)进程以逻辑设备名提出 I/O 请求。 (2)根据逻辑设备表相应表项获得 I/O
25、 请求的逻辑设备对应类型的物理设备在系统设备表中的指针。 (3)从指针所指位置起顺序检索系统设备表,直到找到一个属于对应 I/O 请求所用类型、空闲可用且基于设备分配安全性算法验证为安全分配的设备的设备控制表,将对应设备分配给请求进程;如果未找到安全可用的空闲设备,则把请求进程的进程控制块挂到相应类型设备的等待队列上等待唤醒和分配。 (4)系统把设备分配给 I/O 请求进程后,再到该设备的设备控制表中找出与其相连接的控制器的控制器控制表,根据其状态字段判断该控制器是否忙碌,若忙则把请求进程的进程控制块挂到该控制器的等待队列上;否则将该控制器分配给进程。 (5)系统把控制器分配给 I/O请求进程
26、后,再到该控制器的控制器控制表中找出与其相连接的通道的通道控制表,根据其状态字段判断该通道是否忙碌,若忙则把请求进程的进程控制块挂到该通道的等待队列上;否则将该通道分配给进程。 (6)只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功,然后便可启动设备进行数据传送。17何谓虚拟设备?其实现所依赖的关键技术有哪些?通过虚拟技术可将一台独占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备。其实现所依赖的关键技术是 SPOOLING 技术。18试说明 SPOOLING 系统的组成。SPOOLing 系统是对脱机 I/O 工作的模拟,
27、其必须有高速随机外存(通常采用磁盘)的支持。SPOOLING 系统主要有以下四个部分:(1)输入井和输出井,为磁盘上开辟的两大存储空间,分别模拟脱机输入/出时的磁盘,并用于收容 I/O设备输入的数据和用户程序的输出数据;(2)输入缓冲区和输出缓冲区,在内存中开辟,分别用于暂存由输入设备和输出井送来的数据;(3)输入进程 SPi和输出进程 SPo,分别模拟脱机输入/出时的外围控制机,用于控制 I/O 过程;(4)I/O 请求队列,由系统为各个 I/O 请求进程建立的 I/O 请求表构成的队列。19在实现后台打印时,SPOOLING 系统应为请求 I/O 的进程提供哪些服务?在实现后台打印时,SP
28、OOLING 系统应为请求 I/O 的进程提供以下服务:(1)由输出进程在输出井中为之申请一空闲盘块区,并将要打印的数据送入其中;(2)输出进程再为用户进程申请一张空白的用户打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。 (3)一旦打印机空闲,输出进程便从请求打印队列的队首取出一张请求打印表,根据表中的要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印。20试说明设备驱动程序具有哪些特点?设备驱动程序具有如下特点:(1)驱动程序主要是在请求 I/O 的进程与设备控制器之间的一个通信程序;(2)驱动程序与 I/O 设备的特性紧密相关;(3)驱动程序与 I/O 控制方
29、式紧密相关;(4)驱动程序与硬件紧密相关,因而其中的一部分程序必须用汇编语言书写,且基本部分往往已被固化在 ROM 中。21试说明设备驱动程序应具有哪些功能?设备驱动程序的主要功能包括:(1)将接收到的抽象要求转为具体要求;(2)检查用户 I/O 请求的合法性,了解 I/O 设备的状态,传递有关参数,设置设备的工作方式;(3)发出 I/O 命令,启动分配到的 I/O 设备,完成指定的I/O 操作;(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理;(5)对于设置有通道的计算机系统,驱动程序还应该能够根据用户的 I/O 请求,自动地构成通道程序。22设备驱
30、动程序通常要完成哪些工作?设备驱动程序通常要完成以下工作:(1)将抽象要求转换为具体要求;(2)检查 I/O 请求的合法性;(3)读出和检查设备的状态;(4)传送必要的参数;(5)设置工作方式;(6)启动 I/O 设备。23设备中断处理程序通常需完成哪些工作?设备中断处理程序通常需完成如下工作:(1)唤醒被阻塞的驱动程序进程;(2)保护被中断进程的 CPU 环境;(3)分析中断原因、转入相应的设备中断处理程序;(4)进行中断处理;(5)恢复被中断进程的现场第六章1 何谓数据项、记录和文件?。数据项可分为基本数据项和组合数据项。基本数据项是用于描述一个对象某种属性的字符集,是数据组织中可以命名的
31、最小逻辑数据单位,又称为原子数据、数据元素或字段,其具有数据名、数据类型及数据值三个特性。组合数据项则由若干数据项构成。记录是一组相关数据项的集合,用于描述一个对象某方面的属性。文件是具有文件名的一组相关信息的集合。2 文件系统的模型可分为三层,试说明其每一层所包含的基本内容。答: 文件系统模型如图所示: (1)最低层为对象及其属性说明,主要包括文件、目录、磁盘存储空间等三类对象。 (2)最高层是文件系统提供给用户的接口,分为命令接口、程序接口和图形化用户接口等三种类型。 (3)中间层是对对象进行操纵和管理的软件集合,是文件系统的核心部分,拥有文件存储空间管理、文件目录管理、地址映射、文件读写
32、管理及文件共享与保护等诸多功能。具体又可分为四个子层:I/O控制层(又称为设备驱动程序层) ,主要由磁盘驱动程序和磁带驱动程序组成,负责启动 I/O 设备和对设备发来的中断信号进行处理;基本文件系统层(又称为物理 I/O 层) ,主要用于处理内存与磁盘或磁带机系统之间数据块的交换,通过向 I/O 控制层发送通用指令及读写的物理盘块号与缓冲区号等 I/O 参数来完成;基本 I/O 管理程序层(即文件组织模块层) ,负责完成与磁盘 I/O 有关的大量事务,包括文件所在设备的选定、文件逻辑块号到物理块号的转换、空闲盘块的管理及 I/O 缓冲的指定等;逻辑文件系统层,负责所读写的文件逻辑块号的确定、目
33、录项的创建与修改、文件与记录的保护等。文件系统接口对对象操纵和管理的软件集合 逻辑文件系统基本 I/O 管理程序(文件组织模块)基本文件系统(物理 I/O 层)I/O 控制层(设备驱动程序)对象及其属性说明6 试说明关于索引文件和索引顺序文件的检索方法。答:对索引文件进行检索时,首先根据用户(程序)提供的关键字,并利用折半查找法检索索引表,从中找到相应的表项;再利用该表项中给出的指向记录的指针值,去访问对应的记录。对索引顺序文件进行检索时,首先利用用户(程序)提供的关键字以及某种查找方法,去检索索引表,找到该记录所在记录组中的第一条记录的表项,从中得到该记录组第一个记录在主文件中的位置;然后再
34、利用顺序查找法去查找主文件,从而找到所要求的记录。索引文件的检索:首先是根据用户(程序)提供的关键字,并利用折半查找法,去检索索引表,从中找到相应的项,再利用该表项中给出的指向记录的指针值,去访问所需的记录。索引顺序文件检索:首先利用用户(程序)提供的关键字以及某种查找方法,去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置;然后,再利用顺序查找法去查找主文件,从中找到所要求的记录。7 试从检索速度和存储费用两方面来比较两级索引文件和索引顺序文件。假设主文件拥有 N 条记录。对于索引文件,主文件的每条记录均需配置一个索引项,故存储开销为 N;而为检
35、索到具有指定关键字的记录,平均需要查找 N/2条记录。对于索引顺序文件,应为每个记录分组配置一个索引项,故存储开销为 N1/2;而为检索到具有指定关键字的记录,平均需要查找 N 1/ 2 条记录。对于两级索引顺序文件,存储开销为 N2/3+N1/3;而为检索到具有指定关键字的记录,平均需要查找 1.5N1/3 条记录。17对目录管理的主要要求是什么?答:对文件目录的管理有以下要求:a) 实现“按名存取”b) 提高对目录的检索速度 c) 文件共享 d) 允许文件重名18采用单级目录能否满足目录管理的主要要求?采用单级目录只能实现目录管理的基本功能(即文件的按名存取) ,而对于其它三项要求则不能满
36、足。19目前广泛采用的目录结构形式是什么?它有什么优点?目前广泛采用的目录结构形式是树型目录结构,其具有检索效率高、允许重名、便于实现文件共享等一系列优点。20Hash 检索法有何优点?有何局限性?又称杂凑结构或散列结构。这种结构只适用于定长记录文件和按记录随机查找的访问方式。Hash 结构的思想是通过计算来确定一个记录在存储设备上的存储位置,依次先后存入的两个记录在物理设备上不一定相邻。按 Hash 结构组织文件的两个关键问题是:?定义一个杂凑函数;?解决冲突;? 16基于索引结点的共享方式有哪些优缺点?就基于索引结点的共享方式而言,其优点在于“建立新的共享链接,并不改变文件拥有者的关系,仅
37、把索引结点共享计数器加 1,所以系统可方便获悉由多少个目录项指向该文件” 。同时,该方式也存在所谓“悬空指针”的问题和缺点。具体而言,文件拥有者不能删除自己的文件,否则将留下指向该结点的悬空指针,造成该结点再分配时,系统出错;为此,拥有者只能清除自己的目录项,且要为其它共享者无端付费,直至其它共有者清除该文件?25对空闲磁盘空间的管理常采用哪几种方式?UNIX 系统采用的是何种方式?空闲磁盘空间的管理常采用以下几种方法:(1)空闲表法,属于连续分配方式,它与内存管理中的动态分区分配方式相似。 (2)空闲链表法,将所有空闲盘区链接成一条空闲链。根据构成链的基本元素不同,可分为空闲盘块链和空闲盘区
38、链。 (3)位示图法,利用二进制的一位来表示磁盘中每一个盘块的使用情况,磁盘上的所有盘块都有一个二进制位与之对应,从而由所有盘块所对应的位构成一个集合,即位示图。 (4)成组链接法,结合空闲表法和空闲链表法而形成。UNIX 系统采用的是成组链接法27基于符号链的文件共享方式有何优缺点?就基于符号链的文件共享方式来说,只有文件主才拥有指向其索引结点的指针,而共享该文件的其它用户只有该文件的路径名且没有指向索引结点的指针,所以也就不会发生在文件主删除共享文件后留下所谓“悬空指针”的问题。当文件拥有者把一个共享文件删除后,其它用户试图通过符号链来访问一个被删除的共享文件时将因系统找不到该文件而使访问
39、失败,于是将符号链删除,此时不会有任何其它负面效应。当然,这种方式也存在自己的问题。在其它用户访问共享文件时,系统是根据给定的文件路径名,逐个分量地去查找目录,直至找到该文件的索引结点。因此,在访问共享文件时要多次读盘,使每次访问文件的系统开销加大,且增加了启动磁盘的频率。此外,要为每个共享用户建立一条符号链,而该链实际上是一个文件,尽管该文件非常简单,却仍需为之配置一个索引结点,故而也要消耗一定的磁盘空间。需要指出的是,本共享方式还有一个特殊的优点,即它能够用于链接(通过计算机网络)世界上任何地方的机器中的文件,此时只需提供该文件所在机器的网络地址以及在该机器中的文件路径。28在第一级磁盘容
40、错技术中,包括那些容错措施?什么是写后读校验? 在第一级磁盘容错技术中,包括以下容错措施:(1)双份目录和双份文件分配表。在磁盘上存放的文件目录和文件分配表 FAT 均为文件管理所用的重要数据结构,所以为之建立备份。在系统每次加电启动时,都要对两份目录和两份FAT 进行检查,以验证它们的一致性。 (2)热修复重定向和写后读校验,二者均用于防止将数据写入有缺陷的盘块中。就热修复重定向而言,系统将一定的磁盘容量作为热修复重定向区,用于存放当发现盘块有缺陷时的待写数据,并对写入该区的所有数据进行登记,方便将来对数据进行访问。而写后读校验则是为了保证所有写入磁盘的数据都能写入到完好的盘块中,故在每次从
41、内存缓冲区向磁盘中写入一个数据块后,应立即从磁盘上读出该数据块并送至另一缓冲区中,再将该缓冲区中内容与原内存缓冲区中在写后仍保留的数据进行比较,若两者一致,便认为此次写入成功,可继续写入下一个盘块;否则,则重写。若重写后两者仍不一致,则认为该盘块有缺陷,此时便将应写入该盘块的数据写入热修复重定向区中,并将该损坏盘块的地址,记录在坏盘块表中。29在第二级磁盘容错技术中,包括那些容错措施?在第二级磁盘容错技术中,包括以下容错措施:(1)磁盘镜像。在同一磁盘控制器下增设一个完全相同的磁盘驱动器,在每次向文件服务器的主磁盘写入数据后,都要采用写后读校验方式,将数据再同样地写到备份磁盘上,使二者具有完全
42、相同的位像图。 (2)磁盘双工。将两台磁盘驱动器分别接到两个磁盘控制器上,同样使这两台磁盘机镜像成对,从而在磁盘控制器发生故障时,起到数据保护作用。在磁盘双工时,由于每一个磁盘都有着自己的独立通道,故可以同时(并行)地将数据写入磁盘。在读入数据时,可采用分离搜索技术,从响应快的通道上取得数据,因而加快了对数据的读取速度。第七章1 操作系统包括哪几种类型的用户接口?它们分别适用于哪种情况?操作系统包括三种类型的用户接口:命令接口(具体又可分为联机命令接口与脱机命令接口) 、程序接口及图形化用户接口。其中,命令接口和图形化用户接口支持用户直接通过终端来使用计算机系统,而程序接口则提供给用户在编制程
43、序时使用。2 联机命令接口由哪些部分构成?联机命令接口由一组联机命令、终端处理程序和命令解释程序构成。3 联机命令通常包含哪些类型?每种类型又包含哪些主要命令?联机命令通常包含哪些类型?每种类型又包含哪些主要命令?联机命令通常包含如下类型:(1)系统访问类,主要是注册命令;(2)磁盘操作类,包括磁盘格式化、软盘复制、软盘比较及备份等命令;(3)文件操作类,包括文件内容显示、文件拷贝、文件比较、文件重命名、文件删除等命令;(4)目录操作类,包括子目录建立、目录显示、子目录删除、目录结构显示、当前目录改变等命令;(5)通信类命令;(6)其它命令,包括输入输出重定向、管道联接、过滤命令及批处理命令等
44、。4 什么是输入输出重定向?试举例说明。通常,命令的输入取自标准输入设备即键盘,而命令的输出则送往标准输出设备即显示终端。如果在命令中设置输出定向“ ”,其后接文件名或设备名,则表示命令的输出改向,并送到指定文件或设备上;类似地,在命令中设置输入重定向“” ,则不再是从键盘而是从重定向符左边的参数指定的文件或设备上取得输入信息。这便是输入输出的重定向。5 什么是管道联接?试举例说明。管道联接是指把第一个命令的输出作为第二个命令的输入,类似地又把第二个命令的输出作为第三条命令的输入,以此类推,这样由两条以上的命令可形成一条管道。在 MS-DOS 和 UNIX 中,都用“|“作为管道符号。其一般格
45、式为:command1 |command2 | |commandn6 终端设备处理程序的主要作用是什么?它应具备哪些功能?终端设备处理程序主要用于实现人机交互,它应具备以下功能:(1)接收用户从终端上键入的字符;(2)管理字符缓冲,以暂存所接收的字符;(3)将用户键入字符回送屏幕显示;(4)提供屏幕编辑(编辑键) ;(5)特殊字符处理(中断/停止或恢复上卷) 。7 命令解释程序的主要作用是什么?命令解释程序的主要作用是:在屏幕上产生提示符,请用户输入命令,然后读入命令、识别命令,并转至相应的命令处理程序入口地址,把控制权交给该处理程序去执行,最后将有关处理结果(包括出错信息)送屏幕显示。8 试
46、说明 MS-DOS 的命令解释程序 COMMAND.COM 的工作流程。MS-DOS 命令解释程序 COMMAND.COM 的主要工作流程如下:(1)系统接通电源或复位,初始化部分获得控制权,对整个系统完成初始化工作,并自动执行Autoexec.bat 文件,然后把控制权交给暂存部分,后者给出提示符并等待和接收用户键入命令;(2)暂存部分读入键盘缓冲区中的命令,判别其文件名、扩展名及驱动器名是否正确,若有错则给定出错信息后返回;无错的情况下才查找和识别该命令;(3)若该命令为内部命令,暂存部分定会在命令表格中找到该命令,便可从对应表项中获得该命令处理程序的入口地址,并把控制权交给该程序去执行;
47、若键入命令为外部指令,则暂存部分应为之建立命令行,通过执行系统调用 exec 装入其命令处理程序,并得到对应基地址,把控制权交由该程序执行;若键入命令非法,则出错返回;(4)命令完成后,控制权重新交给暂存部分给出提示符并等待和接收用户键入命令,然后转(2) 。13 试比较一般的过程调用和系统调用。系统调用本质上是一种过程调用,但它是一种特殊的过程调用,与一般的过程调用存在以下几方面的差别:(1)运行在不同的系统状态。一般的过程调用,其调用过程和被调用过程或者均为用户程序,或者均为系统程序,所以都运行在同一系统执行状态(用户态或系统态)下;而系统调用的调用过程是运行在用户态下的用户程序,被调用过
48、程是运行在系统态下的系统程序。 (2)软中断进入机制。一般的过程调用可直接由调用过程转向被调用过程;而执行系统调用时,由于调用过程和被调用过程是处于不同的系统状态,所以不允许由调用过程直接转向被调用过程,而通常是通过软中断机制,先进入操作系统内核,经内核分析后,才能转向相应的命令处理程序。 (3)返回及重新调度问题。对于一般的过程调用,在被调用过程执行完后,将返回到调用过程继续执行;对于系统调用则不是这样,在被调用过程执行完后,要对系统中所有要求运行的进程进行重新调度。特别地,在采用了抢占式剥夺调度的系统中,重新调度将基于优先权分析来进行,于是只有当调用进程仍具有最高优先权时,才会返回到调用过
49、程继续执行;否则其将会被放入就绪队列,而执行权利交由具最高优先权的过程优先执行。 (4)嵌套调用。与一般过程类似,系统调用也允许嵌套调用,即在一个被调用过程执行期间,还可以再利用系统调用命令去调用另一个系统过程,注意是系统过程而不是用户过程。14什么是系统调用?它都有哪些类型?(部分超过书上的问题,请自己截取)通常,在操作系统内核设置有一组用于实现各种系统功能的子程序(过程) ,并将它们提供给用户程序调用。每当用户在程序中需要操作系统提供某种服务时,便可利用一条系统调用命令,去调用所需的系统过程。这即所谓的系统调用。系统调用的主要类型包括:(1)进程控制类,主要用于进程的创建和终止、对子进程结束的等待、进程映像的替换、进程数据段大小的改变以及关于进程标识符或指定进程属性的获得等;(2)文件操纵类,主要用于文件的创建、打开、关闭、读/写及文件读写指针的移动和文件属性的修改,目录的创建及关于目录、特别文件或普通文件的索引结点的建立等;(3)进程通信类,用于实现各种类型的通信机制如消息传递、共享存储区及信息量集机制等;(4)信息维护类,用于实现关于日期和时间及其它系统相关信息的设置和获得。15如何设置系统调用所需的参数?设置系统调用所需参数包括两种方式:(1)直