Подсистема ввода-вывода и файловая система ОС Windows NT
Министерство образования Республики Беларусь
Учреждение образования
«Белорусский государственный университет информатики и
радиоэлектроники»
Кафедра интеллектуальных информационных технологий
Отчет
по
лабораторной работе № 3
по
курсу «Операционные системы»
на
тему «Подсистема ввода-вывода и файловая система ОС
Windows NT»
Выполнили: студенты
гр. 921703
Шут А.С.
Зарембо Д.Н.
Проверил: Колб Д.Г.
МИНСК 2012
1. Описание хода
проведенных экспериментов
Для анализа было выбрано приложение
Total Commander (TotalCmd.exe).
Рис. 1 - Копирование и удаление
файла
На рис. 1 представлены счетчики
монитора производительности физического диска: текущая длина очереди диска
(сплошная тонкая), средняя длина очереди диска (штриховая), количество
обращений к диску в секунду (сплошная толстая). Первые пики соответствуют
процессу копирования файла программой TotalCmd.exe: регистрируется максимальное
число обращений к диску в 1 секунду, возрастает средняя и текущая длина очереди
диска (максимальное значение - 4). Последний пик на графике зарегистрирован в
момент удаления файла.
Рис. 2 - Поиск файла на диске
На рис. 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;
·
количество потоков - 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, количество потоков,
используемая память и др.