Билеты (Graur) (1114774), страница 33
Текст из файла (страница 33)
)Рассмотрим, как выполняется последовательность действий при исполнении заказана чтение блока. Будем считать, что поступил заказ на чтение N-ого блока изустройства с номером M.1. Среди буферов буферного пула осуществляется поиск заданного блока, т.е.если обнаружен буфер, содержащий N-ый блок М-ого устройства, то фиксируемномер этого буфера. В этом случае, обращение к реальному физическомуустройству не происходит, а операция чтения информации являетсяпредставлением информации из найденного буфера. Переходим на шаг 4.2. Если поиск заданного буфера неудачен, то в буферном пуле осуществляетсяпоиск буфера для чтения и размещения данного блока. Если есть свободный буфер(реально, эта ситуация возможна только при старте системы), то фиксируем егономер и переходим к шагу 3. Если свободного буфера не нашли, то мы выбираембуфер, к которому не было обращений самое долгое время.
В случае если в буфереимеется установленный признак произведенной записи информации в буфер, топроисходит реальная запись размещенного в буфере блока на физическойустройство. Затем фиксируем его номер и также переходим к пункту 3.3. Осуществляется чтение N-ого блока устройства М в найденный буфер.4. Происходит обнуление счетчика времени в данном буфере и увеличение наединицу счетчиков в других буферах.5.Передаем в качестве результата чтения содержимое данного буфера.Вы видите, что здесь есть оптимизация, связанная с минимизацией реальныхобращений к физическому устройству. Это достаточно полезно при работесистемы.
Запись блоков осуществляется по аналогичной схеме. Таким образом,организована буферизация при низкоуровневом вводе/выводе. Преимуществаочевидны. Недостатком является то, что система в этом случае являетсякритичной к несанкционированным отключениям питания, т. е. ситуация, когдабуфера системы не выгружены, а происходит нештатное прекращение выполненияпрограмм операционной системы, что может привести к потере информации.Второй недостаток заключается в том, что за счет буферизации разорваны вовремени факт обращения к системе за обменом и реальный обмен.
Этот недостатокпроявляется в случае, если при реальном физическом обмене происходит сбой. Т.е. необходимо, предположим, записать блок, он записывается в буфер, и полученответ от системы, что обмен закончился успешно, но когда система реальнозапишет этот блок на ВЗУ, неизвестно. При этом может возникнуть нештатнаяситуация, связанная с тем, что запись может не пройти, предположим, из-задефектов носителя. Получается ситуация, при которой обращение к системе зафункцией обмена для процесса прошло успешно (процесс получил ответ, что всезаписано), а, на самом деле, обмен не прошел.Таким образом, эта система рассчитана на надежную аппаратуру и на корректныепрофессиональные условия эксплуатации.Для борьбы с вероятностью потери информации при появлении нештатныхситуаций, система достаточно «умна», и действует верно.А именно, в системе имеется некоторый параметр, который может оперативноменяться, который определяет периоды времени, через которые осуществляетсясброс системных данных.Второе - имеется команда, которая может быть доступна пользователю, команда SYNC.
По этой команде осуществляется сброс данных на диск.И третье - система обладает некоторой избыточностью, позволяющей в случаепотери информации, произвести набор действий, которые информациювосстановят или спорные блоки, которые не удалось идентифицировать попринадлежности к файлу, будут записаны в определенное место файловойсистемы. В этом месте их можно попытаться проанализировать и восстановитьвручную, либо что-то потерять.Билет 50.
Управление оперативной памятьюОсновные задачи:1.Контроль состояния каждой единицы памяти (свободна/распределена).Система должна обладать информацией о том, какая единица памяти свободна,какая занята, кем и почему. Соответственно эта функция совместно обеспечиваетсякак аппаратурой компьютера, так и программным обеспечением ОС. ОС создаетдля этих целей специальные таблицы.2.Стратегия распределения памяти. Надо выбрать правила, по которымпринимать решения : когда кому и сколько памяти должно быть выделено.3.Выделение памяти. Принятие решения о выделении конкретного объемапамяти для потребителя.4.Стратегия освобождения памяти (процесс освобождает, ОС “забирает”окончательно или временно).
Одна из самых важных функций. Выбор стратегии,на основании которой система принимает решения о том, что память надо отобратьна время (при появлении более приоритетного процесса) или навсегда.Поговорим о стратегиях и методах управления. Рассмотрим целый секторразличных методов. Некоторые старые стратегии управления памятьюиспользуются и сейчас, например в мобильных телефонах.Стратегии и методы управления:Одиночное непрерывное распределение.Распределение разделами.Распределение перемещаемыми разделами.Страничное распределение.Сегментное распределение.Сегменто-страничное распределение.План рассмотрения стратегий управления:Основные концепции.Необходимые аппаратные средства. (необходимое аппаратное обеспечение)Основные алгоритмы.Достоинства, недостатки.Одиночное непрерывное распределениеОСРеальноиспользуетсяДоступно(выделено)Выделено, но не используетсяОП делится на 2 области.
В одной находится ОС, другая предназначена для задачпользователя. (предполагается однопроцессная система.)Необходимые аппаратные средства:Регистр границ + режим ОС / режим пользователя. (В регистре границ находитсяграница между ОС и пользовательской частью ОП)Если ЦП в режиме пользователя попытается обратиться в область ОС, то возникаетпрерывание.В режиме ОС мы можем обращаться в любую точку ОП, если мы находимся впользовательском режиме, то запрошенный адрес сравнивается с содержимымрегистра границ, и , если он окажется меньше, т.е. Мы хотим обратиться в частьОП, занятую под ОС, то выдается прерывание.Алгоритм – процесс заканчивается, мы меняем на следующий.Достоинства: простота.Недостатки:Они следуют из организации.1.Часть памяти просто не используется.
(Внешняя фрагментация)2.Процессом/заданием память занимается все время выполнения. Внутренняяфрагментация заключается в том, что вся область памяти, которую процессзанимает, занимается процессом на всё время его выполнения. Это означает, чтодостаточно большие области памяти, которые заняты процессом, не используются.,т.к.
обычно управление достаточно локализовано. Т.е. неэффективность работы спамятью.3.Ограничение на размеры процесса. Т.е. загрузить в эту систему процесс,превосходящий область памяти, мы не можем.Распределение неперемещаемыми разделами………N входных очередей(Вариант А)…Одна очередь(Вариант Б)Суть: Есть ОС и оставшаяся физическая память.
Оставшуюся физическую памятьделим на конкретное количество разделов. В каждом может быть свое задание исвой процесс. Внутри каждого раздела все аналогично рассмотренному вышепримеру.Необходимые аппаратные средства:Необходимо наличие 2 регистров границ, т.к. необходимо обеспечить корректностькак по отношению к другим пользовательским разделам, так и по отношению к ОС.Недостатки:а.
перегрузка регистра границ при каждой смене контекста;б. сложности при использовании каналов/процессоров ввода/вывода. Еслипроцесс попытается читать не из своей области, то это тяжело отловить1.Ключи защиты (PSW). Каждый раздел имеет свой ключ защиты, которыйпроверяется при всех операциях чтения\записи . Это решает проблему б).Алгоритмы: Модель статического определения разделов.
Сортировка входной очереди процессов по отдельным очередям к разделам. Всяочередь процессов разбивается на к очередей, с каждой из которых связан свойраздел. Процесс размещается в разделе минимального размера, достаточного дляразмещения данного процесса. В случае отсутствия процессов в каких-то подочередях – неэффективность использования памяти.Недостаток: Может возникнуть ситуация, когда очередь больших процессов пуста,а в очереди маленьких процессов очень много процессов. А перегрузить мы несможем.Алгоритмы: Модель статического определения разделовБ.
Одна входная очередь процессов.1. Освобождение раздела поиск (в начале очереди) первого процесса, которыйможет разместиться в разделе.Проблема: большие разделы маленькие процессы. Это несправедливо поотношению к большим процессам.2. Освобождение раздела поиск процесса максимального размера, непревосходящего размер раздела.Проблема: дискриминация “маленьких” процессов.3. Оптимизация варианта 2. Каждый процесс имеет счетчик дискриминации. Еслизначение счетчика процесса ³ K, то обход его в очереди невозможен.Достоинства:Простое средство организации мультипрограммирования.Простые средства аппаратной поддержки.Простые алгоритмы.Недостатки:Внешняя Фрагментация.Ограничение размерами физической памяти как внутри одного раздела, так и вцеломВесь процесс размещается в памяти – возможно неэффективное использование ивнутренняя фрагментация.Распределение перемещаемыми разделамиСистема имеет фиксированное количество разделов.
Через некоторое время ееиспользования начинается внешняя фрагментация.Решение: перемещение разделов и освобождение одного большого куска. Но этотребует очень больших затрат.Необходимые аппаратные средства:1.Регистры границ + регистр базы2.Ключи + регистр базыАлгоритмы: Аналогично предыдущемуДостоинства:Потенциальная ликвидация внешней фрагментацииНедостатки:Внутренняя фрагментацияОграничение размером физической памятиЗатраты на перекомпоновку. Операция освобождения одного большого куска ОПочень тяжела.Билет 51 Управление оперативной памятью.
Страничноераспределение.Страничное распределениеПосредством аппаратных и программных решений, например, таблицы страниц,возможно отображать физические страницы. Содержимое таблицы определяетсоответствие виртуальной памяти физической для выполняющейся в данныймомент программы/процесса. Соответствие определяется следующим образом: i-ястрока таблицы соответствует i-й виртуальной странице.При замене процесса таблицу надо менять.Таблица страниц – отображение номеров виртуальных страниц на номерафизических.Проблемы:1.
Размер таблицы страниц (количество 4кб страниц при 32-х разряднойадресации – 1000000. Таблица должна иметь миллион строк, а таблицу надоперегружать каждый раз при смене контекстов Любой процесс имеет собственнуютаблицу страниц).2. Скорость отображения. Эта проблема, фактически следует из проблемы 1.Возможные аппаратные средства:1.Полностью аппаратная таблица страниц, которая будет находится в видесверхоперативной памяти. Все преобразования будутпроходить очень быстро (Проблемы :стоимость, полная перегрузка при сменеконтекстов, +: скорость преобразования).2.Регистр начала таблицы страниц в памяти. Будет многократное увеличениеколичества обращений к памяти.
(простота, управление смены контекстов,медленное преобразование). Альтернативное решение - организация таблицыстраниц на ОП. В этом случае нам нужен аппаратный регистр начала таблицы, ипереключение с контекста на контекст будет осуществляться очень хорошо ибыстро, просто я буду менять содержимое регистра начала таблицы. При этом мыполучим многократное увеличение количества обращений в память. И какминимум мы потеряем 100% эффективность. Понятно что, часть проблем будутминимизированы за счет работы КЭШ, но все равно это будет неэффективно.