Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Создание и уничтожение процесса.





Создание процесса – одна из основных операций над процессами

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

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

Разделение ресурсов. Возможны следующие подходы:

  • Процесс-родитель и дочерние процессы разделяют все ресурсы;
  • Дочерние процессы разделяют подмножество ресурсов процесса-родителя;
  • Процесс-родитель и дочерний процесс не имеют общих ресурсов.

Исполнение. Возможны следующие подходы:

  • Процесс-родитель и дочерние процессы исполняются совместно;
  • Процесс-родитель ожидает завершения дочерних процессов.

Адресация и использование памяти. Возможны следующие подходы:

  • Адресное пространство дочернего процесса копирует адресное пространство процесса-родителя; у дочернего процесса имеется программа, загруженная в него;
  • Дочерний процесс исполняется в том же пространстве памяти, что и процесс-родитель (облегченный процесс).

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

При запуске системы создается корневой процесс root.Он, в свою очередь, создает три дочерних процесса: init – инициализация системы; pagedaemon – процесс-демон (процесс, постоянно находящийся в системе до ее перезапуска), управляющей страничной организацией памяти; swapper – процесс, управляющий откачкой и подкачкой. Процесс init после инициализации системы запускает пользовательские процессы. Последние, в свою очередь, могут запускать новые и т.д.







Date: 2016-07-25; view: 418; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию