多级反馈队列算法,如何兼顾短作业和长作业的?
多级反馈队列调度算法能较好地满足各种类型用户的需要。对终端型作业用户而言,由于 它们提交的作业大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第 1 级队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于短批处理作业用户而言,它们的作业开始时像终端型作业一样,若仅在第 1 级队列中执行一个时间片即可完成,便可获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第 2 级队列和第 3 级队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,它们的长作业将依次在第 1,2,…… 级队列中运行,然后按时间片轮转方式运行,用户不必担心其作业长期得不到处理。
什么是虚拟存储器?如何实现页式虚拟存储器?
虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。
页式虚拟存储器在基本分页系统基础之上,增加请求调页功能和页面置换功能。为了实现请求分页,系统必须提供一定的硬件支持。除了需要一定容量的内存及外存,还需要有页表机制、缺页中断机构和地址变换机构。进行页面置换时,还需选取适合的页面置换算法,置换算法的好坏将直接影响到系统的性能。
程序局部性原理是什么?有什么具体表现(时间局部性/空间局部性)?
局部性原理,即程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分,相应地,它所访问的存储空间也局限于某个区域。
局部性原理表现在以下两个方面:
时间局部性通过将近来使用的指令和数据保存到高速缓存中,并使用高速缓存的层次结构实现。空间局部性通常使用较大的高速缓存,并将预取机制集成到高速缓存控制逻辑中实现。
文件物理结构指的是一个文件在外存上的存储组织形式,主要有连续结构、链接结构和索引三类,请分别简述其优缺点。
什么是文件的混合索引结构?直接地址、—次间接地址和多次间接地址所允许的最大文件规模。
混合索引结构是将多种索引分配方式相结合的分配方式。系统既采用直接地址,又采用单级索引分配方式或两级索引分配方式。
为了能够较全面地照顾到小型、中型、大型和特大型文件,可采用混合索引分配方式。对于小文件,为了提高对众多小文件的访问速度,最好能将它们的每个盘块地址直接放入 FCB,这样就可以直接从 FCB 中获得该文件的盘块地址,即为直接寻址。对于中型文件,可以采用单级索引方式,需要先从 FCB 中找到该文件的索引表,从中获得该文件的盘块地址,即为一次间址。对于大型或特大型文件,可以采用两级和三级索引分配方式。UNIX 系统采用的就是这种分配方式,在其索引结点中,共设有 13 个地址项,即 i.addr(0)〜i.addr(12),如图所示。
什么是设备的独立性,应如何实现?
设备独立性也称设备无关性,即应用程序独立于具体使用的物理设备。对用户而言,是指在编写程序时使用的设备与实际设备无关,在程序中只指明 I/O 使用的设备类型即可。
为了实现设备的独立性,应引入逻辑设备和物理设备两个概念。在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统执行时,是使用物理设备名称。鉴于驱动程序是一个与硬件(或设备)紧密相关的软件,必须在驱动程序之上设置一层软件,称为设备独立性软件,以执行所有设备的公有操作、完成逻辑设备名到物理设备名的转换(为此应设置一张逻辑设备表 Logical Unit Table, LUT)并向用户层(或文件层)软件提供统一接口,从而实现设备的独立性。
什么是抖动?减少抖动的措施有哪些?
抖动指页面置换过程中,刚刚换出的页面马上又要换入主存,刚刚换入的页面马上又要换出主存这种频繁的页面置换现象。
减少抖动的方法有:撤销部分进程;为某些进程添加适当的页帧;选择更适合的页面置换算法。
什么是快表?说明利用快表进行地址转换的具体过程。
快表是一个具有并行查找能力的高速缓冲存储器,又称相联存储器(TLB),用来存放当前访问的若干页表(或段表)项,可以加速地址变换的过程。
在具有快表的分页机制中,地址的变换过程如下:
快表的有效性基于局部性原理,一般命中率可达 90% 以上,可以有效提高地址变换过程。
Spooling 系统的组成部分有哪些,工作原理是什么?
Spooling 系统的组成
工作原理
输入/输出进程用于模拟脱机输入/输出时的外围控制机。用户要求的数据从输入设备经过输入缓冲区送到输入井,当 CPU 需要输入数据时,直接从输入井读入内存。用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备。
SPOOLing 系统的组成
如何实现文件共享?
文件共享使多个用户共享同一个文件,系统中只需保留该文件的一个副本。可以基于索引结点实现文件共享(硬链接),或者利用符号链方式实现文件共享(软链接)。
软链接硬链接是什么?主要区别是什么?
硬链接是指基于索引结点实现文件共享。在这种共享方式中,用户要共享某文件时,需在目录中增加一个目录项,并设置一个指针指向该文件的索引结点,通过该索引结点可找到共享文件。此外,共享文件对应索引结点上的需要增加链接计数 count,用于表示链接到本索引结点(即文件)上的用户目录项的数目。
软链接是指利用符号链方式实现文件共享。以这种方式建立链接时,系统会创建一个 LINK 类型的新文件,其内容为被链接文件的路径名。当用户要访问被链接的文件时,操作系统查看到要读的文件是 LINK 类型,则根据该文件中的路径名去找到文件,从而实现对文件的共享。
两者的区别:
利用软链接方式实现文件共享时,只有文件主才拥有指向其索引结点的指针。而共享该文件的其他用户只有该文件的路径名,并不拥有指向其索引结点的指针,即无论多少个符号链接指向源文件,源文件索引节点的计数值都不会变。
硬链接中,索引节点中的链接计数 count 为 0 时,共享文件才能被删除。
软链接就是把到达共享文件的路径记录下来,当要访问文件时,根据路径寻找文件。可见,硬链接的查找速度要比软链接的快。
死锁避免和死锁预防的区别?
死锁预防:设置某些限制条件,破坏产生死锁的 4 个必要条件中的一个或几个。其属于事先预防策略,限制条件比较严格,实现起来较为简单,但往往导致系统的效率低,资源利用率低。
死锁避免:在资源的动态分配过程中,用某种方法防止系统进入不安全状态。属于事先预防策略,限制条件相对宽松,资源分配后需要通过算法来判断是否进入不安全状态,实现起来较为复杂。
死锁产的必要条件是?如何预防和解除死锁?
产生死锁的必要条件
处理死锁的方法
防止死锁的发生只需破坏死锁产生的 4 个必要条件之一即可。
死锁解除
缓冲区的类型和引入缓冲区的目的。
PCB 中主要存储的内容是什么?为什么说 PCB 是进程存在的唯一标志?
在存储管理中,什么是重定位,为什么要引入重定位技术?