Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Реферат - Средства управления процессами в ОС Windows - файл 1.doc


Реферат - Средства управления процессами в ОС Windows
скачать (131.5 kb.)

Доступные файлы (1):

1.doc132kb.03.12.2011 13:39скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...
Кафедра информатики

Реферат

    Средства управления процессами в ОС Windows


Содержание


I. Операционная система как система управления ресурсами и процессами

Операционная система в наибольшей степени определяет облик всей вычислительной системы в целом. Несмотря на это, пользователи, активно использующие вычислительную технику, зачастую испытывают затруднения при попытке дать определение операционной системе. Частично это связано с тем, что ОС выполняет две по существу мало связанные функции: обеспечение пользователю-программисту удобств посредством предоставления для него расширенной машины и повышение эффективности использования компьютера путем рационального управления его ресурсами.

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

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

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. Типичный граф состояний процесса показан на рисунке 1.

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно «вытеснен» из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.



^ Рис. 1. Граф состояний процесса в многозадачной среде

Операционная система поддерживает обособленность процессов: у каждого процесса имеется свое виртуальное адресное пространство, каждому процессу назначаются свои ресурсы - файлы, окна, семафоры и т.д. Такая обособленность нужна для того, чтобы защитить один процесс от другого, поскольку они, совместно используя все ресурсы машины, конкурируют друг с другом. В общем случае процессы принадлежат разным пользователям, разделяющим один компьютер, и ОС берет на себя роль арбитра в спорах процессов за ресурсы.

^ II. Управление процессами в ОС Windows

Процесс в ОС Windows состоит из следующих компонентов:

  • Структура данных, содержащая всю информацию о процессе, в том числе список открытых дескрипторов различных системных ресурсов, уникальный идентификатор процесса, различную статистическую информацию и т.д.;

  • Адресное пространство - диапазон адресов виртуальной памяти, которым может пользоваться процесс;

  • Исполняемая программа и данные, проецируемые на виртуальное адресное пространство процесса.

Новые процессы создаются при помощи функции Win32 API (Application Programming Interface – интерфейс прикладного программирования, или набор функций, которые операционная система предоставляет программисту) CreateProcessWithLogonW и происходит в несколько этапов:

  • открывается файл образа (ЕХЕ), который будет выполняться в процессе. Если исполняемый файл не является Win32 приложением, то ищется образ поддержки (support image) для запуска этой программы. Например, если исполняется файл с расширением .bat, запускается cmd.exe и т.п.

  • Создается объект Win32 «процесс».

  • Создается первичный поток (стек, контекст и объект «поток»).

  • Подсистема Win32 уведомляется о создании нового процесса и потока.

  • Начинается выполнение первичного потока.

  • В контексте нового процесса и потока инициализируется адресное пространство (например, загружаются требуемые DLL) и начинается выполнение программы.


У этой функции 10 параметров, каждый из которых может задаваться в различных вариантах:

1. Указатель на имя исполняемого файла.

2. Сама командная строка (непроанализированная).

3. Указатель на описатель защиты процесса.

4. Указатель на описатель защиты для начального потока.

5. Бит, управляющий наследованием дескрипторов.

6. Разнообразные флаги (например, режим ошибки, приоритет, отладка, консоли).

7. Указатель на строки окружения.

8. Указатель на имя текущего рабочего каталога нового процесса.

9. Указатель на структуру, описывающую начальное окно на экране.

10. Указатель на структуру, возвращающую вызывающему процессу 18 значений.
Создание потоков

Первичный поток создается автоматически при создании процесса. Остальные потоки создаются функциями CreateRemoteThread.
Завершение потоков

Поток завершается если

- Функция потока возвращает управление.

- Поток самоуничтожается, вызвав ExitThread.

- Другой поток данного или стороннего процесса вызывает TerminateThread.

- Завершается процесс, содержащий данный поток.

Завершение процессов

Функция ExitProcess – завершить текущий процесс и все его потоки

Процесс завершается если:

- Входная функция первичного потока возвратила управление.

- Один из потоков процесса вызвал функцию ExitProcess.

- Поток другого процесса вызвал функцию TerminateProcess.

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


^ III. Диспетчер задач

Task Manager (Диспетчер задач) - это один из самых мощных и удобных инструментов в WinNT/2000/XP/2003/Vista, предназначенных для управления процессами. Вызывается он либо Ctrl+Shift+Esc, либо Ctrl+Alt+Del, либо выбором в меню, появляющимся после нажатия правой кнопкой на панели задач. C помощью этой утилиты можно в режиме реального времени отслеживать выполняющиеся приложения и запущенные процессы, оценивать загруженность системных ресурсов компьютера и использование сети.

Открывшееся окно содержит четыре закладки, отвечающие четырем видам активности, которые отслеживает ^ Диспетчер: приложения, процессы, быстродействие (использование системных ресурсов) и Сеть.

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

Если на компьютере не запущены никакие пользовательские программы, то ^ Диспетчер задач должен содержать только служебные процессы операционной системы, установленной на компьютере.

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

В ряде случаев может потребоваться вручную завершить некий процесс. Это можно сделать с помощью кнопки ^ Завершить процесс. Кроме этого, с любым из этих процессов можно произвести вполне определённые действия. Для этого надо просто нажать на нём правой кнопкой мыши, появится контекстное меню, через которое можно закончить, «убить» процесс (Завершить процесс), можно убить сам процесс, и все остальные, которые он «породил» (Завершить дерево процессов). Можно выставить приоритет процессу, от высшего (Реального времени) до самого низкого (Низкий). Если на машине установлено два процессора и многопроцессорное ядро, то в этом меню появляется ещё один пункт - Задать соответствие, который позволяет перевести процесс на другой процессор - Cpu 0, Cpu1, и так далее до Cpu31.

Столбец Имя пользователя – показывает для каждого процесса данные о том, каким пользователем он запущен. Процессы с именами пользователя SYSTEM, LOCAL SERVICE, NETWORK SERVICE запускаются операционной системой и являются самыми важными (они заботятся о корректном распознавании устройств, отвечают за работу брандмауэра и управляют передачей данных через Интернет). Другие процессы отображаются под именем пользователя, зашедшего в систему. Это означает, что они относятся к программе, которая была запущена этим пользователем, например к текстовому процессору Word или ICQ-клиенту.

Столбец ЦП показывает, насколько процессор загружен конкретным процессом. Нормальной величиной для большинства процессов является загрузка менее 20%. Если же процессы загружают ЦП на 50–99%, то за ними скрываются или очень ресурсоемкие программы или программы-вредители.

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

Следующая закладка Диспетчера - Приложения, позволяет просмотреть список работающих приложений, и «убить» любое из них. Для этого нужно кликнуть по кнопке Снять задачу. Диспетчер позволяет не только «убивать» приложения, он может также запускать новые приложения: Файл -> Новая задача (Выполнить..).

Третья вкладка Быстродействие. На этой закладке показывается информация о загрузке процессора(ов) в реальном времени, показывается загрузка физической памяти, причём показано сколько занято/свободно оперативной памяти. Кроме этого, там же даётся другая дополнительная информация, например, количество нитей и процессов, исполняемых сейчас на машине.

Литература

  1. Андреев А.Г. и др. Microsoft Windows XP: Home Edition и Professional. Русские версии/ Под общ. ред. А.Н.Чекмарева. –СПб.: БХВ-Петербург,2003

  2. Таненбаум Э. Современные операционные системы. 2-е изд. – СПб.: Питер, 2002.

  3. Фигурнов В.Э. IBM PC для пользователя// - Уфа: НПО «Информатика и компьютеры», 1993.



Скачать файл (131.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru