2012-04-05 59 views
2

本学期我正在参加计算机组织课程。基准文件系统的性能

我的教授给我们homework.the描述如下:

写一个程序,标杆两个文件系统,Windows和Linux。讨论哪个更好。

我想用C来实现这个家庭作业,但我不知道如何开始。

我需要什么功能?我可以做什么?

请给我一些提示或例子。

+0

看看'stdio.h' http://www.cplusplus.com/reference/clibrary/cstdio/和'time.h' http://www.cplusplus.com/reference/clibrary/ctime/以获取有关如何在C中使用文件/时间的一些信息。另外,您将必须更具体地了解您想要测试的内容(即打开文件,删除文件,创建文件等)。 – twain249 2012-04-05 17:22:48

+0

谢谢大家! – Sagi 2012-04-11 15:53:33

回答

3

你可以从bonie++下载源代码,看看它们是如何做到的。

但我认为最好的方法是,您写入到您的硬盘驱动器,看看需要多长时间来写或读取定义的数据。只是文件

2

一些有趣的数据点的读/写:

  • 冷缓存VS热缓存,
  • 单线程?并发线程?
  • POSIX AIO VS窗口重叠I/O(单线程?多线程?)

你也可以衡量目录列表和遍历的速度。

请记住,Linux和Windows都支持很多文件系统; ext4和NTFS分别是Linux和Windows最广泛使用的。

您应该使用哪些功能?对于unix,有基本的read(2)write(2)调用(对于正常的阻塞IO)。 Windows有ReadFile and WriteFile

+0

我有可能使用某些代码编写程序来测试Windows和Linux上的文件系统吗?恐怕不同的功能有不同的速度。 – Sagi 2012-04-06 00:39:17

+0

不同的操作系统有不同的API。是的,你可以在两者上使用简单的C'read(2)'/'write(2)',但是你可能无法获得最好的性能。 – 2012-04-06 06:42:42

+0

我写了一个顺序阅读测试。代码:http://paste.plurk.com/show/991066/ 我的方向是否正确? – Sagi 2012-04-06 14:18:37