Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ОС.rtf
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.9 Mб
Скачать

3. Принципы управления памятью. Распределение памяти. Организация виртуальной памяти.

Самая современная модель памяти - трехуровневая:

  1. Кэш-память

  2. Оперативная память

  3. Внешняя память

Центральный процессор имеет доступ только к первым двум уровням. При перемещении от первого до третьего уровня время доступа уменьшается, емкость памяти уменьшается, стоимость хранения растет.

Существует два вида распределения памяти:

  1. Связное распределение - память выделяется непрерывным блоком.

  2. Несвязное распределение - память выделяется хаотически.

Простое непрерывное распределение – самая простая схема, согласно которой память может быть условно разделена на три части:

1.область, занимаемая операционной системой;

2.область в которой размешается исполняемая задача;

3.незанятая ничем (свободная) область.

Эта схема предполагает, что операционная система не поддерживает мультипрограммирование.

Распределение памяти в многозадачных системах.

  1. . Распределение с фиксированными разделами. При генерации системы или по мере необходимости происходит разбиение оперативной памяти на разделы. В каждом разделе в каждый момент времени может располагаться по одной программе (задаче). Для каждого раздела создается своя очередь заданий, каждое из которых имеет некоторые параметры требуемой памяти некоторого раздела. Практически часть разделов постоянно остается незаполненной (явление фрагментации).

  2. . Распределение с переменными разделами. Задачи размещаются в оперативной памяти одна за другой. Выделение памяти под новый раздел может осуществляться одним из трех способов:

1) первый подходящий участок - предполагается упорядочивание списка свободных областей по адресам, выделение происходит в той области, которая первой подходит по объему

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

3) самый неподходящий участок - список свободных областей упорядочен по убыванию объема, после выделения эта область может быть еще использована, так как ос­таются большие фрагменты (самое эффективное).

3. Мультипрограммирование со свопингом - при необходимости процесс, находящийся в стадии ожидания может быть выгружен в специальные области на диск.

4. Сегментный способ организации - программа разбивается на части и для каждой части выделяется свой участок памяти. Логически обращение к элементам программы будет представляться как указание имени сегмента и смещение относительно его начала. Фи­зически имя сегмента будет соответствовать некоторому адресу в памяти и смещение должно прибавляться к этому адресу.

5 Страничный способ организации - программа разбивается на части определенной дли­ны Каждая часть помещается в память, которая разбита на страницы - одинаковые уча­стки определенной длины - в свою страницу. Часть страниц помещается в оперативную память, а часть во внешнюю. И при необходимости они меняются местами.

6. Сегментно-страничный способ организации - сочетание двух предыдущих.

Организация виртуальной памяти.

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

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

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

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

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