Главная » Просмотр файлов » Э. Таненбаум - Архитектура компьютера

Э. Таненбаум - Архитектура компьютера (1127755), страница 124

Файл №1127755 Э. Таненбаум - Архитектура компьютера (Э. Таненбаум - Архитектура компьютера) 124 страницаЭ. Таненбаум - Архитектура компьютера (1127755) страница 1242019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 124)

Действия, показанные на рис. 6.13, выполняются только в том случае, если текущая комбинация использовалась давно. При разбиении на страницы значение поля ВАБЕ в дескрипторе вполне может быть нулевым. Единственное, для чего нужно поле ВАЗЕ, — получить небольшое смещение, чтобы использовать элемент в середине, а не в начале каталога страниц. Поле ВАЗЕ включено в дескриптор только для реализации чистой сегментации (без разбиения на страницы), а также для обратной совместимости со старым процессором 80286, в котором не было разбиения на страницы. Отметим, что, если конкретное приложение не нуждается в сегментации и довольствуется единым 32-разрядным адресным пространством со страничной организацией, этого легко достичь.

Все сегментные регистры могут быть заполнены одним и тем же селектором, дескриптор которого содержит нулевое поле ВАЗЕ и максимальное поле ЫМ1Т. Смещение команды будет тогда линейным адресом с единственным адресным пространством, то есть, по сути, получается традиционное разбиение на страницы. В завершение стоит сказать несколько слов о защите, поскольку это имеет непосредственное отношение к виртуальной памяти. Репйшп 4 поддерживает 4 уровня защиты, где уровень 0 — самый привилегированный, а уровень 3 — наименее привилегированный (рис.

6.14). Уровень защиты работающей программы указывается 2-разрядным полем в слове состояния программы (Ргойгаш Бгагпз ЪЧогс), РЯ%') — регистре аппаратного обеспечения, который содержит коды условий и другие биты состояния. Более того, не только программы, но и каждый сегмент в системе имеет определенный уровень защиты.

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

Виртуальная память 497 оэможные пьэоватепи ых уровней ровень Рис. В.14. Уровни защиты процессора Реп1мш 4 Посмотрите на рис. 6.14. На уровне 0 мы видим ядро операционной системы, которая контролирует процесс ввода-вывода, работу памяти и т. и. На уровне 1 находится обработчик системных вызовов. Пользовательские программы могут вызывать процедуры из этого уровня, но это только строго определенные процедуры. Уровень 2 содержит библиотечные процедуры, которые могут использоваться совместно несколькими работающими программами. Пользовательские программы могут вызывать эти процедуры, но не могут изменять их. На уровне 3 работают пользовательские программы, которые имеют самую низкую степень защиты. Система защиты Репг1цш 4, как и схема управления памятью, в целом основана на принципах системы МПЕТ1СЯ.

В исключениях и прерываниях используется похожий механизм. Исключения и прерывания тоже обращаются к дескрипторам, а не к абсолютным адресам, а эти дескрипторы указывают на процедуры, которые нужно выполнить. Поле ТУРЕ на рис. 6.11 позволяет различать сегменты кода, сегменты данных и разнообразные логические элементы. Виртуальная память 0йгаЗРАНС П! П11гаЯРАКС П1 — это 64-разрядная машина, которая поддерживает виртуальную память со страничной организацией и с 64-разрядными виртуальными адресами.

Тем не менее по разным причинам программы не могут использовать 64-разрядное виртуальное адресное пространство целиком. Поддерживается только 44 бита, поэтому программы не могут превышать 1,8 х 10'з байт. Доступная виртуальная память делится на 2 зоны по 2~~ байт каждая, одна из которых находится в верхней части виртуального адресного пространства, другая — в нижней. Между ними находится свободная область, адреса которой не используются. Попытка обратиться к ним вызовет ошибку отсутствия страницы.

498 Глава 6. Уровень операционной системы Максимальная физическая память компьютера 111ьгаБРАКС П1 составляет 24' байт (2200 Гбайт). Поддерживается 4 размера страниц: 8, 64 и 512 Кбайт, а также 4 Мбайт. Механизм отображения этих страниц показан на рис. 6.15. Биты 51 13 48 16 45 19 42 22 Виртуальный адрес Виртуальный адрес Биты 28 13 25 16 22 19 19 22 Рис.

6.15. Отображение виртуальных адресов на физические в машине 011таЗРАЯС 111 Из-за огромного виртуального адресного пространства обычная таблица страниц (как в Репг)шп 4) будет непрактичной. В ЫтгаЯРАКС П1 применяется совершенно другой подход. Диспетчер памяти поддерживает так называемый буфер быстрого преобразования (Тгапз1ас1оп Еоо1азЫе ВиЕЕег, ТЕВ). Этот буфер отображает номера виртуальных страниц на номера физических страничных кадров.

Для страниц размером в 8 Кбайт существуют 2з' номеров виртуальных страниц, то есть более двух миллиардов. Естественно, не все они могут быть отображены. Поэтому ТЕВ содержит только номера тех виртуальных страниц, которые использовались последними. Страницы команд и данных рассматриваются отдельно.

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

Если обнаруживается совпадение, номер страничного кадра в этом элементе буфера соединяется со смещением, взятым из виртуального адреса, чтобы получить 41-разрядный физический адрес и обработать некоторые флаги (например, биты защиты). Буфер быстрого преобразования адреса изображен на рис. 6.16, а. Если совпадение не обнаруживается, то есть имеет место ТЕВ-промах (по аналогии с кэш-промахом), вызывается исключение, которое перехватывается Виртуальная память 499 и обрабатывается операционной системой.

Отметим, что ТЕВ-промах отличается от ошибки отсутствия страницы. ТЕВ-промах может произойти, даже если нужная страница присутствует в памяти. Теоретически операционная система может сама загрузить новый элемент этого буфера для нужной виртуальной страницы.

Однако для ускорения данной операции к работе подключается аппаратное обеспечение. ТьВ (аппаратный диспетчер памяти) ТьВ (аппаратный диспетчер памяти плюс программная подцерхгка) Ь с з Ь о ой Таблица трансляций (операционная система) Элемент 0 совместн используется всеми виртуальными страницами, заканчивающимися на 0...0000 Элемент 1 совместно используется всеми виртуальными страницами, заканчивающимися на 0...0001 Рис. 6.16. Структуры данных, использующиеся для трансляции виртуального адреса в машине (йггаЯРАИС ))(: буфер Т!.В (а); буфер ТЯВ (б); таблица трансляции (в) Операционная система сохраняет наиболее часто используемые элементы буфера ТЕВ в так называемом буфере хранения преобразований (Тгапз1аФ(оп Яогайе Впт(ег, ТЯВ).

Этот буфер построен как кэш-память прямого отображения виртуальных страниц. Каждый 16-байтный элемент буфера ТЯВ указывает на одну виртуальную страницу и содержит бит достоверности, номер контекста, тег виртуального адреса, номер физической страницы и несколько флаговых битов. Если размер кэш-памяти составляет, скажем, 8192 элемента, тогда все виртуальные страницы, у которых младшие 13 бит отображаются на 0000000000000, могут претендовать на элемент 0 в данной таблице. Точно так же все виртуальные страницы, у которых младшие биты отображаются на 0000000000001, претендуют на элемент 1 в этой таблице, как показано на рис.

6.16, б. Размер таблицы определяется программно и передается диспетчеру памяти через специальные регистры, доступные только для операционной системы. 500 Глава 6. Уровень операционной системы При ТЕВ-промахе операционная система проверяет, нет ли нужной виртуальной страницы в соответствующем элементе буфера ТЯВ. Диспетчер памяти вычисляет адрес этого элемента и помещает его в свой внутренний регистр, доступный для операционной системы. Если нужный элемент в буфере ТЯВ есть, то один из элементов удаляется из буфера ТЕВ и на его место копируется элемент из буфера буфере ТЯВ. То, какой элемент нужно выкинуть, определяется аппаратно с помощью алгоритма ьКН. Если нужной виртуальной страницы не обнаруживается, операционная система ищет информацию о странице в таблице трансляции. Поскольку здесь аппаратное обеспечение в поиске элементов не участвует, операционная система может использовать любой формат.

Например, она может хэшировать номер виртуальной страницы, разделив его на какое-либо число р, и использовать остаток для индексирования таблицы указателей, каждый из которых указывает на связанный список виртуальных страниц, разделенных на р. Отметим, что эти элементы — не собственно страницы, а элементы буфера ТЯВ.

Если поиск страницы в таблице трансляции привел к нахождению нужной страницы в памяти, то элемент ТЯВ в кэш-памяти обновляется. Если в результате поиска обнаружилось, что нужной страницы нет в памяти, происходит стандартная ошибка отсутствия страницы. Сравним схемы разбиения на страницы Репйшп 4 и 1ЛггаЗРАКС П1. Реп11пш 4 поддерживает «чистую» сегментацию, «чистое» разбиение на страницы и сегментацию в сочетании с разбиением на страницы. 1ЛггаБРАКС П поддерживает только разбиение на страницы. Репс1пш 4 в случае Т1.В-промаха перезагружает элемент буфера Т1.В аппаратно. 1ЛтгаЯРАКС П1 в случае Т1.В-промаха просто передает управление операционной системе. Причина этого отличия состоит в том, что в Репйпш 4 32-разрядные сегменты, а такие маленькие сегменты (только 1 млн страниц) могут обрабатываться лишь с помощью таблиц страниц.

Характеристики

Тип файла
DJVU-файл
Размер
13,7 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6473
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее