填空题
- 假定磁盘块大小为16KB,一个32GB硬盘的文件分配表采用FAT32,则该文件分配表每个表项的大小为 4B,该表占用的存储空间大小是 8MB 。如果该磁盘采用索引方式,文件最大为8GB,索引项大小为4个字节,则需要采用 3级索引。
- 磁盘访问时间包括寻道时间,旋转延迟时间,传输时间和系统开销时间。
- I/O 设备与CPU可并行运行,直接控制I/O 设备的硬件是设备控制器,在现代操作系统中,它通过引起中断通知CPU操作已完成。
- 存在内碎片的存储管理技术有分页内存管理和固定分区管理。
- 文件的相对路径指的是从当前目录开始的路径名,绝对路径指的是从根目录开始的路径名。
- 在一个分页式存储管理系统中,主存容量为32M,被分成1024个块,块号为0,1,……,1023。某进程的地址空间占3页,其页号为0,1,2,被分配到主存的第12,24,31块中。那么,主存地址应该用 25 位来表示;进程每一页的长度是 32KB ,逻辑地址中的页内偏移用 15 位来表示。第2页在主存块中的起始地址为 992K 。
- 重定位的方式有动态重定位和静态重定位两种
- 一个文件的大小为9130个字节,假设每个物理块的大小为4096个字节,那么这个文件需要 3个物理块存放。
- 设备按照数据传输大小可以分为块设备和字符设备
- 常用的 I/O 控制方式有 轮询,中断,直接内存访问(DMA)
- 虚拟存储器的大小主要由操作系统字长和内外存容量和决定
- 常用的页面置换算法有最优置换算法OPT,先进先出置换算法 FIFO,最近最少使用置换算法 LRU
- 内存管理技术中,访问效率最高的是索引分配,分页机制可以使用 TLB 来提高内存访问效率。
- 常见的文件共享方式有硬链接和符号链接
- 进程通信的方式主要有直接通信和间接通信
- 如果P(S1)和P(S2)两个操作在一起,那么P操作的顺序至关重要,一个同步P操作与一个互斥P操作在一起时 同步P操作在 互斥P操作前。而两个V操作的次序 没有影响 。
- P(S)表示申请一个资源,V(S)表示释放一个资源,信号量的初值应该大于等于0
- 在请求分页式系统中,页框的分配有一种方式称为固定分配,固定分配的两种方式分别为平均分配和按比例分配。
- 在请求式分页存储管理系统中,不能在计算机中实现的页面淘汰算法是最优置换算法OPT,选择淘汰不再使用或最远的将来才使用的页的算法是最优置换算法OPT,选择淘汰在主存中驻留时间最长的页的算法是先进先出FIFO
- 将作业地址空间中的逻辑地址转换为主存中的物理地址的过程称为重定位。
- 操作系统的基本功能包括处理器管理,设备管理,存储器管理,文件管理
- 临界资源是指系统中一次只允许一个进程使用的资源,临界区是指涉及到临界资源的代码段。
- 当时间片轮转的时间片足够大,就等同于FCFS算法。
- 一般来说,FCB中的内容有名称,类型,地址和当前长度等。
- 操作系统设计的两个目标是易用性和高效性
- 文件的结构就是文件的组织形式,从用户观点出发看到的文件组织形式称为文件的逻辑结构;从实际观点出发,文件在外存上的存放组织形式称为文件的物理结构。
- 文件的目录组织形式主要有单级目录、二级目录、树型目录和图型目录。
- 协同进程间一般通过信箱进行间接通信。
- 可以提高内存利用率的技术有紧缩可变分区,虚拟内存技术和交换
选择题
- 连续结构不利于文件的动态增长
- 请求分页系统中,在内外存之间进行数据交换的单位是页
- 段页式存储管理系统中,不考虑TLB,若要从内存中读取一个数据,至少需要访问3次内存。> 设逻辑地址中段号为s,段内页号为p,页内位移为w,地址变换时,从该地址出发,先用段号s作索引在段表中找到s段的页表起始地址(第一次访问内存),再用页号p作为索引在页表中找到p页的物理块号b(第二次访问内存)。用b和w构成物理地址,通过该物理地址就可以从内存中读取一个数据,一共3次访问内存。
- 文件系统中用 目录 管理文件。
- 如果文件采用直接存取方式且文件大小不固定,则宜选择 索引 文件结构。
- FCFS 有利于 长进程
- 若把操作系统看作资源管理者,则中断不属于操作系统所管理的资源> CPU,内存和程序都是操作系统所管理的资源
- 破坏了”循环等待”条件的是资源有序分配法> 对所有的资源类型排序进行总排序,并且要求进程按照递增顺序申请资源
- 分时操作系统主要采取时间片轮转策略为用户服务
- 作业调度又称长程调度> 短程调度,又称CPU调度/低级调度。
中程调度,又称交换,将进程在内存和外存中换进换出
- 紧耦合操作系统就是并行操作系统,松耦合操作系统就是分布式操作系统。
- 对于给定的一组进程,FCFS算法对短进程不利。
- 多道程序设计指的是有多个进程进入内存并发进行。
- 产生死锁的必要条件有,占有并等待,互斥,非抢占,循环等待。
- WIN 98中,word输入文字和real player看电影是并发执行。
- 银行家算法是一种死锁避免算法。
- 段页式存储中,内存分配的单位是页框
- 页式存储管理的快表一般存放在Cache
- 光盘上的文件一般采用直接存取的方式
- 文件系统中使用目录管理文件。
- 缓冲技术的缓冲池是在内存中。
判断
- 所有进程都挂起时,系统陷入死锁。❌
- 占有并等待条件是指一个至少持有一个资源的进程等待获得额外的系统拥有的资源。❌ 不是系统拥有而是其他进程拥有
- 抖动是由于缺页调度算法的某些缺陷而引起的。⭕
- 段式存储管理比页式存储管理更利于信息的共享。⭕
- 在虚存系统中 , 只要磁盘空间无限大 , 作业就能拥有任意大的编址空间。❌> 虚拟内存大小=min(主存+辅存,地址总线宽度)
所以,64位系统,最多2^64的地址空间。不是无上限
- 操作系统以扇区为单位对磁盘进行读/写操作,扇区是磁盘存储信息的最小物理单位。⭕
简答题
- 缓冲技术在I/O管理中得到了充分的应用,那么缓冲技术有什么作用呢?请举一个例子说明。
缓冲技术是用在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。除了在关键的地方采用少量硬件缓冲器之外,大多采用软件缓冲。
引入缓冲的目的是:缓和CPU和I/O设备间速度不匹配的矛盾;减少中断CPU的次数,放宽对中断响应时间的限制;提高CPU和I/O设备之间的并行性。 - 临界区使用准则?
- 互斥:有相同临界资源的临界区需要互斥
- 有空让进:临界区内无进程执行时,应该允许进程进入
- 有限等待:每个进程进入临界区前的等待时间必须有限
- 让权等待:当进程无法进入临界区的时候,应该放弃CPU的控制权
- 文件目录的作用是什么?一个目录项应该包含哪些信息?
作用:按名存取文件。
目录项包含的信息:文件名,文件号,用户名,文件地址,文件长度,文件类型,文件属性,共享计数,文件的建立日期,保存期限,最后修改日期,最后访问日期,口令,文件逻辑结构,文件物理结构。 - 引入当前目录的作用?
是系统为用户提供一个目前正在使用的工作目录,查找文件时,既可以从根目录开始,也可从当前目录向下检索,从而缩短检索路径,提高检索速率。当前目录可以加快检索速度,进而提高系统性能。 - 在信号量S上执行P、V操作时,S的值发生变化,当S>0,S=0,S<0时,它们的物理意义是什么?P(S)、V(S)的物理意义又是什么?
S>0表示还有剩余资源,S=0表示资源恰好被分配完,S<0说明有进程正在等待获取资源。
P(S):当有资源可用时,S减一;如果S=0,即无剩余资源,进程等待
V(S):表示有资源不再使用,S加一;如果有进程因为等待当前资源而被阻塞,则唤醒该进程。 - 从内核角度看,内核级线程和用户级线程有什么不同?
用户级线程仅存在于用户级中,它的创建、撤消和切换都不利用系统调用实现,与内核无关,相应的,内核也不知道有用户级线程存在。 内核级线程依赖于内核,无论用户进程中的线程还是系统进程中的线程,其创建、撤消、切换都由内核实现。在内核中保留了一张线程控制块,内核根据控制块感知线程的存在并对其进行控制。
(1)线程的调度与切换速度 内核支持线程的调度和切换与进程的调度和切换十分相似。对于用户级线程的切换,通常是发生在一个应用程序的多线程之间,这时,不仅无须通过中断进入OS的内核,而且切换的规则也远比进程调度和切换的规则简单。因此,用户级线程的切换速度特别快。
(2)系统调用 当传统的用户进程调用一个系统调用时,要由用户态转入核心态,用户进程将被阻塞。当内核完成系统调用而返回时,才将该进程唤醒,继续执行。而在用户级线程调用一个系统调用时,由于内核并不知道有该用户级线程的存在,因而把系统调用看作是整个进程的行为,于是使该进程等待,而调度另一个进程执行,同样是在内核完成系统调用而返回时,进程才能继续执行。如果系统中设置的是内核支持线程,则调度是以线程为单位。当一个线程调用一个系统调用时,内核把系统调用只看作是该线程的行为,因而阻塞该线程,于是可以再调度该进程中的其他线程执行。 - 什么是与设备无关性?有什么好处?
含义:应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备两概念。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。
好处:设备分配时的灵活性,易于实现I/O重定向 - 请给出记录型信号量中对P、V操作的定义。```java
P(S){
S—;
if S<0 {
} }add this process to list;
block;
V(S){ S++; if S<=0{ remove a process P from list; wakeup(P); } } ```
- 什么是虚拟存储器?为什么要在存储管理中引入虚拟存储器。
虚拟存储器由内存和外存组成,使得程序的部分装入内存就能运行的技术。
引入的目的:使得大作业能够运行;提高内存利用率。 - 什么是Spooling技术?举例说明它的原理。
- 程序模拟脱机输入,把低速 I/O 设备上的数据传送到高速磁盘上
- 另一程序模拟脱机输出,把数据从磁盘传送到低速输出设备
- 外围操作和 CPU 对数据的处理同时进行,这种在联机情况下实现的同时外围操作称为假脱机技术Spooling
假脱机打印机系统
打印机属于独占设备,利用 Spooling 技术,可将其改造为共享设备。
共享打印机技术被广泛用于多用户系统和局域网络中。
- 磁盘缓冲区:磁盘空间,暂存用户程序的输出数据
- 打印缓冲区:设在内存,暂存从磁盘缓冲区送来的数据
- 假脱机管理进程和假脱机打印进程
- 假脱机管理进程为每个要求打印的用户建立一个假脱机文件,并放入文件队列中
- 假脱机打印进程依次对队列中的文件进行打印
- 假设当前有一个包含 100 个盘块的文件,其后是若干空闲区。 文件控制块不在主存中(索引表也不在主存中), 当进行如下操作时,请计算分别采用连续分配、链接分配和 单级 索引分配策略时各需要多少次磁盘 I/O 操作?
- 开头删除1块
- 连续:1+1=2
- 链接:1+1+1=3
- 索引:1+1+1=3
- 中间增加1块(假设是在49号和50号中间加)
- 连续:1+100+1+1=103
- 链接:1+50+1+1+1=54
- 索引:1+1+1+1=4
- 末尾删除1块
- 连续:1+1=2
- 链接:1+99+1+1=103
- 索引:1+1+1=3
- 使用TLB的分页硬件
- 缺页中断的步骤
- 在Unix的文件系统中引入i结点(i Node)的目的是什么?请举例说明引入i结点的好处。、
目的是为了减小目录文件,降低读块数,提高目录性能,以此来减少检索文件需要平均读入的物理块数。
例子
- 使用TLB的分页硬件
- 物理块大小为4KB
- 目录中有1万个文件,每个文件的目录项(FCB)大小为2KB
- 目录文件大小 = 20000KB
- 目录文件需要的物理块数 = 5000块
- 检索文件平均需要访问的物理块数 = 2500.5块
- 使用的 i node = 64B
- 目录文件大小 = 640000B = 625KB
- 目录文件需要的物理块数 = 157块
- 检索文件平均需要访问的物理块数 = 79块