
Операционные системы. Ч
.2.pdf
70
Рис. 1.9 — Окно диспетчера задач в ОС Windows XP
2. Для просмотра приложений перейти на вкладку «Приложения». Здесь можно завершить приложение (кнопка «Снять задачу»), переключиться на другое приложение (кнопка «Переключиться») и создать новую задачу (кнопка «Новая задача»). В последнем случае после нажатия кнопки «Новая задача» в появившемся окне (рис. 1.10) нужно ввести имя задачи.

71
Рис. 1.10 — Окно создания новой задачи в ОС Windows XP
3.Просмотр (мониторинг) процессов осуществляется переходом на вкладку «Процессы». Таблица процессов включает в себя все процессы, запущенные в собственном адресном пространстве, в том числе все приложения и системные сервисы. Обратите внимание на процесс «Бездействие системы» — фиктивный процесс, занимающий процессор при простое системы.
4.Если требуется просмотреть 16-разрядные процессы, то в меню «Параметры» необходимо выбрать команду «Отображать 16-разрядные задачи».
5.Для выбора просматриваемых показателей (характеристик) с помощью команды «Выбрать столбцы» (меню «Вид») необходимо установить флажки рядом с показателями, которые требуется отображать (рис. 1.11).
В качестве примера можно рассмотреть процессы приложения MS Word. Для этого нужно выполнить следующие
действия [13]:
1.Запустить MS Word. Щелкнуть правой клавишей мыши по названию приложения и в появившемся контекстном меню выбрать строку «Перейти к процессам». Произойдет переход на вкладку «Процессы». Можно просмотреть число потоков и другие характеристики процесса.
2.Изменить приоритет процесса. На вкладке «Процессы» необходимо щелкнуть правой клавишей мыши по названию процесса и выбрать в контекстном меню строку «Приоритет». Изменив приоритет, можно увидеть в колонке «Базовый приоритет» его новое значение.

72
Рис. 1.11 — Окно диспетчера задач в ОС Windows XP
на вкладке «Процессы» с окном настройки отображения столбцов
3. Изменить скорости обновления данных. Войти в меню «Вид» и выбрать команду «Скорость обновления». Установить требуемую скорость (высокая — каждые полсекунды, обычная — каждую секунду, низкая — каждые 4 секунды, приостановить — обновления нет). Следует иметь в виду, что с повышением скорости мониторинга возрастают затраты ресурсов компьютера на работу операционной системы, что, в свою очередь, вносит погрешность в результаты мониторинга.
Диспетчер задач позволяет получить обобщенную информацию об использовании основных ресурсов компьютера.
Для этого необходимо сделать следующее [13]:

73
1. Перейти на вкладку «Быстродействие» (рис. 1.12). Верхние два окна показывают интегральную загрузку процессора и хронологию загрузки. Нижние два окна — те же показатели, но по использованию памяти.
Рис. 1.12 — Окно диспетчера задач в ОС Windows XP на вкладке «Быстродействие»
2. Для просмотра использования процессора в режиме ядра (красный цвет) войти в меню «Вид» и щелкнуть на строке Вывод времени ядра.
В нижней части окна вкладки «Быстродействие» отображается информация о количестве процессов и потоков, участвующих в мультипрограммном вычислительном процессе, об общем количестве дескрипторов (описателей) объектов, созданных опе-
74
рационной системой, а также информация о доступной и выделенной памяти для реализации приложений. Кроме того, приводятся сведения о выделении памяти под ядро операционной системы с указанием выгружаемой и невыгружаемой памяти ядра и объеме системного кэша.
Также в диспетчере задач имеются вкладки для отображения состояния сети (вкладка «Сеть») и информации о вошедших в систему пользователях (вкладка «Пользователи»).
Ряд программ как производителей операционных систем, так и сторонних производителей могут предоставить более детальную информацию о компонентах вычислительного процесса и механизмы управления им: Process Explorer, Process Viewer, Microsoft Spy++, CPU Stress, Scheduling Lab, Job Lab и др.
На рис. 1.13 показано окно с получением информации о потоках в программе Process Explorer. В данной программе можно получить исчерпывающую информацию о количестве и состоянии задач в операционной системе Windows.
Любой поток состоит из двух компонентов [13]:
−объекта ядра, через который операционная система управляет потоком. Там же хранится статистическая информация о потоке;
−стека потока, который содержит параметры всех функций и локальные переменные, необходимые потоку для выполнения кода.
Создав объект ядра «поток», система присваивает счетчику числа его пользователей начальное значение, равное двум. Затем система выделяет стеку потока память из адресного пространства процесса (по умолчанию резервирует 1 Мбайт адресного пространства процесса и передает ему всего две страницы памяти, далее память может добавляться). После этого система записывает в верхнюю часть стека два значения (стеки строятся от старших адресов памяти к младшим). Первое из них является значением параметра pvParam, который позволяет передать функции потока какое-либо инициализирующее значение. Второе значение определяет адрес функции потока pfnStartAddr, с
которой должен будет начать работу создаваемый поток.

75
Рис. 1.13 — Окно с информацией о потоках
впрограмме Process Explorer
Укаждого потока собственный набор регистров процессора, называемый контекстом потока. Контекст отображает состояние регистров процессора на момент последнего исполнения потока и записывается в структуру CONTEXT, которая содер-
жится в объекте ядра «ПОТОК».
76
Указатель команд (IP) и указатель стека (SP) — два самых важных регистра в контексте потока. Когда система инициализирует объект ядра «ПОТОК», указателю стека в структуре CONTEXT присваивается тот адрес, по которому в стек потока было записано значение pfnStartAddr, а указателю команд — адрес недокументированной функции BaseTbreadStart (находится в модуле Kerne132.dll).
Новый поток начинает выполнение этой функции, в результате чего система обращается к функции потока, передавая ей параметр pvParam. Когда функция потока возвращает управление, BaseTbreadStart вызывает ExitTbread, передавая ей значение, возвращенное функцией потока. Счетчик числа пользователей объекта ядра «ПОТОК» уменьшается на 1, и выполнение потока прекращается.
При инициализации первичного потока его указатель команд устанавливается на другую недокументированную функцию — BaseProcessStart. Она почти идентична ВаseTbreadStart. Единственное различие между этими функциями в отсутствии ссылки на параметр pvParam. Функция BaseProcessStart обращается к стартовому коду библиотеки С/С++/С#, который выполняет необходимую инициализацию, а затем вызывает входную функцию main, wmain, WinMain, Main. Когда входная функция возвращает управление, стартовый код библиотеки С/С++/С# вызывает ExitProcess [13].
1.6.2 Исследование производительности
В операционной системах семейства Windows имеются средства, позволяющие детально анализировать вычислительные процессы. К таким средствам относятся «Системный монитор» и «Оповещения и журналы производительности». Для доступа к этим средствам нужно выполнить последователь-
ность действий: Пуск → Панель управления → Администрирование → Производительность.
Откроется окно Производительность, содержащее две оснастки: «Системный монитор» и «Оповещения и журналы производительности» (рис. 1.14).

77
Рис. 1.14 — Окно «Производительность» в ОС Windows XP на вкладке «Быстродействие»
Системный монитор позволяет анализировать вычислительный процесс, используя различные счетчики. Объектами исследования являются практически все компоненты компьютера: процессор, кэш, задание, процесс, поток, физический диск, файл подкачки, очереди сервера, протоколы и др.
Для просмотра и выбора объектов мониторинга и настройки счетчиков нужно выполнить следующие действия:
1.Открыть оснастку «Производительность». По панели результатов (правая панель) щелкнуть правой клавишей мыши и выбрать в контекстном меню строку «Добавить счетчики» или щелкнуть по кнопке «Добавить» (значок +) на панели инструментов.
2.В появившемся окне «Добавить счетчики» (рис. 1.15) выбрать объект мониторинга, например процессор, а затем выбрать нужные счетчики из списка «Выбрать счетчики из списка», например «% времени прерываний», нажимая кнопку Добавить, для потока можно определить:

78
–число контекстных переключений в сек;
–состояние потока (для построения графа состояний и переходов);
–текущий приоритет (для анализа его изменения);
–базовый приоритет;
–% работы в привилегированном режиме и др.
Рис. 1.15 — Окно «Добавить счетчики» в программе оценки производительности в ОС Windows XP
Нажав кнопку «Объяснение», можно получить информацию о счетчике. При выборе нескольких однотипных объектов,
79
например потоков, нужно их указать в правом поле «Выбрать вхождения из списка».
Для удобства работы предусмотрена настройка вида отображаемой информации.
Просмотр информации производительности возможен в виде графика, гистограммы и отчета. Для настройки внешнего вида окна нужно щелкнуть по графику правой кнопкой мыши и выбрать команду «Свойства».
На вкладке «Общие» можно задать вид информации (график, гистограмма, отчет), отображаемые элементы (легенда, строка значений, панель инструментов), данные отчета и гистограммы (максимальные, минимальные и т.д.), период обновления данных и др.
На вкладке «Источник» задается источник данных. На вкладке «Данные» можно для каждого счетчика задать цвет, ширину линии, масштаб и др.
На вкладке «График» можно задать заголовок, вертикальную и горизонтальную сетку, диапазон значений вертикальной шкалы. На вкладках «Цвета и шрифты» можно изменить набор цветов и шрифт.
Режимы «График» и «Гистограмма» не всегда удобны для отображения результатов анализа, например при большом количестве счетчиков, меняющих свое значение в разных диапазонах величин. Режим «Отчет» позволяет наблюдать реальные значения счетчиков, так как не использует масштабирующих множителей. В этом режиме доступна только одна опция — изменение интервала опроса.
Полученная с помощью «Монитора производительности» информация позволяет наглядно произвести экспресс-анализ функционирования нужного компонента вычислительного процесса или устройства компьютера.
Оснастка «Оповещения и журналы производительности» содержит три компонента:
Журналы счетчиков, Журналы трассировки и Оповещения — которые можно использовать для записи и просмотра результатов исследования вычислительного процесса. Данные, созданные при помощи оснастки, можно просматривать как в процессе сбора, так и после его окончания.