Подсистема ввода-вывода и файловая система ОС Windows NT
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
Министерство образования Республики Беларусь
Учреждение образования
Белорусский государственный университет информатики и радиоэлектроники
Кафедра интеллектуальных информационных технологий
Отчет
по лабораторной работе № 3
по курсу Операционные системы
на тему Подсистема ввода-вывода и файловая система ОС Windows NT
Выполнили: студенты гр. 921703
Шут А.С.
Зарембо Д.Н.
Проверил: Колб Д.Г.
МИНСК 2012
1. Описание хода проведенных экспериментов
Для анализа было выбрано приложение Total Commander (TotalCmd.exe).
Рис. 1 - Копирование и удаление файла
На рис. 1 представлены счетчики монитора производительности физического диска: текущая длина очереди диска (сплошная тонкая), средняя длина очереди диска (штриховая), количество обращений к диску в секунду (сплошная толстая). Первые пики соответствуют процессу копирования файла программой TotalCmd.exe: регистрируется максимальное число обращений к диску в 1 секунду, возрастает средняя и текущая длина очереди диска (максимальное значение - 4). Последний пик на графике зарегистрирован в момент удаления файла.
Рис. 2 - Поиск файла на диске
На рис. 2 показан график (с теми же счетчиками, что и на рис. 1), полученный в ходе поиска файла на диске С. В данном случае длина очереди диска меньше, чем при копировании файла. Это обусловлено тем, что операция поиска менее ресурсоемкая, т.к. не требует считывания и записи блоков данных большого размера.
На рис. 3 и 4 представлены графики монитора производительности при скачивании и закачивание файла по локальной сети. Счетчики: получено байт в секунду (сплошная тонкая), отправлено байт в секунду (штриховая), длина очереди вывода (сплошная толстая). Из рисунков видно, что при закачивании значение длины очереди вывода в среднем больше, чем при скачивании файлов. Данное различие наблюдается из-за того, что значение счетчика длина очереди вывода определяется количеством исходящих пакетов в очереди, количество которых значительно больше при закачивании файла.
Рис. 3 - Скачивание файла
Рис. 4 - Закачивание файла
Рис. 5 - File Monitor: копирование файла
На рис. 5 изображен отчет программы Filemon.exe, в котором показаны запросы процесса TotalCmd.exe в ходе копирования файла: процесс поочередно вызывает системные функции read (чтение из файла в буфер оперативной памяти) и write (запись из буфера оперативной памяти в файл). Путь к используемому файлу отображается в столбце Path, а результат выполнения системного вызова - в столбце Result. Копирование осуществляется равными блоками, размер которых - 131 072 байт. Смещение offset указывают позицию в файле, с которой происходит чтение/запись данных.
Рис. 6 - TDImon: скачивание файла
файловый сетевой адаптер приложение
Рис. 7 - TDImon: закачивание файла
С помощью программы TDImon.exe был проведен анализ работы процесса TotalCmd.exe при скачивании и закачивании файла по локальной сети (рис. 6 и 7). В столбце Request отображается тип запроса (TDI_RECEIVE, TDI_EVENT_RECEIVE при скачивании файла, TDI_SEND при закачивании файла), в столбце Local - IP-адрес сетевого интерфейса ("0.0.0.0" - любой сетевой интерфейс) и порт, Remote - удаленный IP-адрес и порт (порт 20 для данных протокола FTP). Результат выполнения запроса отображается в столбце Result.
Рис. 8 - Диспетчер задач Windows
C помощью диспетчера задач Windows (рис. 8) и утилиты TaskInfo (рис. 9) была собрана следующая информация о приложении Total Commander:
- процесс - Totalсmd.exe;
- PID - 3352;
- родительский процесс - explorer.exe;
- PID родительского процесса - 1364;
- количество потоков - 3;
- используемая память - 12 352 Кб, пиковое значение - 15 364 Кб;
- виртуальная память - 53 252 Кб, пиковое значение 56 208;
- количество объектов USER - 86;
- количество объектов GDI - 147.
Рис. 9 - TaskInfo
Утилита TaskInfo позволяет получить подробную информацию о любом из запущенных процессов: вкладка Modules - программные модули, используемые процессом; Files - файлы, открытие процессом; Handles - используемые дескрипторы; GDI - используемые процессом объекты GDI; Connections - сетевые соединения, установленные процессом; Env - информация о переменных окружения, используемых процессом; Image Info - подробная информация об образе процесса; Thread - информация о потоках процесса.
Выводы
В ходе выполнения лабораторной работы были изучены подсистема ввода-вывода и файловая система ОС семейства Windows NT. С помощью различных утилит (Монитор производительности, Filemon, TaskInfo, TDImon, Диспетчер задач Windows) было проанализировано приложение TotalCommander и его взаимодействие с файловой системой и подстистемой ввода-вывода. Монитор производительности и Filemon использовались для изучения работы приложения с физическим диском. С помощью утилиты TDImon было изучено взаимодействие TotalCommander с сетевыми адаптерами. С помощью Диспетчера задач Windows и TaskInfo были определены различные характеристики процесса TotalCmd.exe: PID, количество потоков, используемая память и др.