现代操作系统 第四章 文件系统 习题答案

  1. /etc/passwd
    /./etc/passwd
    /././etc/passwd
    /./././etc/passwd
    /etc/…/etc/passwd
    /etc/…/etc/…/etc/passwd
    /etc/…/etc/…/etc/…/etc/passwd
    /etc/…/etc/…/etc/…/etc/…/etc/passwd

  2. Windows方式是使用文件扩展名。每个扩展名对应一个文件类型和一些处理该类型的程序。另一种方法是记住哪个程序创建了文件并运行该程序。 Macintosh以这种方式工作。

  3. 这些系统将程序直接加载到内存中,并开始在字0处执行,这是魔数。为避免尝试将头作为代码执行,魔数是一条BRANCH指令,其目标地址恰好位于头的上方。通过这种方式,可以将二进制文件直接读入新进程的地址空间并在0处运行,甚至不知道头有多大。

  4. 首先,如果没有打开,则在每次读取时都需要指定要打开的文件的名称。然后系统必须为它获取i节点,尽管可以缓存它。快速出现的一个问题是何时将i节点刷新回磁盘。然而,它可能会超时。这会有点笨拙,但它可能会奏效。

  5. 否。如果要再次读取文件,只需随机访问字节0。

  6. 是的。重命名调用不会更改创建时间或上次修改的时间,但创建新文件会使其获取当前时间作为创建时间和上次修改时间。此外,如果磁盘几乎已满,则副本可能会失败。

  7. 文件的映射部分必须从页面边界开始,并且是长度的整数页面。每个映射页面都使用文件本身作为后备存储。未映射的内存使用临时文件或分区作为后备存储。

  8. 使用文件名,例如/ usr / ast / file。虽然它看起来像一个分层路径名,但它实际上只是一个包含嵌入斜杠的名称。

  9. 一种方法是向读取系统调用中添加一个额外的参数,该参数指示要读取的地址。实际上,每次读取都有可能在文件中进行查找。这种方案的缺点是:(1)在每次读取调用中都有一个额外的参数;(2)要求用户跟踪文件指针的位置。

  10. dotdot组件将搜索移动到/usr,因此…/ast将其放入/usr/ast。因此…/ast/x与/usr/ast/x相同。

  11. 由于浪费的存储在分配单元(文

你可能感兴趣的:(现代操作系统)