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

Лекция 6.

Монтирование – объединение нескольких файловых систем в одну.

Организация управления памятью. Управление памятью. Раздел – физическая память.

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

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

  1. Помещают ли в основную память только одну программу или несколько программ одновременно?

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

  3. Разбивают ли основную память жестким образом, когда разделы определяются на достаточно длительные периоды времени, либо предусматривается более динамическое разбиение, позволяющее вычислительной машине быстро реагировать на изменение потребностей программ в ресурсах?

  4. Требуется ли такое построение программ, чтобы они выполнялись только в конкретном разделе либо предусматривается возможность выполнения программ с занятием любых подходящих для них разделов?

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

Управление памятью

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

  1. Когда мы должны помещать новую программу в память?

  2. Будем ли мы помещать ее, когда система специально попросит об этом, либо будем пытаться предупреждать запросы системы?

  3. В какое место основной памяти мы будем помещать очередную программу для выполнения?

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

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

  6. Должны ли мы замещать программы, которые находятся в памяти дольше других или программы, используемые наименее часто или те, которые дольше всего не использовались?

Существуют системы, ориентированные на использовании каждой из этих стратегий управления памятью.

Иерархия памяти!

От КЭШ к Основной памяти – ЦП может непосредственно обращаться к хранящимся здесь программам и данным

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

Характеристики перехода от одной памяти к другой (стрелка вверх) – время доступа к памяти уменьшается, скорость доступа к памяти возрастает, стоимость памяти в расчете на бит растет, емкость памяти уменьшается.

Стратегия управления памятью

Направлена на то, чтобы обеспечить наилучшее возможное использование ресурсов основной памяти. Стратегии бывают:

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

  2. Стратегии размещения – ставят своей целью определить, в какое место основной памяти следует помещать поступающую программу. Бывают: первого подходящего свободного блока ОП, наиболее подходящего и наименее подходящего. При использовании первого подходящего – ищется свободное место, туда и размещает. Плюсы – экономия времени! Но! Не всегда используется ОП рационально! Наиболее подходящее – рациональнее использует место. Но она чуть дольше. Наименее подходящего – логика с запасом – чем больше кусок, тем больше останется.

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

От чего зависят задачи ФС – от функционала, выполняемого ОС. Если однопользовательская система – она проще. Если многопользовательская- должна быть защищенной, еще более сложная зависят от способа организации вычислительного процесса в целом – способ работы ОС.

Связное и несвязное размещение памяти

Самые первые ВМ требовали связного распределения памяти. И каждая программа должна была занимать один сплошной блок ячеек памяти. Только после появления мультипрограммирования – в памяти несколько прог, попеременно выполняющихся на ЦП – с разделами переменного размера стало ясно, что гораздо более эффективным может быть несвязное распределение памяти. При несвязном распределении программа разбивается на ряд блоков или сегментов, которые могут размещаться в основной памяти в участках, необязательно соседствующих друг с другом. ОС гораздо сложнее обеспечить несвязное распределение памяти, однако подобный подход обладает важным преимуществом. Если основная память имеет ряд небольших свободных участков вместо одного большого, то, как правило, ОС все же может загрузить и выполнить программу, которой в противном случае пришлось бы ждать.

Связное распределение памяти для одного пользователя

Какой-то рисунок

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

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

Задолбал уже рисунками своими!

Очередь заданий для 3х разделов.

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

Мультипрограммирование с фиксированными разделами: трансляция, загрузка перемещаемых модулей

Минусы – величина раздела фиксированная, определены заранее куски. Он просто показывает лесенку эволюции!!

Фрагментация памяти

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

Имеет место в любой ВМ, независимо от организации ее памяти!

Мультипрограммирование с переменными разделами

Озвучили какие-то проблемы

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

Опять рисунок – пусть сам рисует

Объединение соседних свободных участков памяти

Если рядом несколько свободных участков – их лучше объединять. Этот процесс объединения соседних дыр с образованием единого большого участка называется слиянием.

Уплотнение памяти – дефрагментация – избавление от фрагментированных участков

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

У него мела не осталось, но он все равно рисует(

Недостатки – отнимает ресурсы системы, нельзя делать очень часто; во время уплотнения система должна прекращать любые другие работы – результатом могут стать непрогнозируемые времена ответа для пользователей, что может быть неприемлемо для систем реального времени (он сам-то понял что сказал??? Времена ответа?????).