- •34)Функции операционной системы по управлению оперативной памятью
 - •35)Функции операционной системы по управлению файлами
 - •36)Функции операционной системы по управлению внешней памятью и распределенными системами.
 - •37)Система защиты и система поддержки командного интерпретатора операционной системы.
 - •38)Сервисы и дополнительные функции операционной системы.
 - •39)Системные вызовы, их основные виды.
 - •40)Понятие процесса.
 - •41)Состояния процесса.
 - •42)Диспетчеризация процессов. Планировщики процессов.
 - •43) Создание и уничтожение процесса.
 - •44)Управление процессами.
 - •45)Методы взаимодействия процессов.
 - •46)Коммуникация процессов.
 - •47)Клиент-серверная взаимосвязь как один из видов коммуникации процессов.
 - •48)Потоки и многопоточное выполнение программ.
 - •49)Тупики, методы их обнаружения и предотвращения. Граф распределения ресурсов.
 
43) Создание и уничтожение процесса.
Создание процесса – одна из основных операций над процессами
Процесс-родитель создает дочерние процессы, которые, в свою очередь, создают другие процессы, тем самым формируя дерево процессов.
Возможны различные подходы к созданию процессов, с точки зрения возможности совместного использования (разделения) ресурсов процессом-родителем и дочерним процессом, с точки зрения возможности их параллельного выполнения и с точки зрения адресации и использования памяти.
Разделение ресурсов. Возможны следующие подходы:
- 
Процесс-родитель и дочерние процессы разделяют все ресурсы;
 - 
Дочерние процессы разделяют подмножество ресурсов процесса-родителя;
 - 
Процесс-родитель и дочерний процесс не имеют общих ресурсов.
 
Исполнение. Возможны следующие подходы:
- 
Процесс-родитель и дочерние процессы исполняются совместно;
 - 
Процесс-родитель ожидает завершения дочерних процессов.
 
Адресация и использование памяти. .Возможны следующие подходы:
- 
Адресное пространство дочернего процесса копирует адресное пространство процесса-родителя; у дочернего процесса имеется программа, загруженная в него;
 - 
Дочерний процесс исполняется в том же пространстве памяти, что и процесс-родитель (облегченный процесс).
 
В системе UNIX сформулированные вопросы решены следующим образом. fork – системный вызов, создающий новый процесс. Он клонирует память процесса-родителя и создает для дочернего процесса новое виртуальное адресное пространство. После этого выполняется еще один системный вызов - exec (execve) – системный вызов, с целью замены пространства памяти процесса новой программой. Дочерний процесс продолжает выполняться вместо процесса родителя.
При запуске системы создается корневой процесс root.Он, в свою очередь, создает три дочерних процесса: init – инициализация системы; pagedaemon – процесс-демон (процесс, постоянно находящийся в системе до ее перезапуска), управляющей страничной организацией памяти; swapper – процесс, управляющий откачкой и подкачкой. Процесс init после инициализации системы запускает пользовательские процессы. Последние, в свою очередь, могут запускать новые и т.д.
Уничтожение процесса
Это также одна из основных операций над процессами. Как правило, процесс уничтожается (завершается), когда он исполняет заключительный оператор и обращается к ОС для своей ликвидации с помощью системного вызова exit. При этом возможна передача данных от дочернего процесса процессу-родителю – например, через файлы, созданные дочерним процессом. Ресурсы процесса освобождаются операционной системой.
При своей работе процесс-родитель может уничтожить дочерние процессы системным вызовом abort (UNIX). Это возможно в следующих случаях:
- 
Дочерний процесс превысил выделенные ему ресурсы;
 - 
Решения задачи, порученной дочернему процессу, больше не требуется;
 - 
Происходит выход из процесса-родителя, поэтому дочерние процессы также должны бать завершены. ОС не допускает продолжения исполнения дочернего процесса, если его процесс-родитель уничтожается. Последний феномен носит название каскадное уничтожение процессов.
 
