Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 29

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 29 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 292020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

Дело в том, что микропро­цессор имел широкую шину адреса (32 бит), и возник вопрос о разбиении всегоадреса на поле страницы и поле индекса. Если большое количество битов адресаотвести под индекс, то страницы станут очень большими, что повлечет значитель­ные потери и на фрагментацию, и на операции ввода-вывода, связанные с замеще­нием страниц. Хотя количество страниц стало бы при этом меньше, и накладныерасходы на их поддержание тоже уменьшились бы. Если же размер страницы умень­шить, то большое поле номера страницы привело бы к потенциально громадномуколичеству страниц, и пришлось бы либо вводить какие-то механизмы контроляза номерами страниц (с тем, чтобы они не выходили за размеры таблицы страниц),либо создавать эти таблицы максимального размера.

Разработчики пошли по пути,при котором размер страницы выбран небольшим (2 1 2 = 4096 = 4 Кбайт), а поленомера страницы величиной в 20 бит, в свою очередь, разбивается на два поля иосуществляется двухэтапная страничная трансляция.Для описания каждой страницы создается соответствующий дескриптор. Длинадескриптора выбрана равной 32 бит: 20 бит линейного адреса определяют номерстраницы (по существу — ее адрес, поскольку добавление к нему 12 нулей при­водит к определению начального адреса страницы), а остальные биты разбитына поля, показанные на рис.

4.7. Как видно, три бита дескриптора зарезервирова­но для использования системными программистами при разработке подсистемыорганизации виртуальной памяти. С этими битами микропроцессор сам не рабо­тает.0087SШ65400321Rea d/Writeддрес таблицы страниц или адрес страничного кадра Для ОС9User/S upervisor11Бит Access12г Ditry31110ssentАдресация в 32-разрядных микропроцессорах J80xcSbftРис. 4.7. Дескриптор страницыПрежде всего, микропроцессор анализирует самый младший бит дескриптора —бит присутствия, если он равен нулю, то это означает отсутствие данной страни­цы в оперативной памяти, и такая ситуация влечет прерывание в работе процессо­ра с передачей управления на соответствующую программу, которая должна будетзагрузить затребованную страницу.

Бит, называемый «грязным» (dirty), показы­вает, что данную страницу модифицировали, и при замещении этого страничногокадра следующим ее необходимо сохранить во внешней памяти. Бит обращения(access) свидетельствует о том, что к данной таблице или странице осуществлялсядоступ. Он анализируется для определения страницы, которая будет участвоватьв замещении при использовании дисциплины LRU или LFU.

Наконец, первый ивторой биты требуются для защиты памяти.Старшие 10 бит линейного адреса определяют номер таблицы страниц (Page TableEntry, РТЕ), из которой посредством вторых 10 бит линейного адреса выбираетсясоответствующий дескриптор виртуальной страницы.

И уже из этого дескрипторавыбирается номер физической страницы, если данная виртуальная страница ото­бражена на оперативную память. Эта схема определения физического адреса излинейного изображена на рис. 4.8.Первая таблица, которую мы индексируем первыми (старшими) десятью битамилинейного адреса, названа таблицей каталога таблиц страниц (Page DirectoryEntry, PDE). Ее адрес в оперативной памяти определяется старшими двадцатьюбитами управляющего регистра CR0.10Каждая из таблиц (PDE и РТЕ) состоит из 1024 элементов (2 = 1024).

В своюочередь, каждый элемент (дескриптор страницы) имеет длину 4 байт (32 бит), по­этому размер этих таблиц как раз соответствует размеру страницы.Оценим теперь эту схему трансляции с позиций расхода памяти. Каждый дескрип­тор описывает страницу размером 4 Кбайт. Следовательно, одна таблица страниц,содержащая 1024 дескриптора, описывает пространство памяти в 4 Мбайт. Если за­дача пользуется виртуальным адресным пространством, например, в 55 Мбайт (пред­положим, что речь идет о некотором графическом редакторе, который обрабатываетизображение, состоящее из большого количества пикселов1), то для описания этойпамяти необходимо иметь 14 страниц (14 х 4 Мбайт = 56 Мбайт), содержащих таб­лицы РТЕ.

Кроме того, нам потребуется для этой задачи еще одна таблица PDE (тожеРазмером в одну страницу), в которой 14 дескрипторов будут указывать на местоНапомшш, что термин «пиксел» происходит от английского Picture Elementмент. Множество пикселов образуют изображение.графический эле-112Глава 4, Особенности архитектуры микропроцессоров J80x86нахождение упомянутых таблиц РТЕ. Остальные дескрипторы PDE не требуются.Итого, для описания 55 Мбайт адресного пространства задачи потребуется всего15 страниц, то есть 60 Кбайт памяти, что можно считать приемлемым.Линейный адресI312111РТЕ102331\'11\„ о\\DTE((10233111' )*0Физический адрес31/•г> °1131Регистр CR3Рис.

4.8. Трансляция линейного адреса в микропроцессорах i80x860Адресация в 32-разрядных микропроцессорах J80x86113Если бы не был использован такой двухэтапный механизм трансляции, то потерипамяти на описание адресного пространства могли бы составить 4 Кбайт х 2'° =4 Мбайт! Очевидно, что это уже неприемлемое решение.Итак, микропроцессор для каждой задачи, для которой у него есть TSS, позволяетиметь таблицу PDE и некоторое количество таблиц РТЕ. Поскольку это дает воз­можность адресоваться к любому байту из 232, а шина адреса как раз и позволяетиспользовать физическую память с таким объемом, то можно как бы отказаться отсегментного способа адресации. Другими словами, если считать, что задача состо­ит из одного единственного сегмента кода и одного сегмента данных, которые,в свою очередь, разбиты на страницы, то фактически мы получаем только одинстраничный механизм работы с виртуальной памятью.

Этот подход получил на­звание плоской модели памяти. При использовании плоской модели памяти упро­щается создание и операционных систем, и систем программирования, кроме того,уменьшаются расходы памяти на поддержку системных информационных струк­тур. Поэтому в абсолютном большинстве современных 32-разрядных операцион­ных систем, создаваемых для микропроцессоров i80x86, используется плоскаямодель памяти. Более того, появление новых 64-разрядных микропроцессоров вомногом определено желанием получить большее адресное пространство, чем егоимеют 32-разрядные процессоры, при сохранении возможности работать только сплоской моделью памяти.Режим виртуальных машин для исполненияприложений реального режимаРазработчики рассматриваемого семейства микропроцессоров в своем стремленииобеспечить максимально возможную совместимость архитектуры пошли не толькона то, чтобы за счет введения реального режима работы обеспечить возможностьпрограммам, созданным для первых 16-разрядных персональных компьютеров, безпроблем выполняться на компьютерах с более поздними моделями микропроцес­соров.

Они обеспечили возможность выполнения 16-разрядных приложений ре­ального режима при условии, что сам процессор функционирует в защищенномрежиме работы, и операционная система, используя соответствующие аппаратныесредства микропроцессора, организует мультипрограммный (мультизадачный)режим. Другими словами, микропроцессоры i80x86 поддерживают возможностьсоздания операционных сред реального режима при работе микропроцессора в за­щищенном режиме.

Если условно назвать 16-разрядные приложения DOS-прило­жениями (поскольку в абсолютном большинстве случаев это именно так), то мож­но сказать, что введена поддержка виртуальных DOS-машин, работающих вместес обычными 32-разрядными приложениями защищенного режима. Это нашло от­ражение в названии такого режима работы микропроцессоров i80x86 (его называ­ют режимом виртуального процессора i8086, иногда для краткости — режимом V86,или просто виртуальным режимом), когда в защищенном режиме работы можетисполняться код DOS-приложения. Мультизадачность при выполнении несколь­ких программ реального режима поддерживается аппаратными средствами защи­щенного режима.114Глава 4.

Особенности архитектуры микропроцессоров i80x86Переход в виртуальный режим осуществляется посредством изменения бита VM(Virtual Mode) в регистре EFLAGS. Когда процессор находится в виртуальномрежиме, для адресации памяти используется схема реального режима работы (сег­мент плюс смещение) с размером сегментов до 64 Кбайт, которые могут распола­гаться в адресном пространстве размером в 1 Мбайт, однако полученные адресасчитаются не физическими, а линейными. В результате страничной трансляцииосуществляется отображение виртуального адресного пространства 16-разрядно­го приложения на физическое адресное пространство. Это позволяет организоватьпараллельное выполнение нескольких задач, разработанных для реального режи­ма, да еще совместно с обычными 32-разрядными приложениями, требующимизащищенного режима работы.Естественно, что для обработки прерываний, возникающих при выполнении 16-раз­рядных приложений в виртуальном режиме, процессор возвращается из этого ре­жима в обычный защищенный режим.

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

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

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

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