Введение в процессы

УПРАВЛЕНИЕ ПРОЦЕССАМИ. СОСТОЯНИЕ ПРОЦЕССОВ И ОПЕРАЦИИ НАД ПРОЦЕССАМИ

Контрольные вопросы

 

1) Клеточные и ДНК-процессоры.

2) Коммуникационные процессоры

3) Процессоры баз данных

4) Потоковые процессоры

5) Нейронные процессоры

6) Процессоры с многозначной (нечеткой) логикой

 


На лекции рассматриваются следующие вопросы:

1) Введение в процессы

2) Состояния процесса

3) Операции над процессами и связанные с ними понятия (набор операций, PCB и контекст процесса, одноразовые и многоразовые операции, переключение контекста)

 

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

Вошедшее в ОС задание становится процессом или группой процессов. Последовательный процесс – это выполнение на последовательном процессоре программы с данными, требующей ресурсов и представленной в ОС блоком управления процессом (PCB).

Ресурсы– объекты, которые запрашиваются, используются и освобождаются процессами в период их активности. Ресурс может быть разделяемым, в этом случае несколько процессов могут его использовать одновременно (в один и тот же момент времени) или параллельно (в течение некоторого интервала времени процессы используют ресурс попеременно); ресурс может быть неделимым.

К наиболее распространенным типам ресурсов относятся:

а) аппаратные (например, процессорное время, память, устройства ввода-вывода);

б) программные (например, библиотеки функций);

в) информационные (например, содержимое файлов и баз данных);

г) операционной среды – структуры, используемые при выполнении системных вызовов (например, структура сообщения).

Не существует взаимно однозначного соответствия между процессами и программами, обрабатываемыми КС. В некоторых операционных системах для работы определенных программ может организовываться более одного процесса или один и тот же процесс может исполнять последовательно несколько различных программ. Более того, даже в случае обработки только одной программы в рамках одного процесса, нельзя считать, что процесс представляет собой просто динамическое описание кода исполняемого файла, данных и выделенных для них ресурсов. Процесс находится под управлением операционной системы и поэтому в нем может выполняться часть кода ее ядра (не находящегося в исполняемом файле!), как в случаях, специально запланированных авторами программы (например, при использовании системных вызовов), так и в непредусмотренных ими ситуациях (например, при обработке внешних прерываний).

В любой момент времени процесс полностью описывается своим контекстом (информацией о процессе), состоящим из регистровой, системной и пользовательской частей. В операционной системе процессы представляются определенной структурой данных – PCB, отражающей содержание регистрового и системного контекстов. Процессы могут находиться в пяти основных состояниях: рождение, готовность, исполнение, ожидание, закончил исполнение. Из состояния в состояние процесс переводится операционной системой в результате выполнения над ним операций. Операционная система может выполнять над процессами следующие операции: создание процесса, завершение процесса, приостановка процесса, запуск процесса, блокирование процесса, разблокирование процесса, изменение приоритета процесса. Между выполнением операций содержимое PCB не изменяется. Деятельность мультипрограммной операционной системы состоит из цепочек перечисленных операций, выполняемых над различными процессами, и сопровождается процедурами сохранения/восстановления работоспособности процессов, т. е. переключением контекста. Переключение контекста не имеет отношения к полезной работе, выполняемой процессами, и время, затраченное на него, уменьшает полезное время работы процессора.