Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Схема страничного преобр-ния.

Читайте также:
  1. II. ОБОБЩЕННАЯ СТРУКТУРНАЯ СХЕМА КОМПЬЮТЕРА
  2. RS-триггеры на интегральных микросхемах.
  3. А) Схема
  4. Аминокислоты как класс биологически активных веществ. Триптофан и схема его промышленного синтеза.
  5. БАНКОВСКАЯ СХЕМА
  6. Блок-схема
  7. Блок-схема противоэпидемических мероприятий в очаге инфекционного заболевания.
  8. Бунташное время, причины, схема развития событий.
  9. В реальной практике стратегический и оперативный контроллинг достаточно тесно взаимодействуют друг с другом в процессе реализа­ций функций менеджмента (Приложение 4). СХЕМА
  10. В схемах доплеровской фильтрации

1. Біблія С – вид 2ге. переробл і доповн. СПб.: БХВ-Петербург,2011р.

2. Шилдт, Герберт. Ш57 С # 4.0: повне керівництво.: Пер. з англ. - М.: ТОВ "І.Д. Вільямі", 2011.

3. Ватсон Б. С # 4.0 на прикладах. - СПб.: БХВ-Петербург, 2011

4. Гросс К. С # 2008: Пер. з англ. - СПб.: БХВ-Петербург, 2009.

5. Троелсен. Е. С # і платформа. NET. Бібліотека програміста. - СПб.: Питер, 2004.

Схема страничного преобр-ния.

При загрузке процесса часть вирт. страниц м.б. помещена на диск.

Смежные вирт. страницы необяз-но распологаются смежно в ФП.

При загрузке ОС создает таблицу страниц для процесса. В кажд. эл-те хранится базовый адрес, соответствующий физ-кой странице (р') или отметка о том что соотв-щая страница выгружена на диск. Т.ж. в эл-те хранится управляющая инф-ция, напр-мер, признаки модификации, невыгружаемости, кол-во обращений и т.д.

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

38) хз

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

Как правило, происходит условное разбиение физического адресного пространства. Связывание логических адресов процесса и физических происходит на этапе его загрузки в конкретный раздел.

Каждый раздел может иметь свою очередь или может существовать глобальная очередь для всех разделов.

Рис. 8.2 Схема с фиксированными разделами: (a) с общей очередью процессов, (b) с отдельными очередями процессов.

Эта схема была реализована в IBM OS/360 (MFT) и в DEC RSX-11.

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

40)Оверлейная структура Так как размер логического адресного пространства процесса может быть больше, чем размер выделенного ему раздела (или больше чем размер самого большого раздела), иногда используется техника, называемая оверлей (overlay), или организация структуры с перекрытием. Основная идея - держать в памяти только те инструкции программы, которые нужны в данный момент времени.
Потребность в таком способе загрузки появляется, если логическое адресное пространство системы мало, например 1 мегабайт (MS-DOS) или даже всего 64 килобайта (PDP-11), а программа относительно велика. На современных 32-разрядных системах, где виртуальное адресное пространство измеряется гигабайтами, проблемы с нехваткой памяти решаются другими способами.
Коды ветвей оверлейной структуры программы находятся на диске как абсолютные образы памяти и считываются драйвером оверлеев при необходимости. Для конструирования оверлеев необходимы специальные алгоритмы перемещения и связывания. Для описания оверлейной структуры обычно используется специальный несложный язык (ОverlayDescriptionLanguage). Совокупность файлов исполняемой программы дополняется файлом (обычно с расширением.odl), описывающим дерево вызовов внутри программы. Синтаксис подобного файла может распознаваться загрузчиком. Привязка к памяти происходит в момент очередной загрузки одной из ветвей программы.
Оверлеи не требуют специальной поддержки со стороны ОС. Они могут быть полностью реализованы на пользовательском уровне с простой файловой структурой. ОС лишь делает несколько больше операций ввода-вывода. Типовое решение порождение линкером специальных команды, которые включают загрузчик каждый раз: когда требуется обращение к одной из перекрывающихся ветвей программы.
Программист должен тщательно проектировать оверлейную структуру. Это требует полного знания структуры программы, кода, данных, языка описания оверлейной структуры. По этой причине применение оверлеев ограничено компьютерами с лимитами на память и т.д. Как мы увидим в дальнейшем? проблема оверлейных сегментов, контролируемых программистом, отпадает благодаря появлению систем виртуальной памяти.
Заметим, что здесь мы впервые сталкиваемся со свойством локальности, которое дает возможность хранить в памяти только ту информацию, которая необходима в каждый конкретный момент вычислений.

41) Свопинг - обмен страниц данных (выгрузка и подгрузка) между оперативной памятью и жёстким диском для работы механизма виртуальной памяти (оперативная+жёсткий диск).

42) схема с переменными (динамическими) разделами. В этом случае вначале вся память свободна и не разделена заранее на разделы. Вновь поступающей задаче выделяется необходимая память. После выгрузки процесса память временно освобождается. По истечении некоторого времени память представляет собой набор занятых и свободных участков (рис. 8.4) Смежные свободные участки могут быть объединены в один.

Рис. 8.4 Динамика распределения памяти между процессами. Серым цветом показана неиспользуемая память.

Типовой цикл работы менеджера памяти состоит в анализе запроса на выделение свободного участка (раздела), выборке его среди имеющихся в соответствие с одной из стратегий (first fit, best fit,worst fit), загрузке процесса в выбранный раздел и последующем внесении изменений в таблицы свободных и занятых областей. Аналогичная корректировка необходима и после завершения процесса. Связывание адресов может быть осуществлено на этапах загрузки и выполнения.

Этот метод более гибок по сравнению с методом фиксированных разделов

43) хз

44) Механизм страничного управления использует двухуровневую табличную трансляцию линейного адреса в физический.

Механизм имеет три части: каталог страниц (Page Directory), таблицы страниц (Page Tables) и собственно страницы (Page Frame). Механизм включается установкой бита PG=1 в регистре CRO.Регистр CR2 хранит линейный адрес отказа (Page Fault Linear Address) и адрес памяти, по которому был обнаружен последний отказ страницы. Регистр CR3 хранит физический адрес каталога страниц (Page Directory Physical Base Address). Его младшие 12 бит всегда нулевые (каталог выравнивается по границе страницы).

Каталог страниц размером 4 Кб имеет 1024 строки (вхождения). Каждая строка содержит 20 старших бит адреса таблицы следующего уровня (младшие биты этого адреса всегда нулевые) и признаки (атрибуты) этой таблицы. Индексом поиска в каталоге страниц является 10 старших бит линейного адреса (А22-А31).

Каждая таблица страниц также имеет 1024 строки аналогичного формата, но эти строки содержат базовый физический адрес (Page Frame Address) и атрибуты самих страниц. Индексом поиска в таблице являются биты А12-А21 линейного адреса. Физический адрес собирается из адреса страницы, взятого из таблицы, и младших 12 бит линейного адреса.

Строки каталога и таблиц имеют следующие биты атрибутов:

• Р (Present) — бит присутствия. P=l означает возможность использования данной строки для трансляции адреса. Бит присутствия вхождений в таблицы, используемые текущим исполняемым кодом, должен быть установлен. Программный код не должен его изменять “на ходу”.

• A (Accesed) — признак доступа, который устанавливается перед любым чтением или записью по адресу, в преобразовании которого участвует данная строка.

• D (Dirty) — признак, который устанавливается перед операцией записи по адресу, в преобразовании которого участвует данная строка. Таким образом помечается “грязная” страница, которую в случае замещения необходимо выгрузить на диск.

Биты Р, А, D модифицируются процессором аппаратно в заблокированных шинных циклах. При их программной модификации в многопроцессорных системах должен использоваться префиксLOCK, гарантирующий сохранение целостности данных.

Поле OS Reserved программно используется по усмотрению ОС и может хранить, например, информацию о “возрасте” страницы, необходимую для реализации замещения по алгоритму LRU (Least Recently Used — наиболее давно не использовавшаяся страница замещается первой).

Бит PWT (Page Write Through) определяет политику записи при кэшировании, а бит PCD (Page Cache Disable) запрещает кэширование памяти для обслуживаемых страниц (используются на процессорах 486+).

Механизм защиты страниц различает два уровня привилегий: пользователь (User) и супервизор (Supervisor). Пользователю соответствует уровень привилегий 3, супервизору — уровни 0, 1 и 2. Строки таблиц имеют атрибуты защиты страниц — биты U/S (User/Supervisor) и R/W (Read/Write). Эти атрибуты в строке каталога страниц относятся ко всем страницам, на которые ссылается данная строка через таблицу второго уровня. Атрибуты защиты в строке таблицы страниц относятся к конкретной странице памяти, которую она обслуживает.

Обращение при каждой операции доступа к памяти через две таблицы, расположенные в памяти, существенно снижает производительность процессора. Для предотвращения этого замедления в процессор введен буфер ассоциативной трансляции TLB (Translation Looakside Buffer) для хранения интенсивно используемых строк таблиц. В большинстве процессоров буфер представляет собой четырехканальный наборно-ассоциативный кэш на 32 строки таблиц трансляции. Такой размер позволяет хранить информацию о трансляции 128 Кб памяти, что в большинстве случаях мультизадачного использования дает коэффициент кэш-попаданий 98%, то есть только 2% обращений к памяти требуют дополнительных обращений к таблицам.

Когда страничное управление разрешено (бит PG==1 в CRO), блок страничной переадресации получает 32-битный линейный адрес от блока сегментации. Его старшие 20 бит сравниваются со значениями из TLB, и в случае попадания физический адрес вычисляется с использованием значения начального адреса страницы, полученного из TLB, и выводится на шину адреса. Если соответствующей строки в TLB нет, то производится чтение строки из страничного каталога. Если строка имеет бит Р==1 (таблица присутствует в памяти), в ней устанавливается бит доступа А и производится чтение ею указанной строки из таблицы второго уровня. Если и в этой строке Р=1, процессор обновляет в ней биты А и D, вычисляет физический адрес и, наконец, производит по нему обращение. Если на этом пути встречается Р=0, вырабатывается исключение 14, обработчик которого должен принять меры по загрузке затребованной страницы в оперативную память. Поскольку это исключение классифицируется как отказ, после его обработки (успешной) повторяется доступ к затребованной ячейке памяти. Во время его обработки может еще раз возникнуть исключение 14, но это не приведет к двойному отказу.

Исключение 14 может возникать и при нарушении прав доступа, определяемых уровнем привилегий и битами U/S и R/W. Для идентификации причины отказа в стек помещается 16-битный код ошибки, формат которого приведен на рис. 3.20. Хотя названия бит совпадают с атрибутами строк, их назначение отличается. Бит U/S указывает на уровень привилегий, при котором случился отказ (U/S=1 - пользователь, V/S=0 — супервизор). Бит W/R указывает на операцию, при которой произошел отказ (W/R=0 — чтение, W/R=1 — запись). Бит Р указывает на причину отказа (Р=1 — отсутствие страницы в памяти, Р=0 — нарушение защиты). Биты U не используются.

Операционная система должна корректно сгенерировать начальные таблицы трансляции и обрабатывать исключения отказов. В случае изменения таблиц она должна очищать буфер TLB путем загрузки регистра CR3. Очистка TLB должна производиться и при изменении значений бита Р в любых таблицах.

В отличие от “непробиваемой” сегментной защиты, способы обхода страничной защиты есть и на уровне пользователя.

Процессоры Pentium и старше позволяют оперировать страницами с размером 4 Мбайт, что позволяет экономить “накладные расходы” на обслуживание страничного режима при возросших потребностях программных модулей в памяти.




Дата добавления: 2014-12-19; просмотров: 87 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав