- •Методические указания
- •Содержание
- •Введение
- •1 Управление заданиями
- •1.1 Теоретическая часть
- •1.2 Исходные условия для задач
- •1.3 Пример решения
- •1.4 Варианты задач
- •2 Управление процессами
- •2.1 Теоретическая часть
- •2.2 Исходные условия для задач
- •2.3 Пример решения
- •2.4 Варианты задач
- •3 Управление памятью
- •3.1 Теоретическая часть
- •3.1.1 Распределение оперативной памяти
- •3.1.2 Алгоритмы замещения процессов
- •3.2 Исходные условия для задач
- •3.3.2 Пример задачи по использованию алгоритмов замещения
- •2 3 2 1 5 2 4 5 3 2 5 2.
- •3.4 Варианты задач
- •3.4.1 Варианты задач распределения оперативной памяти
- •3.4.2 Варианты задач алгоритмов замещения
- •4 Управление файлами
- •4.1 Теоретическая часть
- •4.2 Исходные условия для задач
- •4.3 Пример решения
- •4.4 Варианты задач
- •5 Управление вводом-выводом
- •5.1 Теоретическая часть
- •5.2 Исходные условия для задач
- •5.3 Пример решения
- •Невытесняющая многозадачность
- •Вытесняющая многозадачность
- •5.4 Варианты задач
- •6 Перечень тем для проверки знаний
- •Литература
1.4 Варианты задач
Вариант |
N |
E |
T |
P1 |
P2 |
P3 |
1 |
2 |
4 |
2 |
1,2 |
1,2 |
- |
2 |
2 |
4 |
2 |
1,2 |
1,3 |
- |
3 |
2 |
4 |
2 |
1,2 |
1,4 |
- |
4 |
2 |
4 |
2 |
1,3 |
1.2 |
- |
5 |
2 |
4 |
2 |
1,3 |
1,3 |
- |
6 |
2 |
4 |
2 |
1,3 |
1,4 |
- |
7 |
2 |
4 |
2 |
1,4 |
1,2 |
- |
8 |
2 |
4 |
2 |
1,4 |
1,3 |
- |
9 |
2 |
4 |
2 |
1,4 |
1,4 |
- |
10 |
3 |
4 |
2 |
1,2 |
1,2 |
1,2 |
11 |
3 |
4 |
2 |
1,2 |
1,2 |
1,3 |
12 |
3 |
4 |
2 |
1,2 |
1,2 |
1,4 |
13 |
3 |
4 |
2 |
1,2 |
1,3 |
1,2 |
14 |
3 |
4 |
2 |
1,2 |
1,3 |
1,3 |
15 |
3 |
4 |
2 |
1,2 |
1,3 |
1,4 |
16 |
3 |
4 |
2 |
1,2 |
1,4 |
1,2 |
17 |
3 |
4 |
2 |
1,2 |
1,4 |
1,3 |
18 |
3 |
4 |
2 |
1,2 |
1,4 |
1,4 |
19 |
3 |
4 |
2 |
1,3 |
1,2 |
1,2 |
20 |
3 |
4 |
2 |
1,3 |
1,2 |
1,3 |
21 |
3 |
4 |
2 |
1,3 |
1,2 |
1,4 |
22 |
3 |
4 |
2 |
1,3 |
1,3 |
1,2 |
23 |
3 |
4 |
2 |
1,3 |
1,3 |
1,3 |
24 |
3 |
4 |
2 |
1,3 |
1,3 |
1,4 |
25 |
3 |
4 |
2 |
1,3 |
1,4 |
1,2 |
2 Управление процессами
2.1 Теоретическая часть
Все многозадачные операционные системы используют концепцию процесса. Задачей операционной системы является определение схемы чередования процессов и выделения им ресурсов.
В простейшем случае процесс любой момент времени может быть в одном из двух состояний: выполняющийся или не выполняющийся.
Создав новый процесс, операционная система вводит его в систему в состоянии не выполняющегося. Он находится в состоянии ожидания. Время от времени выполняющиеся процессы будут прерываться, и диспетчер ОС будет выбирать для выполнения другой процесс. Выполняющийся перед этим процесс перейдет в состояние не выполняющегося, а в состояние выполняющегося перейдет один из ожидающих процессов.
Процесс, работа которого прервана, переходит в очередь процессов, ожидающих выполнения. Если же процесс завершен, он выводится из системы. Диспетчер выбирает из очереди следующий процесс.
Каждый новый процесс связан с созданием структуры данных для управления процессом, размещения его адресного пространства в основной памяти. Выход процесса из системы связан с временным сохранением таблиц и другой информации для того, чтобы вспомогательные программы могли получить все необходимые сведения о завершившемся процессе.
Все не выполняющиеся процессы разделяются на готовые к выполнению и заблокированные.В условиях мультизадачности может привести к тому, что все находящиеся в памяти процессы могут оказаться в состоянии ожидания и процессор может простаивать даже в многозадачной системе.
Решением проблемы является свопинг, который включает в себя перенос части процессов из основной памяти на диск. Если в основной памяти нет ни одного готового к выполнению процесса, операционная система переносит один из блокированных процессов на диск (свопинг), помещая его в очередь приостановленных процессов, которые временно извлечены из основной памяти.
Освободившееся в основной памяти пространство используется для загрузки другого процесса. После этого есть две возможности выбора процесса для загрузки в основную память: либо создать новый процесс, либо загрузить процесс, который был приостановлен перед этим.
Каждый приостановленный процесс обычно блокирован в ожидании какого-то определенного события, и если это событие происходит, процесс перестает быть блокированным и можно продолжить его выполнение.
Все выше сказанное приводит к следующим состояниям процесса:
новый (Н):
выполняющийся (В);
готовый (Г):
блокированный (Б):
блокированный/приостановленный (Б/П):
готовый/приостановленный (Г/П)
завершающийся (З).