Operatingsystemalgorithms
Оглавление
- Введение
- Демонстрация
- Алгоритмы
- Локальная установка
- Автор
- Лицензия
Введение
- Симулятор распределения памяти, созданный с Java, для лучшего понимания того, как работает распределение памяти в операционной системе . Это имитирует общие стратегии распределения памяти :
- Первый подход
- Лучше всего
- Худший
Этот репозиторий также содержит код для
- Алгоритмы планирования
- Алгоритмы замены страницы
- Симулятор пейджинга
- Политики расписания дисков
Демонстрация
- Добро пожаловать в симулятор распределения памяти.
- Во -первых, мы спрашиваем, хочет ли пользователь ввести значения или нет, если нет, то несколько значений уже жестки.
- Жесткодированные ценности важны для понимания, отладки и сбережения времени.

- После получения входного значения подразделений памяти, их текущего состояния (бесплатное/не бесплатное) и числа процессов, мы печатаем текущую таблицу распределения памяти.

- Итак, теперь мы принимаем размер процесса ввода, и появляется меню.

- Вывод для первой подгонки

- Вывод для наилучшего соответствия

- Вывод для худшего посадки

Алгоритмы
Простая симулирование распределения памяти, построенное с Java, для лучшего понимания того, как работает распределение памяти в операционной системе . Это имитирует общие стратегии распределения памяти :
- Первый подход
- В первом подходе подходит выделить первое бесплатное разделение или достаточно большое отверстие, которое может приспособить процесс.
- Преимущество : он заканчивается после поиска первого подходящего бесплатного разделения. Самый быстрый алгоритм, потому что он ищет как можно меньше.
- Недостаток : Внутренняя фрагментация - оставшиеся неиспользованные области памяти, оставленные после распределения, становятся пустыми, если она слишком меньше. Таким образом, запрос на более крупные требования к памяти не может быть выполнен.
- Лучше всего
- Наиболее подходящая дело с распределением наименьшего бесплатного разделения, которое соответствует требованиям запрашивающего процесса. Этот алгоритм сначала ищет весь список бесплатных разделов и рассматривает наименьшее отверстие, которое является адекватным.
- Преимущество : затем он пытается найти отверстие, которое близко к фактическому размеру процесса. Использование памяти намного лучше, чем сначала подходящее, так как он ищет наименьший бесплатный раздел в первую очередь.
- Недостаток : это медленнее и может даже склонно заполнять память крошечными бесполезными отверстиями.
- Худший
- В наихудшем подходе подходит найти наибольшую доступную бесплатную порцию, чтобы оставленная часть была достаточно большой, чтобы быть полезной. Это обратная сторона наилучшего соответствия.
- Преимущество : снижает скорость производства небольших пробелов.
- Недостаток : если процесс, требующий большей памяти, прибывает на более позднюю стадию, он не может быть приспособлен, поскольку самая большая дыра уже разделена и занята.
Перед обработкой каждого моделирования пользователь должен ввести текущее разделение/распределение памяти , т.е. деление памяти, статус, имя процесса.
В настоящее время распределение памяти резко кодируется для сохранения времени и легкой отладки этого примера.
Текущее распределение памяти

Если процесс ввода имеет размеры 200 кб, то:
Распределение памяти - первая подходящая

Распределение памяти - лучше всего подходит

Распределение памяти - худшее подходящее

Локальная установка
- Скачать последнюю версию Java - Java SE - Загрузки | Оракул.
- Клон репозиторий:
git clone https://github.com/tusharnankani/MemoryAllocationSimulator.git - Откройте этот каталог в командном промежутке или оболочке.
- Скомпилируйте файл, используя команду:
javac MemoryAllocation.java - Запустите файл, используя команду:
java MemoryAllocation
Автор
Тушар Нанкани
LinkedIn | Twitter
Лицензия
Лицензия графического процессора