Архитектура современных операционных систем

33 2.3. Управление процессами Процесс – это запущенная на выполнение программа. Каждый процесс выполняется в своем адресном пространстве и на своем виртуальном процессо- ре. Процесс при своем запуске наследует от процесса - родителя открытые фай- лы, каналы и устройства, а так же среду выполнения, которая определена набо- ром значений различных переменных среды. Состояния и режимы выполнения процессов Состояние процесса в каждый момент времени определяется состоянием его адресного пространства, его виртуального процессора и среды окружения. Все эти данные вместе называются образом, или контекстом процесса. Кон- текст принято рассматривать состоящим из трех частей:  пользовательская часть контекста  регистровая часть  системная часть Пользовательская часть определяется сегментами кода, данных и стека, открытыми файлами. Регистровая часть контекста определяется состоянием ре- гистров процессора, а системная часть – набором элементов таблиц, связанных с процессором. Планировщик ОС осуществляет переключение контекста в следующих случаях: 1) процесс перешел в состояние ожидания какого-либо ресурса или со- бытия (добровольное переключение контекста); 2) в системе обнаружен процесс с более высоким приоритетом (принуди- тельное переключение контекста). При переключении контекста планировщик сохраняет контекст текущего процесса и восстанавливает контекст следующего. В Unix все выполняемые процессы связанны родственными отношениями в дерево (рис. 2.14.):

RkJQdWJsaXNoZXIy MTY0OTYy