Реферат Средства управления процессами в ос windows Содержание I. Операционная система как система управления ресурсами и процессами II. Управление процессами в ос windows III. Диспетчер задач Литература 11


Download 122.43 Kb.
bet2/4
Sana15.06.2023
Hajmi122.43 Kb.
#1486456
TuriРеферат
1   2   3   4
Bog'liq
реферат

Рис. 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-объекты, созданные процессом, уничтожаются (если их не использует другой процесс), адресное пространство процесса уничтожается.


Download 122.43 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling