Q1: 给出文件/etc/passwd的五种不同的路径名。(提示:考虑目录项”.”和”…”。)
郑州日产多少钱A:
/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
Q2:在Windows中,当用户双击资源管理器中列出的一个文件时,就会运行一个程序,并以这个文件作为参数。操作系统要知道运行的是哪个程序,请给出两种不同的方法。
A:Windows使用文件扩展名。每种文件扩展名对应一种文件类型和某些能处理这种类型的程序。另一种方式时记住哪个程序创建了该文件,并运行那个程序。Macintosh以这种方式工作。
Q3:在早期的UNIX系统中,可执行文件(a.out)以一个非常特別的魔数开始,这个数不是随机选择的。这些文件都有文件头,后面是正文段和数据段。为什么要为可执行文件挑选一个非常特别的魔数,而其他类型文件的第一个字反而有一个或多或少是随机选择的魔数?
A:这些系统直接把程序载入内存,并且从word0(魔数)开始执行。为了避免将header作为代码执行,魔数是一条branch指令,其目标地址正好在header之上。按这种方法,就可能把二进制文件直接读取到新的进程地址空间,并且从0 开始运行。
Q4: 在UNIX中open系统调用绝对需要吗?如果没有会产生什么结果?komi
A: open调用的目的是:把文件属性和磁盘地址表装入内存,便与后续调用的快速访问。
首先,如果没有open系统调用,每次读取文件都需要指定要打开的文件的名称。系统将必须获取其i节点,虽然可以缓存它,但面临一个问题是何时将i节点写回磁盘。可以在超时后写回磁盘,虽然这有点笨拙,但它可能起作用。
丰田crvQ5:在支持顺序文件的系统中总有一个文件回绕操作,支持随机存取文件的系统是否也需要该操作?
A:否。如果要再次读取文件,只需随机访问字节0。
本田思域第九代Q6:某一些操作系统提供系统调用rename给文件重命名,同样也可以通过把文件复制到新文件并删除原文件而实现文件重命名。请问这两种方法有何不同?
A:rename调用不会改变文件的创建时间和最后的修改时间,但是创建一个新的文件,其创建时间和最后的修改时间都会改为当前的系统时间。另外,如果磁盘满,复制可能会失败。
Q7: 在有些系统中有可能把部分文件映射进内存中。如此一来系统应该施加什么限制?这种部分映射如何实现?
A:文件的映射部分必须以页边界开始,并且长度为整数页数。每个映射的页面使用文件本身作为后备存储。未映射的内存使用临时文件或分区作为后备存储。
Q8: 有一个简单操作系统只支持单一目录结构,但是允许该目录中有任意多个文件,且带有任意长度的名字。这样可以模拟层次文件系统吗?如何进行?
A:使用文件名,如/usr/ast/file。虽然它看起来像一个层次化的路径名称,但它只是一个包含嵌入的斜杠的单一名称。
Q9: 在UNIX 和Windows 中通过使用一个特殊的系统调用把文件的“当前位置”指针移到指定字节,从而实现了随机访问。请提出一个不使用该系统调用完成随机存取的替代方案。
A:一种方法是在读取系统调用中添加一个额外的参数,告诉你要读取哪个地址。实际上,每次读取都有可能在文件中进行搜索。该方案的缺点是(1)每个读取调用都含有额外参数,以及(2)要求用户跟踪文件指针在哪里。福美来二代
Q10.考虑图4-8中的目录树,如果当前工作目录是/usr/jim,则相对路径名为…/ast/x的文件的绝对路径名是什么?
A: …将搜索移动到/usr,所以…/ast就是/usr/ast。因此…/ast/x与/usr/ast/x相同。
Q11: 正如书中所提到的,文件的连续分配会导致磁盘碎片,因为当一个文件的长度不等于块的整数倍时,文件中的最后一个磁盘块中的空间会浪费掉,请问这是内碎片还是外碎片?并将它与先前一章的有关讨论进行比较。
发布评论