- •Методические указания
- •Содержание
- •Введение
- •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 Перечень тем для проверки знаний
- •Литература
3.2 Исходные условия для задач
3.2.1 Задачи по распределению оперативной памяти
Память содержит N свободных участков, расположенных в порядке возрастания адресов оперативной памяти. Их размеры соответственно равны
V1, V2, …, VN.
Загружается процессы, для которых необходимы объемы оперативной памяти, равные соответственно W1 и W2.
Необходимо определить, участки куда будет загружаться процесс при использовании алгоритмов:
первый подходящий участок;
самый подходящий участок;
самый неподходящий участок.
В случае отсутствия необходимого участка осуществить уплотнение памяти и оценить размер свободного участка после загрузки процесса.
3.2.2 Задачи по использованию алгоритмов замещения
Предполагается, что процесс состоит из N страниц, последовательность вызова которых задана:
S1, S2, …, SN.
Оперативная память представлена K кадрами, которые в начальном состоянии свободны.
Необходимо оценить количество прерываний для оптимального алгоритма, дольше всех неиспользовавшегося, "первым вошел – первым вышел" и часового алгоритмов.
3.3 Примеры решения
3.3.1 Пример задачи по распределению оперативной памяти
Количество свободных участков равно N=10. Их размеры в порядке возрастания адресов соответственно равны:
5 40 20 15 35 10 25 30 45 50.
Последовательно загружаются процессы, для которых необходимы объемы памяти соответственно равнs W1 = 28 и W2 = 70.
При использовании алгоритма «первый подходящий участок» процесс загружается во второй участок, при этом объем второго свободного участка будет равен 40-28=12.
При использовании алгоритма «самый подходящий участок» процесс загружается в восьмой участок, при этом объем восьмого свободного участка будет равен 30-28=2.
При использовании алгоритма «самый неподходящий участок» процесс загружается в десятый участок, при этом объем десятого свободного участка будет равен 50-28=22.
При загрузке второго процесса подходящий свободный участок отсутствует, поэтому осуществляется уплотнение памяти, в результате которого будет получен участок объемом 275, а после загрузки второго процесса будем иметь один свободный участок объемом 275-70=205.
3.3.2 Пример задачи по использованию алгоритмов замещения
Количество страниц процесса равно N=5, количество кадров оперативной памяти равно K=3.
Последовательность обращения к страницам следующая:
2 3 2 1 5 2 4 5 3 2 5 2.
Результаты решения задачи имеют вид:
Обращение к страницам |
2 |
3 |
2 |
1 |
5 |
2 |
4 |
5 |
3 |
2 |
5 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Оптимальный алгоритм |
2 |
2 |
2 |
2 |
2 |
2 |
4 |
4 |
4 |
2 |
2 |
2 |
|
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 | |
|
|
|
1 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 | |
|
|
|
|
|
F |
|
F |
|
|
F |
|
|
Алгоритм дольше всех неиспользо-вавшегося |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
3 |
3 |
3 |
3 |
|
3 |
3 |
3 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 | |
|
|
|
1 |
1 |
1 |
4 |
4 |
4 |
2 |
2 |
2 | |
|
|
|
|
|
F |
|
F |
|
F |
F |
|
|
Алгоритм «первым во- шел - первым вышел» |
2 |
2 |
2 |
2 |
5 |
5 |
5 |
5 |
3 |
3 |
3 |
3 |
|
3 |
3 |
3 |
3 |
2 |
2 |
2 |
2 |
2 |
5 |
5 | |
|
|
|
1 |
1 |
1 |
4 |
4 |
4 |
4 |
4 |
2 | |
|
|
|
|
|
F |
F |
F |
|
F |
|
F |
F |
Часовой алгоритм |
2* |
2* |
2* |
2* |
5* |
5* |
5* |
5* |
3* |
3* |
3* |
3* |
|
3* |
3* |
3* |
3 |
2* |
2* |
2* |
2 |
2* |
2 |
2* | |
|
|
|
1* |
1 |
1 |
4* |
4* |
4 |
4 |
5* |
5* | |
|
|
|
|
|
F |
F |
F |
|
F |
|
F |
|
Для данной задачи количество прераваний следующее:
оптимальный алгоритм - 3;
долше всех неиспользовавшегося - 4;
«первый вошел – первым вышел» - 6;
часовой алгоритм - 5.