 
        
        - •Методические указания
- •Содержание
- •Введение
- •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 Теоретическая часть
Все многозадачные операционные системы используют концепцию процесса. Задачей операционной системы является определение схемы чередования процессов и выделения им ресурсов.
В простейшем случае процесс любой момент времени может быть в одном из двух состояний: выполняющийся или не выполняющийся.
Создав новый процесс, операционная система вводит его в систему в состоянии не выполняющегося. Он находится в состоянии ожидания. Время от времени выполняющиеся процессы будут прерываться, и диспетчер ОС будет выбирать для выполнения другой процесс. Выполняющийся перед этим процесс перейдет в состояние не выполняющегося, а в состояние выполняющегося перейдет один из ожидающих процессов.
Процесс, работа которого прервана, переходит в очередь процессов, ожидающих выполнения. Если же процесс завершен, он выводится из системы. Диспетчер выбирает из очереди следующий процесс.
Каждый новый процесс связан с созданием структуры данных для управления процессом, размещения его адресного пространства в основной памяти. Выход процесса из системы связан с временным сохранением таблиц и другой информации для того, чтобы вспомогательные программы могли получить все необходимые сведения о завершившемся процессе.
Все не выполняющиеся процессы разделяются на готовые к выполнению и заблокированные.В условиях мультизадачности может привести к тому, что все находящиеся в памяти процессы могут оказаться в состоянии ожидания и процессор может простаивать даже в многозадачной системе.
Решением проблемы является свопинг, который включает в себя перенос части процессов из основной памяти на диск. Если в основной памяти нет ни одного готового к выполнению процесса, операционная система переносит один из блокированных процессов на диск (свопинг), помещая его в очередь приостановленных процессов, которые временно извлечены из основной памяти.
Освободившееся в основной памяти пространство используется для загрузки другого процесса. После этого есть две возможности выбора процесса для загрузки в основную память: либо создать новый процесс, либо загрузить процесс, который был приостановлен перед этим.
Каждый приостановленный процесс обычно блокирован в ожидании какого-то определенного события, и если это событие происходит, процесс перестает быть блокированным и можно продолжить его выполнение.
Все выше сказанное приводит к следующим состояниям процесса:
- новый (Н): 
- выполняющийся (В); 
- готовый (Г): 
- блокированный (Б): 
- блокированный/приостановленный (Б/П): 
- готовый/приостановленный (Г/П) 
- завершающийся (З). 
