我正在开发一个文件页面管理器程序,必须编写以下函数:
RC readPage(PageNum pageNum, void *data)
This method reads the page into the memory block pointed to by data. The page should exist.
readPageCount = readPageCount + 1;
return 0;
}所以基本上,文件处理程序类型的对象将被传递给文件管理器类的函数,该函数基本上创建、打开、销毁文件。此文件处理程序提供诸如读取记录和向文件中的特定页写入记录等功能。
我不明白这在技术层面上是如何工作的。如何在文件中创建页面?我理解页面的概念是什么,但是如何将其转换为文件中的实际物理页面呢?在项目中,指定页面大小为4096字节。
我了解记录格式是如何工作的,但仅限于抽象级别。我知道这可能是一个很长的答案,所以如果你不愿意提供答案,提供一个很好的资源来解释这个主题将是很好的。我很难找到正确的资源来理解这个话题。
发布于 2017-04-12 16:43:39
在您正在编写的代码级别,决定文件分页的工作方式。这里没有涉及到魔法。
请注意,没有“文件中的实际物理页”。文件系统是一种逻辑抽象。我们可能拥有的最接近的物理设备是块存储设备,例如硬盘。并且可能没有4096字节块;512字节块也是常见的。CD还有另一个块大小(2KB?)。
https://stackoverflow.com/questions/43361199
复制相似问题