В портале Duetgroup Вы будете проинформированы о технологии и программирования на базе Linux.
А также о комплектации программ, о процессе разработки ПО, о скорости обработки данных и решении практических задач.

Основные состояния

Основные состоянияДва основных состояния: выполнение процесса в режиме задачи, когда выполняется собственный программный код, и выполнение в режиме ядра, когда процесс выполняет системные программы, находящиеся в адресном пространстве ядра операционной системы.
Для управления процессами операционная система использует системные данные, которые существуют в течение всего времени выполнения процесса. Вся совокупность этих данных образует Контекст процесса. Контекст определяет состояние процесса в заданный момент времени.
Запуск нового процесса в ОС UNIX возможен только другим, уже выполняющимся процессом. Запущенный процесс при этом называется процессом-потомком, а запускающий — родительским процессом. Процесс-потомок хранит информацию о родительском процессе в своем дескрипторе. Единственный процесс, не имеющий родительского процесса, — это головной процесс ядра операционной системы — init, имеющий PID, равный 1. Запуск этого процесса происходит при начальной загрузке ядра операционной системы.
На промежутке времени между созданием и завершением процесс находится в различных состояниях в зависимости от наступления некоторых событий в операционной системе. Сразу же после создания при помощи функции fork процесс находится в состоянии «Создан» — запись в таблице процессов для него уже существует, но внутренние структуры данных процесса еще не инициализированы. Как только первоначальная инициализация процесса завершается, он переходит в состояние «Готов к запуску». В этом состоянии процессу доступны все необходимые ресурсы, кроме процессорного времени, и он находится в очереди задач, ожидающих выполнения. Как только процесс выбирается планировщиком, он переходит в состояние «Выполняется в режиме ядра», т. е. выполняет программный код ядра операционной системы, обрабатывающий последнее изменение состояния процесса. Из этого состояния он может перейти в состояние «Выполняется в режиме задачи», в котором будет выполнять уже свой собственный программный код. При каждом системном вызове процесс будет переходить в состояние «Выполняется в режиме ядра» и обратно.