Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Мет_лаб__ОС_Засов_Тарабардин

.pdf
Скачиваний:
18
Добавлен:
09.04.2015
Размер:
623.82 Кб
Скачать

9.В каких случаях процесс завершается?

10.Какие утилиты для отображения информации и управления процессами и потоками Вы знаете?

11.Какие процессы выделены розовым цветом, а какие синим в программе

Process Explorer?

12.В чём преимущества программы Process Explorer перед диспетчером задач Windows?

13.Какими методами можно определить общую загруженность процессора и его загруженность конкретным процессом?

ЛАБОРАТОРНАЯ РАБОТА №3 ИЗУЧЕНИЕ ОСТНАСТКИ «ПРОИЗВОДИТЕЛЬНОСТЬ»

Цель работы: изучение средств операционной системы Windows для мониторинга производительности.

Краткие теоретические сведения

Оснастка Performance (Производительность) предназначена для мониторинга системы, просмотра журналов, в которых регистрируются значения счётчиков производительности, и оповещения при достижении заданных пороговых значений тех или иных счётчиков.

Для запуска оснастки Performance откройте на панели управления папку « Администрирование» и выберите значок « Производительность». Другой способ запуска – в командной строке выполнить команду perfmon.msc.

Оснастка Performance на самом деле представляет собой два инструмента:

-собственно « Системный монитор»;

-« Оповещения и журналы производительности» – автономная оснастка для просмотра файлов журналов производительности.

1. Системный монитор (System Monitor). С помощью системного монитора можно измерять производительность локального компьютера или других компьютеров в сети:

-собирать и просматривать данные текущей производительности системы на локальном компьютере или на нескольких удаленных компьютерах;

-просматривать текущие данные или данные, собранные ранее с помощью оснастки «Оповещения и журналы производительности»;

-представлять данные в виде графика, гистограммы или отчета, которые можно вывести на печать;

-внедрять возможности системного монитора в документы Microsoft Word или другие приложения пакета Microsoft Office с помощью автоматизации OLE;

-создавать HTML-страницы для просмотра производительности;

-создавать конфигурации мониторинга, допускающие повторное использование, которые можно инсталлировать на других компьютерах с помощью консоли управления.

Система Windows получает информацию о производительности от компонентов компьютера. Системные компоненты в ходе своей работы

генерируют данные о производительности. Такие компоненты называются объектами производительности.

В операционной системе имеется ряд объектов производительности, обычно соответствующих главным аппаратным компонентам, таким как память, процессоры и т.д. Приложения могут также инсталлировать свои объекты производительности.

Каждый объект производительности предоставляет счетчики, которые собирают данные производительности. Например, счетчик Pages/sec (Обмен страниц/сек) объекта Memory (Память) отслеживает степень кэширования страниц. Ниже перечислены объекты, которые наиболее часто используются для отслеживания работы системных компонентов:

-Cache (Кэш);

-Process (Процесс);

-LogicalDisk (Логический диск);

-Processor (Процессор);

-Objects (Объекты);

-System (Система);

-Memory (Память);

-Paging File (Файл подкачки);

-Thread (Поток);

-PhysicalDisk (Физический диск).

Для просмотра пояснений о том, какие данные предоставляет конкретней счетчик, нажмите кнопку « Объяснение» в диалоговом окне «Добавить счетчики»

(рис. 1).

Рис. 1. Выбор счетчиков и экземпляров объектов для мониторинга

Некоторые объекты (такие как память) имеют только один экземпляр, в то время как другие объекты производительности могут иметь множество экземпляров. Если объект имеет множество экземпляров, то Вы можете добавить счетчики для отслеживания статистики по каждому экземпляру или для всех экземпляров одновременно.

Для текущего мониторинга работы системы в режиме реального времени локального или удаленного компьютера удобно использовать графики. Журналы оснастки « Журналы оповещения и производительности» полезны для регистрации записей. Зарегистрированные данные могут быть использованы потом для создания отчетов и представлены в виде графиков или гистограмм с помощью системного монитора.

При выборе частоты и длительности регистрации данных следует соблюдать осторожность, поскольку частое обновление данных приводит к генерации очень большого объема данных, с которыми будет затруднительно работать. Это также может привести к увеличению издержек производительности на работу оснастки

«Журналы и оповещения производительности» [3-5].

2.Оснастка «Журналы и оповещения производительности». С помощью оснастки « Журналы и оповещения производительности» можно собирать данные о производительности с локальных или удаленных компьютеров. Собранные данные просматриваются в графическом виде с помощью системного монитора или экспортируются в электронные таблицы или базы данных для последующего анализа и создания отчетов.

Возможности оснастки « Журналы оповещений и производительности» перечислены ниже.

1)При сохранении в текстовом формате данные разделяются запятыми или символами табуляции для облегчения последующего экспорта в электронные таблицы. Также данные можно сохранять в двоичном формате для непрерывной регистрации с перезаписью или регистрации объектов, таких как потоки или процессы, которые могут быть запущены после начала сбора данных.

2)Собранные данные можно записывать непосредственно в базу данных SQL. (Эта возможность появилась только в Windows XP.) Такой формат удобен в корпоративных сетях.

3)Данные, собранные при помощи оснастки « Журналы и оповещения производительности» можно просматривать как в процессе их сбора, так и после его окончания.

4)Поскольку регистрация запущена как сервис, сбор данных происходит независимо от наличия зарегистрированных пользователей на компьютере.

5)Конфигурирование непрерывной регистрации протекает более гибко: пользователи могут определять время запуска и окончания регистрации, имена файлов, размеры файлов и другие параметры для автоматической регистрации в журналах.

6)Можно устанавливать генерацию оповещений для счетчиков. В этом случае при превышении счетчиком (или снижении ниже) заданного значения может быть отправлено сообщение, запущена программа или открыт журнал данных.

7)Из одного окна консоли можно управлять многочисленными сеансами регистрации.

Оснастка « Журналы оповещений и производительности» содержит три компонента, описанных ниже.

1) Журналы счетчиков получают данные от выбранных счетчиков по истечении определенного интервала.

2) Журналы трассировки фиксируют результаты выполнения определенных операций, таких как операции ввода/вывода, или возникновение ошибки диска. При возникновении данного события поставщик отправляет данные сервису « Оповещения и журналы производительности». В отличие от журналов счетчиков, журналы трассировки находятся в ожидании определенных событий. Для интерпретации содержимого журнала трассировки необходимо использовать анализатор.

3) Оповещения. Этот узел позволяет установить оповещения для выбранных счетчиков. При превышении (или снижении ниже) заданного значения выбранными счетчиками оснастка посредством сервиса Messenger оповещает пользователя.

В окне оснастки обратите внимание на кнопки запуска и останова журналов на панели инструментов, с помощью которых легко можно управлять работой разных журналов.

Оборудование для выполнения работы

Работа выполняется на персональных компьютерах с операционной системой Windows NT/2000\XP.

Порядок выполнения работы

1. Оснастка «Системный монитор» (Performance). Настройка счётчиков.

При запуске оснастки Performance в окне системного по умолчанию настроены три счетчика, позволяющие быстро оценить загрузку системы: Pages/sec (Обмен страниц/сек) для объекта Memory (Память), Avg. Disk Queue Length (Средняя длина очереди диска) для объекта PhisicalDisk (Физический диск) и % Processor Time (% загруженности процессора) для объекта Processor (Процессор).

Для добавления других счетчиков выполните следующие действия:

1)В панели результатов (правом окне оснастки) щелкните правой кнопкой мыши и выберите в контекстном меню команду « Добавить счетчики».

2)В открывшемся окне выберите переключатель «Использовать локальные счетчики» для мониторинга компьютера, на котором запущена консоль мониторинга.

3)В списке « Объект» выберите объект для мониторинга.

4)В списке под переключателем «Выбрать счетчики из списка» укажите счетчик, который Вы собираетесь использовать.

5)Нажмите кнопку « Добавить». Когда все счетчики будут добавлены, нажмите кнопку « Закрыть».

На Рис. 2. показаны графики зависимости от времени загруженности процессора и сети.

Рис. 2. Графики показателей счётчиков загруженности процессора и сети

2. Оснастка «Системный монитор» (System Monitor). Настройка способов представления информации.

Компонент System Monitor предоставляет три средства просмотра информации о производительности системы: два графических (График и Гистограмма) и одно текстовое (Отчет). Для настройки внешнего вида окна мониторинга щелкните график правой кнопкой мыши и выберите пункт « Свойства» контекстного меню. В появляющемся окне для графика и гистограммы можно задать ряд дополнительных параметров отображения:

-название графика или гистограммы и осей координат;

-диапазон выводимых значений;

-характеристики кривой на графике или столбцов на гистограмме, такие как цвет, толщина, стиль и др.;

-частоту обновления счётчиков;

-выбор источника данных и т.д.

Изучив самостоятельно возможности данного раздела, проследите за работой системного монитора при различных параметрах отображения информации.

3. Работа с журналами счётчиков. Рассмотрим процесс создания нового журнала счетчиков.

1)Запустите оснастку Performance и откройте узел «Журналы и оповещения производительности».

2)Выберите узел « Журналы счетчиков», щелкните правой кнопкой мыши в панели результатов и в контекстном меню выберите пункт «Новые параметры журнала».

3)В открывшемся окне введите произвольное имя журнала в поле «Имя» и нажмите кнопку ОК (рис. 3).

Рис. 3. Создание нового журнала счетчиков

4) На вкладке « Общие» нажмите кнопку « Добавить объекты» для добавления объектов производительности.

5)Для того чтобы добавить отдельные счетчики для объектов производительности, нажмите кнопку « Добавить счетчики». В открывшемся окне выберите объект производительности и необходимые счетчики.

6)На вкладке « Файлы журнала» можно выбрать тип журнала (текстовый или двоичный файл).

7)Установить расписание запуска и остановки регистрации данных в

журнале можно на вкладке « Расписание» — панели « Запуск журнала» и

«Остановка журнала».

8)На вкладке « Расписание» можно также определить действия, которые произойдут после закрытия файла журнала

9)Чтобы просмотреть данные сохраненного журнала счетчиков (после его работы), в окне свойств системного монитора перейдите на вкладку «Источник» и нажмите кнопку « Добавить». Вы сможете выбрать любой имеющийся файл журнала.

10)Аналогично журналам счётчиков и трассировки создайте оповещение, самостоятельно изучив механизмы его работы.

Сделайте выводы о проделанных работах.

Содержание отчёта

1.Титульный лист работы.

2.Формулировка цели и задач работы.

3.Список используемых средств Windows.

4.Список выбираемых счётчиков и их назначение.

5.Графики загруженности операционной системы.

6.Краткие выводы по проделанной работе.

Контрольные вопросы

1.Для чего нужна оснастка « Производительность»?

2.Перечислите способы запуска оснастки « Производительность».

3.Опишите состав оснастки « Производительность» и назначение её компонентов.

4.Что такое счётчик? Назовите примеры счётчиков

5.В чём различие между журналом счётчиков и журналом трассировки?

6.Какое средство просмотра журнала счётчиков Вы знаете?

7.Каковы функции и возможности журналов оповещения?

8.Какие дополнительные функции просмотра информации предоставляет оснастка « Производительность»?

ЛАБОРАТОРНАЯ РАБОТА №4 ПЛАНИРОВАНИЕ ПРОЦЕССОВ И ПОТОКОВ. ПЛАНИРОВАНИЕ

ПРИОРИТЕТОВ

Цель работы: изучение средств операционной системы Windows для планирования процессов, потоков и назначения приоритетов.

Краткие теоретические сведения

Впредыдущих работах Вы познакомились с такими понятиями, как процесс и поток (или нить). В данной работе Вам предстоит изучить способы разделения времени и ресурсов, отводимых процессором на выполнение того или иного процесса или потока.

ВWindows 2000 реализована вытесняющая многозадачность [3], при которой операционная система не ждет, когда нить сама захочет освободить процессор,

апринудительно снимает ее с выполнения после того, как та израсходовала отведенное ей время (квант), или если в очереди готовых появилась нить с более высоким приоритетом. При такой организации разделения процессора ни одна нить не займет процессор на очень долгое время.

ВОС Windows 2000 нить в ходе своего существования может иметь одно из шести состояний (Рис. 1). Жизненный цикл нити начинается в тот момент, когда программа создает новую нить. Менеджер процессов выделяет память для объекта-нити и обращается к ядру, чтобы инициализировать объект-нить ядра. После инициализации нить проходит через нижеперечисленные состояния.

Готовность (значение 1). При поиске нити на выполнение диспетчер просматривает только нити, находящиеся в состоянии готовности, у которых есть все для выполнения, но не хватает только процессора.

Простаивание (значение 3). Для каждого процессора системы выбирается одна нить, которая будет выполняться следующей (самая первая нить в очереди). Когда условия позволяют, происходит переключение на контекст этой нити.

Выполнение (значение 2). Как только происходит переключение контекстов, нить переходит в состояние выполнения и находится в нем до тех пор, пока либо ядро не вытеснит ее из-за того, что появилась более приоритетная нить или закончился квант времени, выделенный этой нити, либо нить завершится вообще, либо она по собственной инициативе перейдет в состояние ожидания.

Ожидание (значение 5). Нить может входить в состояние ожидания несколькими способами: нить по своей инициативе ожидает некоторый объект для того, чтобы синхронизировать свое выполнение; операционная система (например, подсистема ввода-вывода) может ожидать в интересах нити; подсистема окружения может непосредственно заставить нить приостановить себя. Когда ожидание нити подойдет к концу, она возвращается в состояние готовности.

Рис. 1. Состояния потоков в Windows 2000

Переходное состояние (значение 6). Нить входит в переходное состояние, если она готова к выполнению, но ресурсы, которые ей нужны, заняты. Например, страница, содержащая стек нити, может быть выгружена из оперативной памяти на диск. При освобождении ресурсов нить переходит в состояние готовности.

Завершение (значение 4). Когда выполнение нити закончилось, она входит в состояние завершения. Находясь в этом состоянии, нить может быть либо удалена, либо не удалена. Это зависит от алгоритма работы менеджера объектов, в соответствии с которым он и решает, когда удалять объект.

Диспетчер ядра использует для определения порядка выполнения нитей алгоритм, основанный на приоритетах, в соответствии с которым каждой нити присваивается число - приоритет, и нити с более высоким приоритетом выполняются раньше нитей с меньшим приоритетом. В самом начале нить получает приоритет от процесса, который создает ее. В свою очередь, процесс получает приоритет в тот момент, когда его создает подсистема той или иной прикладной среды. Значение базового приоритета присваивается процессу системой по умолчанию или системным администратором. Нить наследует этот базовый приоритет и может изменить его, немного увеличив или уменьшив. На основании получившегося в результате приоритета, называемого приоритетом

планирования, начинается выполнение нити. В ходе выполнения приоритет планирования может меняться [3,4].

Windows NT поддерживает 32 уровня приоритетов, разделенных на два класса - класс реального времени и класс переменных приоритетов. Нити реального времени, приоритеты которых находятся в диапазоне от 16 до 31, являются более приоритетными процессами и используются для выполнения задач, критичных ко времени.

Каждый раз, когда необходимо выбрать нить для выполнения, диспетчер прежде всего просматривает очередь готовых нитей реального времени и обращается к другим нитям, только когда очередь нитей реального времени пуста. Большинство нитей в системе попадают в класс нитей с переменными приоритетами, диапазон приоритетов которых от 0 до 15. Этот класс имеет название "переменные приоритеты" потому, что диспетчер настраивает систему, выбирая (понижая или повышая) приоритеты нитей этого класса.

Алгоритм планирования нитей в Windows направления NT объединяет в себе обе базовых концепции - квантование и приоритеты. Как и во всех других алгоритмах, основанных на квантовании, каждой нити назначается квант, в течение которого она может выполняться. Нить освобождает процессор, если:

-блокируется, уходя в состояние ожидания;

-завершается;

-исчерпан квант;

-в очереди готовых появляется более приоритетная нить.

Использование динамических приоритетов, изменяющихся во времени, позволяет реализовать адаптивное планирование, при котором не дискриминируются интерактивные задачи, часто выполняющие операции вводавывода и недоиспользующие выделенные им кванты. Если нить полностью исчерпала свой квант, то ее приоритет понижается на некоторую величину. В то же время приоритет нитей, которые перешли в состояние ожидания, не использовав полностью выделенный им квант, повышается. Приоритет не изменяется, если нить вытеснена более приоритетной нитью.

Для того, чтобы обеспечить хорошее время реакции системы, алгоритм планирования использует наряду с квантованием концепцию абсолютных приоритетов. В соответствии с этой концепцией при появлении в очереди готовых нитей такой, у которой приоритет выше, чем у выполняющейся в данный момент, происходит смена активной нити на нить с самым высоким приоритетом.

Вмногопроцессорных системах при диспетчеризации и планировании нитей играет роль их процессорная совместимость: после того, как ядро выбрало нить

снаивысшим приоритетом, оно проверяет, какой процессор может выполнить данную нить и, если атрибут нити "процессорная совместимость" не позволяет нити выполняться ни на одном из свободных процессоров, то выбирается следующая в порядке приоритетов нить.

Вданной работе для загрузки процессора используется утилита CPUSTRESS. Она создаёт процесс, который может состоять из 4 потоков. Каждому потоку может быть назначен различный приоритет:

- Idle – самый низкий; - Lowest – низкий;

- Bellow Norman – ниже среднего;

-Normal – средний;

-Above Normal – выше среднего;

-Highest – высокий;

-Time Critical – критично высокий (не рекомендуется, т.к. может привести к

«зависанию»).

Также потоку может быть назначена различная активность:

-Low – низкая;

-Medium – средняя;

-Busy – высокая;

-Maximum – очень высокая (может привести к зависанию»).

Кроме того, самому процессу может быть назначен приоритет – низкий (Idle), высокий (High) или средний (Normal).

Оборудование для выполнения работы

Работа выполняется на персональных компьютерах с операционной системой Windows NT/2000\XP.

Порядок выполнения работы

1. Просмотр и назначение приоритетов процессам.

1)Запустите два экземпляра программы CPUSTRESS (рис. 2).

2)Для обоих экземпляров задайте одинаковые параметры: приоритет – средний, приоритет потока 1 – средний, активность потока 1 – высокая (Busy).

Рис. 2. Окно программы для принудительной загрузки процессора CPUSTRESS

3)Запустите диспетчер задач, Process Explorer и Process Viewer.

4)С помощью данных программ просмотрите приоритеты процессов CPUSTRESS. Они должны быть одинаковыми.

5)Запустите оснастку Performance.