- •Методические указания
- •Содержание
- •Введение
- •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 Управление заданиями
1.1 Теоретическая часть
При выполнении заданий в условиях мультизадачности различают переключательную, невытесняющую и вытесняющую многозадачность.
Переключение программ имеет очень большое значение. Пользователи DOS осуществляли такое переключение "вручную", работая с резидентными программами. В этом случае выполнение текущей программы приостанавливается и на экране появляется резидентная программа. Это позволяет пользователю приступить к работе с другой программой, не завершая текущей, и затем вновь вернуться к прерванной программе.
Суть невытесняющей мультизадачности заключается в том, что приложения время от времени передают друг другу управление по своей инициативе. Потенциально, невытесняющая мультизадачность мо
жет привести к "зависанию", что приводит к необходимости выполнять перезагрузку компьютера.
При вытесняющей мультизадачности в ядро операционной системы встроена система разделения времени, выделяющая каждой запущенной программе или приложению кванты времени. Кванты времени выделяются по прерыванию таймера, поэтому вне зависимости от состояния запущенных программ ни одна программа не будет обделена вниманием операционной системы. Работоспособность систем с вытесняющей мультизадачностью в целом меньше зависит от работоспособности отдельных приложений, хотя плохо сделанные приложения могут повлиять на производительность всей системы, но не вывести ее из строя.
1.2 Исходные условия для задач
В ОС запускаются N задач.
Каждая задача представлена процессом, представленным E этапов выполнения.
Время выполнения каждого этапа составляет T единиц (квантов времени).
Каждый этап представляет либо работу процессора, либо и операцию ввода-вывода.
Ввод-вывод может выполняться независимо от работы процессора (Пр), при этом ввод-вывод (В/в) одного процесса не может быть прерван операцией ввода-вывода другого процесса. Запуск операций ввода-вывода, в случае, если внешние устройства свободны, осуществляется сразу после работы процессора
Необходимо оценить общее время выполнения заданий:
- для однозадачного режима;
- невытесняющей многозадачности;
- вытесняющей многозадачности.
Оценить загрузку процессора.
Решение выполнять, используя циклограммы работы.
1.3 Пример решения
Для двух задач (N=2), каждая из которых представлена четырьмя этапами работы (E=4), время выполнения каждого этапа составляет два кванта (T=2). Работа процессора для первой задачи выполняется во время первого и третьего этапов (P1=1,3), а для второй задачи во время первого и четвертого этапов (P2=1,4).
Однозадачный режим
Первый процесс |
Второй процесс | ||||||||||||||
Пр1 |
Вв 1 |
Пр1 |
Вв1 |
Пр2 |
Вв2 |
Вв2 |
Пр2 | ||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Общее время выполнения задач равно 16 квантов времени. Задачи выполняются одна за другой. Процессор загружен на 50%. Количество переключений равно 1.
Невытесняющая многозадачность
Пр1 |
Вв1 |
Пр1 |
|
Вв1 | |||||
|
Пр2 |
Вв2 |
Вв2 |
Пр2 | |||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Общее время выполнения задач составляет 10 квантов времени. Процессор загружен на 60%. Количество переключений равно 3.
Вытесняющая многозадачность
Пр1 |
|
Пр1 |
В/в1 |
В/в1 |
|
Пр1 |
|
Пр1 |
Вв1 |
Вв1 |
|
|
Пр2 |
|
Пр2 |
|
Вв2 |
Вв2 |
Вв2 |
Вв2 |
Пр2 |
|
Пр2 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Общее время выполнения задач составляет 12 квантов времени. Процессор загружен на 67%. Количество переключений равно 11.