我这学期要上计算机组织课。
我的教授给我们做了一个家庭作业。描述如下:
编写一个程序来对Windows和Linux这两个文件系统进行基准测试。讨论哪种表现更好
我想用C来完成这项家庭作业,但我不知道如何开始。
我需要什么功能?我能做什么?
请给我一些提示或例子。
您可以从bonie++下载源代码,看看它们是如何做到这一点的。
但我认为最好的方法是,你在硬盘上写,看看写或读定义的数据需要多长时间。
一些有趣的数据点只用于文件读/写:
- 冷缓存与热缓存
- 单线程?并发线程
- posix aio与windows重叠i/o(单线程?多线程?)
您还可以测量目录枚举和遍历的速度。
请记住,Linux和Windows都支持许多文件系统;ext4和NTFS分别是Linux和Windows中使用最广泛的。
您应该使用哪些功能?对于unix,有基本的read(2)
和write(2)
调用(对于正常的阻塞IO)。Windows有ReadFile
和WriteFile
。