【发布时间】:2017-01-28 06:56:57
【问题描述】:
我目前正在学习基于 UNIX 环境的操作系统课程。以下是关于 UNIX 缓冲区缓存系统和文件执行的一些补充概念问题。
如您所知,UNIX 在 RAM 中维护一个块缓冲区高速缓存。但是,写入包含目录信息的块会立即写回磁盘。为什么在这种情况下放弃缓冲区缓存的效率?
我想我对这里的答案有一个大致的了解,但如果我的理解不正确,我想填补任何漏洞。通常,人们宁愿避免磁盘访问并通过缓冲区缓存,因为这样做要快得多。但是,由于写入包含目录信息的块无论如何都会访问磁盘,因此拥有块缓存是多余的。其次,如果块碰巧对文件系统的一致性至关重要,则应立即将其写回磁盘,以避免在发生某些重大故障或崩溃时整个文件系统故障。我的问题是,正确的想法是这两个想法的结合,还是有一个更合适的想法。
在 Windows 中,当用户双击 Windows 资源管理器列出的文件时,将运行一个程序并将该文件作为参数。在 UNIX 中做不同的事情。列出操作系统知道运行哪个程序的两种不同方式。
嗯,我知道 UNIX 使用所谓的“幻数”,位于文件的第一个字节中,指示它是什么类型的文件以及如何处理它。因此,使用文件扩展名命名 UNIX 文件似乎除了方便用户之外没有其他目的。然后,正如问题中明确指出的那样,我们让 Windows 使用文件扩展名来实现这一点。我还缺少其他方法吗,特别是在 UNIX 中?
谢谢!
【问题讨论】:
标签: linux unix filesystems