Memory 文件系统-内存映射文件

Memory 文件系统-内存映射文件,memory,operating-system,virtual-memory,memory-mapped-files,virtual-address-space,Memory,Operating System,Virtual Memory,Memory Mapped Files,Virtual Address Space,我的操作系统课程的最后一个问题示例: 大多数操作系统支持“内存映射文件”;这描述了映射到正在运行的进程的地址空间的文件。对文件的读取和写入将转换为内存读取和写入。我们可以想象存在两个新的系统调用,map()和unmap() a)考虑MAP();它接受文件名和虚拟地址,使操作系统将文件映射到从虚拟地址开始的地址空间。描述如何使用虚拟内存系统支持此调用 b)考虑UNMAP();它解除文件与虚拟地址空间的关联。描述实现此系统调用应采取的统计信息。列出你所有的假设 c) 在许多UNIX系统中,索引节

我的操作系统课程的最后一个问题示例:

大多数操作系统支持“内存映射文件”;这描述了映射到正在运行的进程的地址空间的文件。对文件的读取和写入将转换为内存读取和写入。我们可以想象存在两个新的系统调用,map()和unmap()

a)考虑MAP();它接受文件名和虚拟地址,使操作系统将文件映射到从虚拟地址开始的地址空间。描述如何使用虚拟内存系统支持此调用

b)考虑UNMAP();它解除文件与虚拟地址空间的关联。描述实现此系统调用应采取的统计信息。列出你所有的假设

c) 在许多UNIX系统中,索引节点保持在磁盘的开头。另一种设计是在创建文件时分配inode,并将inode放在文件第一个块的开头。讨论此备选方案的利弊

d) 如果包含可用磁盘块信息的位图或可用列表由于崩溃而完全丢失,会发生什么情况?是否仍然需要从这次灾难中恢复,或者磁盘不再可用。讨论有关UNIX和FAT风格的磁盘块分配的答案

非常感谢关于这些问题的任何讨论信息。

对于c)检索目录/文件和数据的开销,尤其是在为新文件分配内存时,这会导致查找每个inode并检索其文件大小、权限等 当大量小文件需要大量空间时,这可能会在磁盘开始时消耗大量内存

对于c)检索目录/文件和数据的开销尤其是在为新文件分配内存时,这会导致查找每个inode并检索其文件大小、权限等 当大量小文件需要大量空间时,这可能会在磁盘开始时消耗大量内存