Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по Операционным системам.docx
Скачиваний:
3
Добавлен:
18.09.2019
Размер:
156 Кб
Скачать
  1. Фиксированное распределение памяти.

Память распределяется на области с фиксированными границами.

Разделы одинакового размера:

  • любой процесс, размеры которого не превышают размера раздела, может быть загружен в любой доступный раздел

  • ОС может выгрузить процесс из любого раздела и загрузить в него другой процесс, если разделы заняты и нет ни одного процесса в состоянии готовности или работы

Недостаток – неэффективное использование ОП (маленькая программа занимает большой раздел).

Разделы разного размера:

  • каждый процесс можно разместить в наименьшем разделе, способном полностью вместить данный процесс (минимизирует фрагментацию, но нужен планировщик)

  • требуется очередь планировщика

Недостатки:

  • количество разделов определенное в момент генерализации системы ограничивает количество активных процессов

  • размеры разделов устанавливаются заранее

Динамическое распределение памяти.

В памяти формируется переменное количество разделов переменной длины.

При размещении процесса в ОП, для него выделяется строго необходимое количество ОП.

Недостатки – внешняя фрагментация по отношению ко всем разделам, ОС проводит уплотнение.

Алгоритмы размещения процесса в памяти при динамическом распределении:

  • наилучший подходящий – выбирается блок, размер которого наиболее близок к требуемому

  • первый подходящий – проверяются все свободные блоки, с начала ОП и выбирается первый, подходящий по размеру

  • следующий подходящий – блоки проверяются, начиная с того места, где в последний раз был выделен блок и выбирается блок, достаточный по размеру

  • быстрое искомое подходящее – ведение отдельных списков для некоторых наиболее востребованных искомых размеров

  1. Система двойников.

  • всё доступное пространство считается единым блоком размером 2U

  • при запросе размером s, таким, что 2U-1 < s <= 2U, выделяется весь блок

  • в противном случае блок разделяется на два эквивалентных двойника размерами 2U-1

  • если 2U-2 < s <= 2U-1, то по запросу выделяется один из двойников.

Простая страничная организация.

  • ОП разделяется на ряд кадров равного размера

  • каждый процесс разделяется на страницы равного размера совпадающего с размером кадров

  • процесс загружается путем загрузки всех его страниц в доступные, но не обязательно сменные кадры

  • отсутствует внешняя фрагментация, но имеется небольшая внутренняя

  • для каждого процесса ОС поддерживает таблицу страниц, которая указывает расположение кадров каждой страницы процесса

  • физический адрес равен номеру кадра и смещению

Сегментная организация.

  • каждый процесс разделяется на ряд сегментов и загружается путем загрузке всех его сегментов в динамические разделы

  • логический адрес равен номеру сегмента и смещению

  • отсутствует внутренняя сегментация, лучше используется память

  • используется таблица сегментов

  • ведется список свободных блоков ОП

Смещение – адрес ячейки памяти относительно начала страницы.

  1. Виртуальная память — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем. При использовании данной технологии для каждой программы используются независимые схемы адресации памяти, отображающиеся тем или иным способом на физические адреса в памяти ЭВМ. Позволяет увеличить эффективность использования памяти несколькими одновременно работающими программами, организовав множество независимых адресных пространств,  и обеспечить защиту памяти между различными приложениями. Также позволяет программисту использовать больше памяти, чем установлено в компьютере, за счет откачки неиспользуемых страниц на вторичное хранилище.

Страничная организация ВП

Большинство систем ВП используют технологию под названием страничная организация памяти.

Для организации виртуальной памяти каждая запись таблицы страниц также должна содержать бит присутствия Р, указывающий на присутствие соответствующей страницы в ОП; если данная страница располагается в ОП, то в записи таблицы также содержится номер ее кадра.

Другим управляющим битом в записи таблицы страниц является бит модификации М. Он указывает, было ли изменено содержимое данной страницы со времени ее последней загрузки в ОП. Если таких изменений не было, то при наступлении времени замены страницы в занимаемом ею в данный момент кадре записывать эту страницу на диск не требуется, так как на диске уже имеется ее точная копия.

Базовый механизм чтения слова из памяти включает в себя трансляцию виртуального, или логического, адреса, состоящего из номера страницы и смещения, в физический адрес, который представляет собой номер кадра и смещение, с использованием таблицы страниц.

  1. Сегментация позволяет программисту рассматривать память как область, состоящую из множества адресных пространств, или сегментов, которые могут иметь разные (фактически — динамические) размеры. Обращения к памяти используют адреса, представляющие собой пары.

Преимущества сегментации:

  • упрощается обработка растущих структур данных

  • упрощается совместное использование кода и данных разными процессами

  • улучшается защита данных

Поскольку в ОП могут находиться не все сегменты процесса, в каждой записи требуется наличие бита присутствия, указывающего, располагается ли данный сегмент в ОП. Если сегмент расположен в ОП, то запись также включает его начальный адрес и длину.

Еще один бит, необходимый в данной схеме, — бит модификации, указывающий, было ли изменено содержимое сегмента со времени его последней загрузки в ОП. Если изменений не было, то при выгрузке сегмента нет необходимости в его записи на диск.

Когда запускается определенный процесс, в одном из управляющих регистров хранится стартовый адрес его таблицы сегментов. Номер сегмента из виртуального адреса используется в качестве индекса таблицы, позволяющего определить начальный адрес сегмента. Для получения же физического адреса к начальному адресу сегмента добавляется смещение из виртуального адреса.