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

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

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

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

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

В архитектуры команл, например, часто включается команда я0~ (умножение), даже если аппаратно умножение не подЛерживается. Иллюзия того, что машина может перемножать числа, создается микропрограммой. Точно так же операционная система может создавать иллюзию, что все виртуальные адреса поддерживаются реальной памятью, лаже если это неправла.

Только разработчикам и исследователям операционных систем нужно знать, как строится такая иллюзия. Реализация страничной организации памяти Виртуальной памяти требуется диск для хранения всей программы и всех ланных. Копию программы, сохраненную на диске, улобнее рассматривать как оригинал, а фрагменты, регулярно записываемые в основную память, — как копии. Естественно, оригинал в таком случае должен оперативно обновляться. Когда изменения вносятся в копию программы в основной памяти, они в конечном итоге должны быть отражены в оригинале. Виртуальное адресное пространство разбивается на ряд страниц равного размера, обычно от 512 байт ло 64 Кбайт, хотя иногла встречаются страницы по 4 Мбайт. Размер страницы всегда должен быть степенью лвойки.

Физическое алресное пространство тоже разбивается на части равного размера таким образом, чтобы кажлая такая часть основной памяти вмещала ровно одну страницу. Эти части основной памяти называются страничными кадрами. На рис. 6.2 основная память содержит только один страничный кадр.

На практике обычно имеются несколько тысяч страничных кадров. На рис. 6.3, а показан олин из возможных вариантов разделения первых 64 Кбайт виртуального алресного пространства на страницы по 4 Кбайт. Адрес может быть байтом, а может быть словом, нитример, в компьютере, в котором последовательно расположенные слова имеют послеловательные алреса. Виртуальную память, изображенную на рис. 6.3, можно реализовать посрелством таблицы страниц, в которой количество элементов равно количеству страниц в виртуальном адресном пространстве.

Злесь для простоты мы показали только первые 16 элементов. Когда программа пытается обратиться к слову из первых 64 Кбайт виртуальной памяти, чтобы вызвать команлу или данные или чтобы сохранить ланные, сначала она генерирует виртуальный адрес от 0 до 65 532 (предполагается, что адреса слов должны делиться на 4). Для этого могут использоваться любые станлартные механизмы адресации, в том числе инлексирование и косвенная адресация. На рисунке 6.3, б изображена физическая память, состоящая из восьми страничных кадров по 4 Кбайт. Эту память можно ограничить ло 32 К, поскольку; 1) зто вся память машины (лля процессора, встроенного в стиральную машину 480 Глава 6. Уровень операционной системы или микроволновую печь, этого достаточно) или 2) оставшаяся часть памяти за- нята лругими программами.

Страница Виртуальный адрес 61440 — 65535 15 57344 — 61439 14 53248 — 57343 13 49152 — 53247 12 Нижние 32 Кбайт адресов основной памяти 45056 — 49151 40960 -45055 10 Страничный кадр Физические адреса 36864 — 40959 32768 — 36863 28672 — 32767 24576 — 28671 20480 — 24575 16384 — 20479 12288 — 16383 8192 — 12287 4096 — 8191 0 — 4095 Рио.

6.3. Первые 64 Кбайт виртуального адресного пространства разделены на 16 страниц по 4 Кбайт каждая (а); 32 Кбайт основной памяти разделены на 8 страничных кадров по 4 Кбайт каждый (б) А теперь посмотрим, как 32-разрядный виртуальный алрес можно отобразить на физический адрес основной памяти. В конце концов, память воспринимает только реальные, а не виртуальные адреса, поэтому такое отображение лолжно быть слелано.

Каждый компьютер с виртуальной памятью содержит устройство для отображения виртуальных адресов на физические. Это устройство называется диспетчером памяти 1Мешогу Мапайешепс 1)шц ММ1)). Он может нахолиться на микросхеме процессора или на отдельной микросхеме рядом с процессором. В нашем примере диспетчер памяти отображает 32-разрялный виртуальный алрес на 15-разрялный физический адрес, поэтому ему требуется 32-разрялный входной регистр и 15-разрядный выходной. Чтобы понять, как работает лиспстчер памяти, рассмотрим пример на рис.

6.4. Когда в диспетчер памяти поступает 32-разрялный виртуальный адрес, он разлеляет этот адрес на 20-разрядный номер виртуальной страницы и 12-разрядное смещение внутри этой страницы (поскольку страницы в нашем примере имеют размер 4 Кбайт). Номер виртуальной страницы используется в качестве инлекса в таблице страниц для нахождения нужной страницы. На рис.

6.4 номер виртуальной страницы равен 3, поэтому в таблице выбирается элемент 3. Сначала лиспетчер памяти проверяет, находится ли нужная страница в текущий момент в памяти. Поскольку у нас есть 2зо виртуальных страниц и всего 8 страничных кадров, не все виртуальные страницы могут находиться в памяти Виртуальная память 481 одновременно. Диспетчер памяти проверяет бит присутствия в данном элементе таблицы страниц, В нашем примере этот бит равен 1. Это значит, что страница в данный момент находится в памяти. — — 10-разрядный адрес памяти — — -ьВыходной регистр Виртуальная страница 00000000000000000011000000010110 регистр 20-разрядная виртуальная страница-+32-разрядное смещена 32-разрядный виртуальный адрес Рис.

6.4. Формирование адреса основной памяти из адреса аиртуальной памяти Далее из выбранного элемента таблицы нужно взять значение страничного кадра (в нашем примере — 6) и скопировать его в старшие 3 бита 15-разрядного выходного регистра. Нужно именно 3 бита, потому что в физической памяти находится 8 страничных кадров. Параллельно с этой операцией младшие 12 бит виртуального адреса (поле смещения страницы) копируются в младшие 12 бит 482 Глава б. Уровень операционной системы выходного регистра.

Затем полученный 15-разрядный адрес отправляется в кзшпамять или основную память для поиска. На рис. 6.5 показан возможный вариант отображения виртуальных страниц на физические страничные кадры. Виртуальная страница О находится в страничном кадре 1. Виртуальная страница 1 находится в страничном кадре О. Виртуальной страницы 2 нет в основной памяти. Виртуальная страница 3 находится в страничном кадре 2. Виртуальной страницы 4 нет в основной памяти.

Виртуальная страница 5 находится в страничном кадре 6 и т. д. Таблица страниц Виртуальная Страничный страница кадр 18 14 12 10 аничный кадр 1 — присутствует в основной памяти Π— отсутствует в основной памяти Рис. Е.б. Возможное отображение первых 16 виртуальных страниц в основную память, содер:кащую 8 страничных кадров Вызов страниц по требованию и рабочее множество В предыдущем обсуждении предполагалосгь что виртуальная страница, к которой происходит обращение, находится в основной памяти. Однако это предположение не всегда верно, поскольку в основной памяти недостаточно места для Виртуальная память 483 всех виртуальных страниц.

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

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

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

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

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

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

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

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

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