34、对页表进行分页的目的是什么?
对页表进行分页主要是为了减少对主存的使用。例如VAX系统对用户进程页表进行分页,以进一步降低主存使用;对于大地址空间的系统,如64位逻辑地址空间系统,页表可能非常大,分页可以将大的页表分成较小的部分,避免创建包含地址范围内每个页面条目的大页表,减少未使用条目占用的宝贵内存空间。
35、打开文件表用于维护当前打开文件的信息。操作系统应该为每个用户维护一个单独的表,还是维护一个包含所有用户当前正在访问的文件引用的表?如果同一个文件被两个不同的程序或用户访问,打开文件表中应该有单独的条目吗?请解释。
操作系统中的两层内部表设计
操作系统通常使用 两层内部表 来管理文件的打开和使用情况:
1. 每个进程的表
- 作用 :跟踪一个进程打开的所有文件。
- 存储信息 :
- 当前文件指针
- 访问权限
- 会计信息等
该表用于记录 进程对文件的具体使用情况 。
2. 系统级表
- 作用 :包含与进程无关的文件信息。
- 存储信息 :
- 文件在磁盘上的位置
- 访问日期
- 文件大小等
该表用于记录 文件的通用信息 。
文件打开时的操作流程
- 首次打开文件 :
-
当一个文件被某个进程打开时,系统级表会为该文件 添加一个条目 。
-
后续打开同一文件 :
-
当另一个进程执行打开操作时,只需在该进程的打开文件表中 添加一个指向系统级表中相应条目的新条目 。
-
多个进程访问同一文件 :
- 每个进程的打开文件表中都有 单独条目 。
- 所有这些条目都 指向系统级表中的同一个条目 。
设计优势
- 可以跟踪每个进程对文件的使用情况
- 能够共享文件的通用信息
- 提高系统效率
36、提供强制锁而非由用户自行决定使用的建议锁有哪些优缺点?
- 优点 :操作系统确保锁定完整性,即使程序未显式编写获取锁的代码,也能防止其他进程访问被锁定文件。
- 缺点 :
- 程序员使用时需谨慎,仅在访问文件时持有独占文件锁,否则会阻止其他进程访问文件;
- 还需采取措施避免多个进程在获取文件锁时陷入死锁。
37、一些系统通过维护文件的单一副本来实现文件共享,而其他系统则为每个共享该文件的用户维护一个副本。请讨论这两种方法的相对优点。
文件副本维护的优缺点分析
维护单一副本
优点:
- 节省存储空间,因为只需存储一份文件;
- 数据一致性好,对文件的修改能直接反映在唯一副本上,避免不同副本数据不一致。
缺点:
- 若文件被损坏或丢失,所有用户都受影响;
- 并发访问时可能产生冲突,影响性能。
维护多份副本
优点:
- 每个用户的副本独立,一个副本损坏不影响其他用户;
- 不同用户可按自身需求修改副本,减少并发访问冲突。
缺点:
- 占用大量存储空间;
- 数据更新时需同步所有副本,否则会出现数据不一致问题。
38、讨论将与远程文件系统(存储在文件服务器上)关联的一组故障语义设置为与本地文件系统不同的优缺点。
优缺点分析
优点可能有:
- 不同故障语义可针对远程文件系统特点优化,如远程系统易受网络影响
- 可设置更灵活语义以适应网络波动、避免数据丢失
- 能提高系统容错性与可用性
- 降低因远程系统故障对整体影响
缺点可能是:
- 增加系统复杂度,使管理维护更困难
- 可能让用户困惑,尤其习惯本地系统语义的用户
- 不同语义可能导致兼容性问题,影响系统互操作性
39、使用文件分配表(FAT)将文件块链接在一起的链式分配变体有哪些优点?
该变体的优点是提高了随机访问时间,因为磁盘头可以通过读取FAT中的信息找到任何块的位置。
40、考虑一个将空闲空间保存在空闲空间列表中的系统。a. 假设指向空闲空间列表的指针丢失了,系统能否重建空闲空间列表?请解释你的答案。b. 考虑一个类似于 UNIX 使用的采用索引分配的文件系统。要读取位于 /a/b/c 的小型本地文件的内容,可能需要进行多少次磁盘 I/O 操作?假设当前没有任何磁盘块被缓存。c. 提出一种方案,以确保指针不会因内存故障而丢失。
a. 这取决于系统使用的空闲空间管理方法。
- 如果是 位向量法 ,系统可以通过扫描整个磁盘,根据块的使用状态重新构建位向量,从而重建空闲空间列表;
- 如果是 链表法 ,由于指针丢失后无法按链表顺序找到空闲块,一般难以重建;
- 如果是 分组法 、

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



