Лабораторная работа №8.
Измерение производительности файловых систем.
Кроссплатформенное консольное программирование.
Задание
-
Создать для своей виртуальной машины дополнительный жесткий диск с 4-мя разделами с файловыми
системами ext3, xfs, fat32, ntfs. В ОС Linux подключить их в каталоги соответственно
/mnt/ext3, /mnt/xfs, /mnt/fat32, /mnt/ntfs. В ОС Windows раздел с fat32 подключить к диску F:,
раздел с ntfs подключить к диску N:.
- Создать кроссплатформенную консольную программу filespeed (filespeed.exe), которая измеряет время
- создания,
- заполнения случайными значениями,
- удаления набора из X файлов общим объемом в N байт (N кратно X).
На входе программы 3 параметра:
- каталог, в котором производятся манипуляции по созданию, заполнению, удалению;
- общий объем файлов N;
- количество файлов X.
На выходе программы 7 числовых значений по одному в каждой строке:
- операционная система, на которой призводились измерения (1 - Windows, 2 - Linux)
- файловая система, на которой призводились измерения (1 - ext3, 2 - xfs, 3 - fat32, 4 - ntfs)
- общий объем файлов N
- кол-во файлов X
- время в миллисекундах, затраченное на создание файлов
- время в миллисекундах, затраченное на заполнение файлов
- время в миллисекундах, затраченное на удаление файлов
Размер создаваемых файлов одинаков и равен N/X.
Язык программирования - кроссплатформенный компилируемый по выбору студента (c, freepascal и т.п.).
Пример запуска под Windows: filespeed.exe f: 100000000 10000
Пример запуска под Linux: filespeed /mnt/fat32 100000000 10000
-
Проверить работоспособность программы под Windows на файловых системах fat32, ntfs, зафиксировать результаты.
Проверить работоспособность программы под Linux на файловых системах ext3, xfs, fat32, ntfs, зафиксировать результаты.
Сравнить полученные результаты, сделать выводы.