Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_2.ppt
Скачиваний:
202
Добавлен:
11.04.2015
Размер:
3.19 Mб
Скачать

КОНТЕКСТ ПРОЦЕССА

Содержит информацию, позволяющую ОС приостанавливать и возобновлять выполнение процесса с прерванного места:

Содержимое регистров процессора, доступных пользователю (обычно 8 – 32 регистра и до 100 регистров в RISC – процессорах);

Содержимое счетчика команд;

Состояние управляющих регистров и регистров состояния;

Коды условия, отражающие результат выполнения последней арифметической или логической операции (например, равенство нулю,переполнение);

Указатели вершин стеков,хранящие параметры и адреса вызова процедур и системных служб.

Значительная часть этой информации фиксируется в виде слова состояния программы PSW (program status word – EFLAGS в процессоре Pentium).

61

Операционные системы

Простейшая модель процесса

 

Диспетчеризация

Вход

Выход

Не выполняется

Выполняется

Пауза Граф состояний и переходов

Вход

Диспетчеризация

Выход

 

 

Очередь

CPU

 

Пауза

tкв

62

Операционные системы

Простейшая модель процесса

 

В любой момент времени процесс либо

выполняется, либо не выполняется, т. е. имеет

только два состояния.

 

Если бы все процессы были всегда готовы к

выполнению, то очередь по этой схеме могла бы

работать вполне эффективно.

 

Такая очередь работает по принципу

обработки в порядке поступления, а процессор

обслуживает имеющиеся в наличии процессы

круговым методом (Round-robin).

 

Каждому процессу отводится определенный

промежуток времени, по истечении которого он

возвращается в очередь.

 

Операционные системы

63

 

Новый

Вход

Готовый к

Выполняю-

Завершаю-

 

 

выполнению

 

 

щийся

щийся

 

в систему

Освобо-

 

 

 

 

ждение

 

 

 

Блокирова-

Ожидание

 

 

 

нный

события

 

Поступление

Очередь готовых процессов

 

 

процесса

 

 

 

 

 

 

 

 

 

CPU

 

 

 

Тайм – аут ( tКВ )

 

 

 

 

 

Ожидание события

Модель с тремя состояниями

64 Операционные системы

Модель с тремя состояниями

 

Все невыполняющиеся процессы делятся на на

два типа: готовые к выполнению и заблокированные.

Поскольку процессор работает намного быстрее

выполнения операций ввода-вывода, то вскоре все

находящиеся в памяти процессы оказываются в

состоянии ожидания ввода-вывода.

 

Что делать?

 

Можно увеличить емкость основной памяти, чтобы в

ней умещалось больше процессов.

 

Свопинг - перенос части процессов из оперативной

памяти на диск и загрузка другого процесса из

очереди приостановленных (но не блокированных!)

процессов, находящихся во внешней памяти.

 

Операционные системы

65

 

2.4.2. Потоки и их модели

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

Описатель потока: блок управления потоком и контекст потока (в многопоточной системе процессы контекстов не имеют).

Способы реализации пакета потоков:

в пространстве пользователя (user level threads –

ULT);в ядре (kernel – level threads – KLT).

66

Операционные системы

Поток на уровне пользователя (в пользовательском пространстве)

 

Процессы

 

 

Потоки

 

Библиотека

Таблица

 

потоков

 

подпрограмм для

 

 

работы с потоками

Пространство

пользователя

Таблица

Ядро

процессов

 

 

Операционные системы

67

 

 

Поток на уровне пользователя (в

пользовательском пространстве)

Если управление потоками происходит в пространстве пользователя, каждому процессу необходима собственная таблица потоков.

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

Когда поток переходит в состояние готовности или блокировки, вся информация, необходимая для повторного запуска, хранится в таблице потоков.

68

Операционные системы

Поток на уровне пользователя (в

 

пользовательском пространстве)

 

Приложение в начале своей работы состоит из

одного потока и его выполнение начинается как

выполнение этого потока.

 

Такое приложение вместе с составляющим его

потоком размещается в одном процессе, который

управляется ядром.

 

Все эти события происходят в пользовательском

пространстве в рамках одного процесса. Ядро даже «не

подозревает» об этой деятельности и продолжает

осуществлять планирование процесса как единого

целого и приписывать ему единое состояние

выполнения.

 

Операционные системы

69

 

Поток на уровне пользователя ДОСТОИНСТВА:

можно реализовать в ОС, не поддерживающей потоки без каких- либо изменений в ОС;

высокая производительность, поскольку процессу не нужно переключаться в режим ядра и обратно;

ядро о потоках ничего не знает и управляет однопоточными процессами;

имеется возможность использования любых алгоритмов

планирования потоков с учетом их специфики; управление потоками возлагается на программу пользователя.

70

Операционные системы