- •«Основы построения операционных систем»
- •Содержание.
- •Текст задания
- •План работ
- •Анализ предметной области
- •4.4 Описание модулей
- •4.4.1 Процессор (Cpu.H cpu.Cpp)
- •Описание алгоритма
- •4.1 Исходные данные
- •4.2 Выходные результаты работы
- •4.3 Глобальные переменные
- •Тестирование ос
- •1) Процессор
- •2 Устройство ввода
- •3 Устройство вывода
- •4 Канал ввода
- •5 Канал вывода
- •6 Память
- •7 Очереди
- •8 Событие
- •Руководство пользователя.
- •Способ запуска:
- •Методика задания входных параметров:
- •Описание результатов работы:
- •Проведение моделирования
- •Заключение
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
Перемещаемые разделы
Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область (рисунок 4). В дополнение к функциям, которые выполняет ОС при распределении памяти переменными разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется "сжатием". Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц, а во втором - реже выполняется процедура сжатия. Так как программы перемещаются по оперативной памяти в ходе своего выполнения, то преобразование адресов из виртуальной формы в физическую должно выполняться динамическим способом.
Рис. 4. Распределение памяти перемещаемыми разделами
Хотя процедура сжатия и приводит к более эффективному использованию памяти, она может потребовать значительного времени, что часто перевешивает преимущества данного метода.
Выше приведены моменты на которые следует обратить внимание при доработке модели, но необходимо отметить, что добавление в модель вышеуказанных модулей значительно усложнит алгоритм, по сравнению с текущим алгоритмом модели, что потребует более детального рассмотрения имитационной модели.
