Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы построения операционных систем.doc
Скачиваний:
50
Добавлен:
07.11.2018
Размер:
5.07 Mб
Скачать

4.1. Концепции процесса

4.1.1. Понятие последовательного процесса

Понятие процесса дает возможность рассматривать активное состояние непрерывного выполнения программы на компьютере. Состояние компьютера определяется состоянием процессора (соде­ржанием адресуемых и внутренних регистров) и состоянием памяти (содержанием ячеек памяти). Это состояние изменяется при выполнении инструкций процессором. Каждое выпо­лнение инструкции представляет собой некоторое действие: резу­льтатом действия является переход за конечное время из начального состояния машины в конечное состояние. Этот резу­льтат описывается спецификациями инструкции.

Будем рассматривать выполнение инструкции как неделимое действие, т. е. в процессе ее выполнения запрещается на6людать и определять состояние компьютера. Итак, время, в течение которого прослеживается изменение состояния компьютера, представляется параметром t­, принимающим последовательность возрастающих дискретных значений, которые выбираются в начале и конце каждой инструкции). Эти выделенные моменты времени называются точками наблюдения, а соответствующие состояния компьютера - наблюдаемыми точками. Каждому состоянию компьютера ставится в соответствие некоторое число (текущее значение t); такое состояние называется событием. События позволяют отмечать изменения состояния компьютера. Начало и конец ка­ждого действия a являются событиями, соответствующие числовые данные которых обозначаются НАЧ(a) и КОН(a); причем НАЧ(a) < КОН(a).

Таким образом, выполнение программы представляется в виде последовательности действий a1, a2, ai, для ка­ждого элемента которой КОН(ai) < НАЧ(ai+1). Такая последовательность называется последовательным процессом (или просто процессом).

Процесс можно описать рядом следующих друг за другом событий НАЧ (a1 ) , КОН (a1 ) , НАЧ (a2) , ... . Такая последовательность данных и состояний компьютера называется временным следом (трассой, или историей) процесса.

Можно также определить процесс как некоторую последовательность активных состояний выполнения процедур программы.

Процесс состоит из трех основных компонент :

- исполняемой программы (или ее логически законченной части);

- данных, используемых при вычислениях;

- контекста исполняемого процесса.

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

1. Информацию о состоянии процессора, требуемую для переназначения (содержимое слова состояния и регистры);

2. Указатели на рабочее пространство (сегменты процедуры и данных, стек выполнения);

3. Атрибуты процесса, используемые операционной системой для управления процессом.

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

Рис.4.1 поясняет последовательность действий при выполнении процессов. Два процесса, A и B, загружены в соответствующие разделы оперативной

Рис. 4.1

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