ВУЗ:
Составители:
55
Создание операционной системой процесса, необходимого для работы
каких-либо служб
Операционная система может создать процесс для выполнения некоторой
функции, которая требуется для программы пользователя. При этом пользова-
тель не должен ждать, пока закончится ее выполнение (как в примере, в кото-
ром создавался процесс управления печатью)
Порождение одного процесса другим
С целью структуризации программы или использования возможностей
параллельных вычислений программа может создавать другие процессы
Традиционно операционная система создает все процессы незаметно для
пользователя или приложения; такой способ принят во многих современных
операционных системах. Однако иногда требуется, чтобы один процесс мог по-
служить причиной создания другого процесса. Например, процесс приложения
может сгенерировать другой процесс, который будет получать данные от пер-
вого процесса и приводить их к виду, удобному для дальнейшего анализа. Но-
вый процесс будет работать параллельно с приложением и время от времени
активизироваться для получения новых данных. Такая организация может быть
очень полезна для структурирования приложений. В качестве другого примера
можно привести ситуацию, в которой процесс-сервер (например, сервер печати
или файловый сервер) может генерировать новый процесс для каждого обраба-
тываемого им запроса. Создание операционной системой процесса по явному
запросу другого процесса называется порождением процесса (process spawning).
Когда один процесс порождает другой, то порождающий процесс называ-
ется родительским, или предком (parent), а порождаемый процесс – дочерним,
или потомком (child). Обычно «родственные» процессы обмениваются между
собой информацией и взаимодействуют друг с другом. Организация такого
взаимодействия является достаточно трудной задачей для программиста.
Завершение процессов
В любой компьютерной системе должны быть средства, позволяющие
определить, закончилось выполнение процесса или нет. Пакетное задание
должно включать в себя команду типа halt (останов) или какой-то явный вызов
службы операционной системы, приводящий к завершению процесса. В первом
случае генерируется прерывание для извещения операционной системы о за-
вершении процесса. Например, в системе с разделением времени процесс поль-
зователя должен быть завершен, когда пользователь выходит из системы или
выключает терминал. На персональном компьютере или рабочей станции поль-
зователь может выйти из приложения (например, закрыть программу обработки
текста или электронную таблицу). Все эти действия в конечном счете приведут
Страницы
- « первая
- ‹ предыдущая
- …
- 53
- 54
- 55
- 56
- 57
- …
- следующая ›
- последняя »