2012-04-05 165 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