![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определить скорость чтения/записи HDD [D5, Win95/98, Win2k, WinXP]
cashe © (2003-10-23 01:15:00)
Добрый день!
Очень бы хотелось спросить у здешних завсегдатаев: как осуществить замер скорости чтения и записи для любого носителя? В основном меня интересует HDD, но, думаю, для флопика и CD-ROM все будет аналогично. Хоть как это осуществить хотя бы без привязки к Delphi - теоретически. А вообще, в идеале, это хочу замутить через WinAPI.
Заранее спасибо.
NightAngel (2003-10-23 22:36:00) [1]
> cashe (23.10.03 16:25) [2]
См. функции CreateFile(), SetFilePointer(), ReadFile(). На платформе NT поддерживается режим блочного чтения с устройства, в котором всё содержимое диска трактуется как один большой файл.
Есть также функция DeviceIoControl(). У нее существует полсотни различных dwIoControlCode и три десятка различных структур ввода/вывода. Для Win9x/ME чтение секторов практически так же, как это было в DOS (используется int 21h). На NT платформе также можно взаимодействовать с IDE-устройствами через SCSI-интерфейс. Посылать устройству CDB-блоки(Command Descriptor Block), содержащие стандартные или специфичные для данного устройства команды управления вместе со всеми необходимыми им параметрами. CDB-блоки упаковываются в SRB-конверт(SCSI Request Block). Структура SRB-блока подробно описана в DDK. Передаётся SRB-блок выбранному устройству посредством функции DeviceIoControl().
cashe (2003-10-23 16:25:00) [2]
А если без файла. Смысл в том, что мне надо измерить скорость HDD, но, например, без создания этого большого файла. Или, например, без учета фрагментации диска. Как получить (если это вообще возможно) доступ к секторам диска, чтобы их последовательно считывать, учитывая геометрию носителя?
Woolen (2003-10-23 15:16:00) [3]
Видимо, просто прочитать большой файл на время. Скорость = объем/время. Думаю, из этого надо исходить. Хотя, на свете существуют более точные и надежные способы.