Характеристика особенностей виртуальной памяти, основанной на страничной организации и сегментации. Анализ модифицированной версии системы двойников, которая используется для распределения памяти ядром unix. Изучение системного программного обеспечения.
Работа посвящена управлению памятью, являющейся фундаментальным вопросом в операционных системах. Память является очень важным ресурсом, поэтому требуется эффективное управление ею. Практически во всех современных многозадачных системах эта задача предполагает использование сложной схемы, известной как виртуальная память. Виртуальная память, в свою очередь, основана на использовании одной или обеих базовых технологий - сегментов и страниц. Система двойников представляет собой разумный компромисс для преодоления недостатков схем фиксированного и динамического распределения, но в современных операционных системах ее превосходит виртуальная память, основанная на страничной организации и сегментации.Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Главной операцией управления памятью является размещение программы в основной памяти для ее выполнения процессором, выполнением данной функции занимается менеджер памяти, использующий определенные методы распределения.Основная память разделяется на ряд статических разделов во время генерации системы.Для преодоления сложностей, связанных с фиксированным распределением, был разработан альтернативный подход, известный как динамическое распределение.Основная память распределена на ряд кадров равного размера.Каждый процесс распределен на ряд сегментов.В системе двойников память распределяется блоками размером 2к, L <К <U , где 2L - минимальный размер выделяемого блока памяти; 2U - наибольший распределяемый блок. При запросе размером S, таким, что 2U-l <S <2U, выделяется весь блок. В противном случае блок разделяется на два эквивалентных двойника с размерами 2U-1. Если 2U-2 <S <2U-l, то по запросу выделяется один из двух двойников; в противном случае один из двойников вновь делится пополам. Первый запрос А - 70 КБ (для него требуется блок размером 128 КБ); Для этого начальный блок делится на два двойника по 512 КБ.Программа, полученная в результате этого проекта должна моделировать алгоритм распределения памяти Система двойников. Пользователю должна быть предоставлена возможность задавать параметры памяти, для этого в GUI присутствуют область для ввода параметров памяти, таких как размера памяти, минимальный размер блока, единицы измерения. виртуальный unix программный А также возможность выделить память для процесса и освободить память занятую процессом.Прецедент > заключается в возможности сохранить список процессов в файл. Прецедент > заключается в возможности выбрать процесс из списка процессов. Прецедент > заключается в возможности ввести имя файл. Описание При использовании данного варианта использования пользователь выделяет память под процесс Описание При использовании данного варианта использования пользователь освобождает выделенную память под процессПроведя анализ поставленной задачи и диаграммы прецедентов, были выявлены следующие объекты: - User - пользователь; Пользователь выполняет ввод данных о памяти, данные проверяются и отображаются, происходит настройка памяти и IVISUALZATOR визуализирует ее. Пользователь выполняет сохранить в файл, создается объект _storage:ISTORAGE, _storage управляет процессом сохранения данных, файловая система записывает данные в файл. Пользователь выполняет загрузку из файл, _storage управляет процессом загрузки данных, файловая система считывает данные из файла, GUI отображение считанные данные. Исходя из анализа поставленной задачи, выяснилось, что графический интерфейс разрабатываемого программного продукта должен содержать: область для ввода параметров памяти, область для ввода параметров процесса, область для отображения списка процессов, панель для визуализации состояния памяти, кнопки «Выделить память», «Освободить память», «Загрузить с файла» «Сохранить в файл» (рисунок 1.2).Согласно поставленной задаче, была разработана трехуровневая архитектура приложения. Она состоит из следующих уровней: GUI, Model, Storage. Исходя из анализа поставленной задачи, был выбран именно этот тип системной архитектуры. Это можно объяснить тем, что разрабатываемая программа должна реализовывать определенный алгоритм - Model, взаимодействовать непосредственно с пользователем - GUI, хранить данных - Storage. VISUALIZATIONMEMORY - Визуализация состояния памяти, реализует IVISUALIZATORДанный метод принимает аргумент процесс. При его вызове процесс размещается в свободном блоке памяти. Блок схема метода Allocate изображена на рисунке 2.7. Разбиваем блок на два одинаковых блока, один добавляем в свободные, размер другой сравниваем с размером процесса и размером минимального блока памяти. Если процесс не помещается в половину блока или его половина меньше минимального, то загружаем процесс в этот блок, в противном случаи, снова разбиваем блок, пока не получим блок нужного размера.Систему двойников можно реализовать на нескольких структурах данных, основными являются: бинарное дерево и двухсвязный список.
План
Содержание
Введение
1. Постановка задачи
1.1 Теоретическое введение
1.1.1 Фиксированное распределение
1.1.2 Динамическое распределение
1.1.3 Простая страничная организация
1.1.4 Простая сегментация
1.1.5 Система двойников
1.2 Постановка задачи
2. Разработка
2.1 Диаграмм прецедентов
2.2 Диаграмм последовательности
2.4 Разработка архитектуры приложения
2.5 Разработка алгоритмов работы программы
2.6 Выбор структуры данных
3. Верификация и тестирование программы
3.1 Верификация программы
3.2 Тестируемые функции
3.3 Разработка тестовых случаев
4. Руководство оператора
4.1 Назначение программы
4.2 Условия выполнения программы
4.3 Выполнение программы
Выводы
Перечень ссылок
Приложения
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы