【发布时间】:2011-09-01 17:24:09
【问题描述】:
我正在用户空间设计一个文件系统,需要对其进行测试。我不想使用可用的基准测试工具,因为我的要求不同。所以为了测试文件系统,我希望模拟文件访问操作。为此,我首先使用 ftw() 函数遍历我现有的文件系统(实验)并列出文件中的所有文件和目录。
然后我调用一个模拟器来模拟多个进程的文件访问。因此,模拟器随机启动一个进程,即它分叉一个线程,该线程执行真实进程会执行的操作。线程随机选择一个文件操作(读取、写入、重命名等)从列表中选择该操作的参数(由 ftw() 生成)。线程执行许多此类文件操作,然后退出标记进程结束。模拟器继续产生线程;线程执行可以像真实进程一样重叠。现在,由于操作由线程执行,文件被插入、删除、重命名,并在文件列表中更新。
我还没有开始编码。这个计划看起来合理吗?我也不确定如何编写模拟器......它会如何在一段时间内产生线程。我是否应该使用一些随机延迟来执行此操作。
谢谢
【问题讨论】:
-
你想达到什么目的?我会坚持飞钓——帽子更好看。
标签: c linux file-io filesystems