Реферат: Средства аппаратной поддержки управления памятью в микропроцессорах Intel 80386, 80486 и Pentium - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Средства аппаратной поддержки управления памятью в микропроцессорах Intel 80386, 80486 и Pentium

Банк рефератов / Радиоэлектроника

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 92 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Средства аппаратной поддержки управления памятью и многозадачной ср еды в микро процессорах Intel 80386, 80486 и Pentium Процессоры Intel 80386, 80486 и Pentium с точки зрения рассматриваемых в данно м разделе вопросов имеют аналогичные средства , поэтому для краткости в тексте используе тся термин "процессор i386", хотя вся и нфор мация этого раздела в равной степени отно сится к трем моделям процессоров фирмы Intel. Процессор i386 имеет два режима работы - р еальный (real mode) и защищенный (protected mode). В реальном режим е процессор i386 работает как быстрый процессор 8086 с несколько расширенным набором коман д . В защищенном режиме процессор i386 может и спользовать все механизмы 32-х разрядной органи зации памяти , в том числе механизмы поддер жки виртуальной памяти и механизмы переключен ия задач . Кроме этого , в защищенном режим е для каждой задачи процессор i386 может эмулировать 86 и 286 процессоры , которые в этом случае называются виртуальными процессора ми . Таким образом , при многозадачной работе в защищенном режиме процессор i386 работает ка к несколько виртуальных процессоров, и меющих общую память . В отличие от реальног о режима , режим виртуального процессора i86, кото рый называется в этом случае режимом V86, под держивает страничную организацию памяти и сре дства многозадачности . Поэтому задачи , выполняющие ся в режиме V86, исполь з уют те же средства межзадачной защиты и защиты ОС от пользовательских задач , что и задачи , работающие в защищенном режиме i386. Однако максимальный размер виртуального адресного прост ранства составляет 1 Мб , как и у процессора i86. Переключение процессора i386 из реального режима в защищенный и обратно осуществля ется просто путем выполнения команды MOV, котора я изменяет бит режима в одном из упра вляющих регистров процессора . Переход процессора в режим V86 происходит похожим образом путе м изменения значени я определенного бита в другом регистре процессора . Средства поддержк и сегментации памяти Физическое адресн ое пространство процессора i386 составляет 4 Гбайта , что определяется 32-разрядной шиной адреса . Ф изическая память является линейной с адресами от 000 00000 до FFFFFFFF в шестнадцатеричном предс тавлении . Виртуальный адрес , используемый в пр ограмме , представляет собой пару - номер сегмен та и смещение внутри сегмента . Смещение хр анится в соответствующем поле команды , а н омер сегмента - в одном из шести се г ментных регистров процессора (CS, SS, DS, ES, FS или GS), каждый из которых является 16-битным . Средства сегментации образуют верхний уровень средств управления виртуальной памятью процессора i386, а средства страничной организации - нижний уро вень . Средс т ва страничной организации могут быть как включены , так и выключ ены (за счет установки определенного бита в управляющем регистре процессора ), и в за висимости от этого изменяется смысл преобразо вания виртуального адреса , которое выполняют средства сегментац и и . Сначала рассмот рим случай работы средств сегментации при отключенном механизме управления страницами . Рис . 2.19. Поддержка сегментов На рису нке 2.19 показано виртуальное адресное пространство процессора i386 при отключенном механизме управ ления страницами . 32-битное смещение определяет размер виртуального сегмента в 2 32 =4 Гбайта , а количество с егмен тов определяется размером поля , отве денного в сегментном регистре под номер с егмента . На рисунке 2.20,а показана структура данных в сегментном регистре . Эта структура называется селектором , так как предназначена для выбора дескриптора определенного сегмен т а из таблиц дескрипторов сегмент ов . Дескриптор сегмента описывает все характе ристики сегмента , необходимые для проверки пр авильности доступа к нему и нахождения ег о в физическом адресном пространстве . Процесс ор i386 поддерживает две таблицы дескрипторов с е гментов - глобальную (Global Descriptor Table, GDT) и локаль ную (Local Descriptor Table, LDT). Глобальная таблица предназначена для описания сегментов операционной системы и сегментов межзадачного взаимодействия , то есть сегментов , которые в принципе могу т использоваться всеми процессами , а лока льная таблица - для сегментов отдельных задач . Таблица GDT одна , а таблиц LDT должно быть столько , сколько в системе выполняется задач . При этом активной в каждый момент вр емени может быть только одна из таблиц LDT. Рис . 2.20. Форматы селектора и де скрипторов данных и кода : а - формат селек тора ; б - формат регис тра GDTR; в - формат дескриптора сегмента данных или кода Из рису нка 2.20 видно , что селектор состоит из трех полей - 13-битного поля индекса (номера сегм ента ) в таблицах GDT и LDT, 1-битного поля - указат еля типа используемой таблицы дескрипторов и двух битного поля текущих прав доступ а задачи - CPL. Разрядность поля индекса определяе т максимальное число глобальных и локальных сегментов задачи - по 8K (2 13 ) сегментов каждого типа , всего 16 K. С учетом максимального размера сегмента - 4 Гбай та - каждая зад ача при чисто сегментно й организации виртуальной памяти работает в виртуальном адресном пространстве в 64 Тбайта . Теперь проследим , как виртуальное простра нство отображается на физическое пространство размером в 4 Гбайта при чисто сегментном механизме ото бражения . Итак , когда задач е необходимо получить доступ к ячейке физ ической памяти , то для выбора дескриптора виртуального сегмента используется значение селе ктора из соответствующего (в зависимости от команды и стадии ее выполнения - выборка кода команды или данных ) сегментного регистра процессора . Значение поля типа т аблицы указывает на то , какую таблицу нужн о использовать - GDT или LDT. Рассмотрим сначала случ ай использования таблицы GDT. Для хранения табли ц GDT и LDT используется оперативная память (ис п ользование быстрой ассоциативной пам яти процессора для хранения элементов этих таблиц рассмотрим позже ). Для того , чтобы процессор смог найти в физической памяти таблицу GDT, ее полный 32-битный физический адре с (адрес начала таблицы ), а также размер (пол е в 16 бит ) хранятся в специа льном регистре процессора GDTR (рисунок 2.20, б ). Кажды й дескриптор в таблицах GDT и LDT имеет размер 8 байт , поэтому максимальный размер этих т аблиц - 64 К (8(8 К дескрипторов ). Для извлечения нужного дескриптора из таблицы пр о цессор складывает базовый адрес таблицы GDT из регистра GDTR со сдвинутым на 3 разряда влево (умножение на 8, в соответствии с ч ислом байтов в элементе таблицы GDT) значением поля индекса из сегментного регистра и получает физический линейный адрес нужног о дескриптора в физической памяти . Таблица GDT постоянно присутствует в физической памяти , поэтому процессор извлекает по эт ому адресу нужный дескриптор сегмента и п омещает его во внутренний (программно недосту пный ) регистр процессора . (Таких регистров шес т ь и каждый из них соответств ует определенному сегментному регистру , что з начительно ускоряет работу процессора ). Дескриптор виртуального сегмента (рисунок 2.20,в ) состоит из нескольких полей , основными из которых являются поле базы - базового 32-разрядног о физического адреса начала сегмента , поле размера сегмента и поле пра в доступа к сегменту - DPL (Descriptor Privilege Level). Сначала процесс ор определяет правильность адреса , сравнивая смещение и размер сегмента (в случае выход а за границы сегмента прои с ходит прерывание типа исключение - exс eption). Потом пр оцессор проверяет права доступа задачи к данному сегменту , сравнивая значения полей CPL с електора и DPL дескриптора сегмента . В процессор е i386 мандатный способ определения прав доступа (называемый та к же механизмом коле ц защиты ), при котором имеется несколько у ровней прав доступа , и объекты какого-либо уровня имеют доступ ко всем объектам равн ого уровня или более низких уровней , но не имеет доступа к объектам более высо ких уровней . В процессоре i386 су щ ест вует четыре уровня прав доступа - от 0-го , который является самым высоким , до 3-го - самого низкого . Очевидно , что операционная сис тема может использовать механизм уровней защи ты по своему усмотрению . Однако предполагаетс я , что нулевой уровень будет ис п ользован для ядра операционной системы , а третий уровень - для прикладных программ , промежуточные уровни - для утилит и подси стем операционной системы , менее привилегированны х , чем ядро . Таким образом , доступ к виртуальному с егменту считается законным , ес ли уровень прав селектора CPL выше или равен уровню прав сегмента DPL (CPL ( DPL). При нарушении прав досту па происходит прерывание , как и в случае несоблюдения границ сегмента . Далее проверяе тся наличие сегмента в физической памяти по значению бита P дес к риптора , и если сегмент отсутствует в физической памя ти , то происходит прерывание . При наличии сегмента в памяти вычисляется физический лине йный адрес путем сложения базы сегмента и смещения и производится доступ к элемент у физической памяти по этому адре с у . В случае , когда селектор указывает на таблицу LDT, виртуальный адрес преобразуется в физический аналогичным образом , но для до ступа к самой таблице LDT добавляется еще од ин этап , так как в процессоре регистр LDTR указывает на размещение таблицы LDT не пр ямо , а косвенно . Сам регистр LDTR имеет размер 16 бит и содержит селектор дескриптора таб лицы GDT, который описывает расположение этой та блицы в физической памяти . Поэтому при дос тупе к элементу физической памяти через т аблицу LDT происходит двукратное п реобразо вание виртуального адреса в физический , приче м оба раза по описанной выше схеме . Сн ачала по значению селектора LDTR определяется фи зический адрес дескриптора из таблицы GDT, описы вающего начало расположения таблицы LDT в физиче ской памяти , а затем с помощью селектора задачи вычисляется смещение в табли це LDT и определяется физический адрес нужного дескриптора . Далее процесс аналогичен преобр азованию виртуального адреса с помощью таблиц ы GDT. Рис . 2.21. Типы дескрипторов Дескриптор сегмента содержит еще несколько полей . Од нобитное поле G определяет единицу измерения р азмера сегмента , при G = 0 р азмер определяется в байтах , и тогда сегмент не может быть больше 64 К , а при G = 1 размер определяе тся в 4К-байтных страницах , при этом максим альный размер сегмента достигает указанных 4 Г байт . Поле D определяет тип адресации сегмента : при D = 0 сегмент я вляется 16-битным ( для режима эмуляции 16-битных процессоров i86 и i286), а при D = 1 сегмент является 32-битным . Кроме этого в дескрипторе имеется поле типа сегмента , которое в свою очередь делится н а несколько полей (рисунок 2.21). Поле S определяет , яв л яется ли сегмент системным (S = 1) или пользовательским (S = 0). В свою очередь по льзовательские сегменты делятся на сегменты д анных (E=0) и сегменты кода (E=1). Для сегмента дан ных определяются однобитные поля : ED - направления рас пространения сегмента ( ED = 0 для обычного сегм ента данных , распространяющегося в сторону ув еличения адресов , ED = 1 для стекового сегмента дан ных , распространяющегося в сторону уменьшения адресов ), W - поле разрешения записи в сегмент (при W=1 запись разрешена , при W=0 - запре щена ), A - поле доступа к сегменту (1 означает , что после очистки этого поля к сегменту было обращение по чтению или записи , это поле может исп ользоваться операционной системой в ее страте гии замены страниц в оперативной памяти ). Для сегмента кода исполь зуются од нобитные признаки : A - имеет смысл , аналогичный полю A сегмента данных , R - разрешает или запрещает чтение из кодового сегмента , C - бит подчинения , разрешает или запрещает вызов данного ко дового сегмента из другого кодового сегмента с более ни зкими правами доступа . В процессоре i386 существует большое количес тво системных сегментов , к которым в частн ости относятся системные сегменты типа LDT, шлюз ы вызова подпрограмм и задач и сегменты состояния задачи TSS. Таким образом , для использования чи сто сегментного механизма процессора i386 оп ерационной системе необходимо сформировать табли цы GDT и LDT, загрузить их в память (для нача ла достаточно загрузить только таблицу GDT), загр узить указатели на эти таблицы в регистры GDTR и LDTR и выключить стр а ничную п оддержку . Если же операционная система не хочет использовать сегментную организацию виртуа льной памяти , то ей достаточно создать таб лицу дескрипторов из одного входа (дескриптор а ) и загрузить базовые значения сегмента в дескриптор . Виртуальное адр е сное пространство задачи будет состоять из одного сегмента длиной максимум в 4 Гбайта . Сегментно-страничный механизм При включенной системе управления страницами работает как описанный выше сегментный механизм , так и механизм управления страницами , однако пр и этом смысл работы сегментного механизма меняется . В этом случае виртуальное адресно е пространство задачи имеет размер в 4 Гба йта , в котором размещаются все сегменты (р исунок 2.22). По прежнему селектор задачи определя ет номер виртуального сегмента , а смещение в команде задачи - смещение внутри этого сегмента . Так как теперь все сегм енты разделяют одно адресное пространство , то возможно их наложение , но процессор не контролирует такие ситуации , оставляя эту п роблему операционной системе . Первый этап пр е образования виртуального адреса , свя занный с преобразованием смещения и селектора с использованием таблиц GDT и LDT, содержащих д ескрипторы сегментов , в точности совпадает с этапом преобразования этих данных при от ключенном механизме управления страницами. В се структуры данных этих таблиц такие же . Однако , если раньше дескриптор сегмента содержал его базовый адрес в физическом а дресном пространстве , и при сложении его с о смещением из команды программы получался линейный искомый адрес в физической памяти , т о теперь дескриптор содержит базовый адрес сегмента в виртуальном адресном пространстве . Поэтому в результате его сл ожения со смещением получается линейный вирту альный адрес , который на втором этапе (стр аничном ) преобразуется в номер физической стр аницы . Д л я реализации механизма уп равления страницами как физическое , так и виртуальное адресное пространства разбиты на страницы размером 4 К . Всего в этих адресны х пространствах насчитывается 1 М страниц . Несм отря на наличие нескольких виртуальных сегмен тов , все виртуальное адресное простран ство задачи имеет общее разбиение на стра ницы , так что нумерация виртуальных страниц сквозная . Линейный виртуальный адрес содержит в своих старших 20 разрядах номер виртуальной страницы , а в младших 12 разрядах смещение в нутри страницы . Для отображения виртуальной страницы в физическую достаточно построить таблицу страниц , каждый элемент которой - дескриптор виртуальной страницы - содержал бы номер соответствующей ей физической страницы и ее атрибуты . В процессоре i386 так и с д елано , и структура дескриптора ст раницы показана на рисунке 2.23. 20-ти разрядов номера страницы достаточно для определения фи зического адреса начала страницы , так как при ее фиксированном размере 4 К младшие 12 р азрядов этого адреса всегда равны нулю . Де с криптор страницы также содержит следующие поля , близкие по смыслу соответству ющим полям дескриптора сегмента : P - бит присутствия страницы в физической памяти , W - бит разрешения записи в страницу , U - бит пользователь /супервизор A - признак того , был ли доступ к странице , D - признак модифика ции содержимого страницы , PWT и PCD - управляют механизмом кэши рования страниц (введены , начиная с процессора i486), AVL - резерв для нужд операционной системы (available for use). Рис . 2.22. Сегментно-страничный механизм Рис . 2.23. Формат дескриптора страни цы При неб ольшом размере страницы процессора i386 относительно размеров адресных пространств , таблица стран иц должна занимать в памяти весьма значит е льное место - 4 байта ( 1М = 4 Мбайта . Это слишком много для нынешних моделей персона льных компьютеров , поэтому в процессоре i386 испо льзуется деление всей таблицы страниц на разделы по 1024 дескриптора . Размер раздела выбра н так , чтобы один раздел занима л одну физическую страницу (1024 ( 4 байта = 4 Кбай та ). Всего получается 1024 раздела (1024 ( 1024 = 1М ). Для т ого , чтобы не хранить все разделы таблицы страниц одновременно в физической памяти , используется каталог разделов таблицы страниц , который исполь з ует такие же по структуре дескрипторы страниц , что и в таблице страниц . Поэтому для хранения инф ормации о дескрипторах 1024 разделов необходима память 4 К , т.е . одна физическая страница . Со вокупность дескрипторов , описывающих состояние и характеристики ви р туальных страниц разделов таблицы страниц , называется каталог ом разделов или таблиц . Виртуальная страница , хранящая содержимое каталога , всегда находит ся в физической памяти , и номер ее физ ической страницы указан в специальном управля ющем регистре CR3 про ц ессора (точнее , в одном из полей этого регистра ). Преобразование линейного виртуального адреса в физический происходит следующим образом (рисунок 2.24). Поле номера виртуальной страницы (старшие 20 разрядов ) делится на две равные части по 10 разрядов - по ле номера раз дела и поле номера страницы в разделе . С помощью номера физической страницы , храня щей каталог и смещения в этой странице , задаваемого полем номера раздела , процессор находит дескриптор виртуальной страницы раздел а . В соответствии с атрибутами это го дескриптора определяются права доступа к этой странице , а также наличие ее в физической памяти . В случае ее отсутствия происходит страничное прерывание , и операционна я система должна в этом случае переместит ь ее в память . После того , как нужная стра н ица находится в памяти , для определения адреса элемента данных исполь зуется смещение , определяемое полем номера ст раницы линейного виртуального адреса . Таким образом , при доступе к странице в процессоре используется двухуровневая схем а адресации страниц , что замедляет преоб разование , но позволяет использовать страничный механизм и для хранения самой таблицы страниц , и существенно уменьшить объем физиче ской памяти для ее хранения . Для ускорения страничных преобразований в блоке управления страницами исполь з уется ассоциативна я память , в которой кэшируется 32 комбинации "номер виртуальной страницы - номер физической страницы ". Эта специальная кэш-память (дополнител ьная по отношению к 8 Кбайтному кэшу данны х процессоров i486 и Pentium) значительно ускоряет пре о бразование адресов , так как в случае попадания в кэш длительный процесс , описанный выше , исключается . Рис . 2.24. Преобразование линейного виртуального адреса в физический адрес Организация виртуальной памяти в процессоре i386 позволяет защитить адресные пространства различных про цессов за счет двух механизмов : 1. Изоляция адресных пространств процесс ов в физической памяти путем назначен ия им различных физических страниц или се гментов (если страничный механизм отключен ). 2. Защита сегментов от несанкционированного доступа с помощью привилеги й четырех уровней . Средства вызова подпрограмм и задач Опера ционная система , как однозадачная , так и многозад ачная , должна предоставлять задачам средства вызова подпрограмм операционной системы , библиоте чных подпрограмм , а также иметь средства д ля запуска задач , а при многозадачной рабо те средства быстрого переклю ч ения с задачи на задачу . Вызов подпрограммы отличается от запуска задачи тем , что в первом случае адресное пространство остается тем же (таблица LDT остается прежней ), а при вызове задачи адресное пространство полность ю меняется . Вызов подпрограмм без сме ны кодов ого сегмента в защищенном режиме процессора i386 производится аналогично вызову в реальном режиме с помощью команд JMP и CALL. Для вызова подпрограммы , код которой н аходится в другом сегменте (который может принадлежать библиотеке , другой задаче и л и операционной системе ), процессор i386 предоставляет 2 варианта вызова , причем оба используют з ащиту с помощью прав доступа . Первый способ состоит в непосредственном указании в поле команды JMP или CALL селектора сегмента , содержащего код вызываемой под программы , а также смещение в этом сегменте адреса начала подпрограммы . Рис . 2.25. Непосредственны й вызо в подпрограммы Схема т акого вызова приведена на рисунке 2.25. Здесь и далее показан только этап получения лин ейного адреса в виртуальном пространстве , а следующий этап (подразумевается , что механизм поддержки страниц включен ) преобразования этого ад реса в номер физической страницы опущен , так как он не содержит ничего специфического по сравнению с доступом к сегменту данных , рассмотренному выше . Разрешени е вызова происходит в зависимости от знач ения поля C в дескрипторе сегмента вызываемого кода . Пр и C=0 вызываемый сегмент н е считается подчиненным , и вызов разрешается , только если уровень прав вызывающего код а не меньше уровня прав вызываемого сегме нта . При C=1 вызываемый сегмент считается подчин енным и допускает вызов из кода с люб ым уровнем прав до с тупа , но пр и выполнении подпрограмма наделяется уровнем прав вызвавшего кода . Рис . 2.26. Формат де скриптора шлюза вызова подпрограммы Рис . 2.27. Вызов подпрограммы через шлюз вызова Очевидно , что первый способ непригоден для выз ова функций операционной системы , имеющей обы чно нулевой уровень прав , из пользовательской программы , работающей , как правило , на тре тьем уровне . Поэтому процессор i386 предоставляет другой способ вызова подпрограмм , основ а нный на том , что заранее определяется набор точек входа в привилегированные ко довые сегменты , и эти точки входа описываю тся с помощью специальных дескрипторов - дескр ипторов шлюзов вызова подпрограмм . Этот дескр иптор принадлежит к системным дескрипторам , и его структура отличается от с труктуры дескрипторов сегментов кода и данных (рисунок 2.26). Схема его использования приведена на рисунке 2.27. Селектор из поля команды CALL используется для указания на дескриптор ш люза вызова подпрограммы в таблицах GDT и л и LDT. Для использования этого дескр иптора вызывающий код должен иметь не мен ьший уровень прав , чем дескриптор , но если дескриптор шлюза доступен , то он может указывать на дескриптор сегмента вызываемого кода , имеющий более высокий уровень , чем имеет шлюз, и вызов при этом произ ойдет . При определении адреса входа в вызы ваемом сегменте смещение из поля команды CALL не используется , а используется смещение из дескриптора шлюза , что не дает возможност и задаче самой определять точку входа в защищенный кодовый с егмент . При вызове кодов , обладающих различными уровнями привилегий , возникает проблема передач и параметров между различными стеками , так как для надежной защиты задачи различного уровня привилегий имеют различные сегменты стеков . Селекторы этих сегментов хранят ся в контексте задачи - сегменте TSS (Task State Segment). Если вызывается подпрограмма , имеющая другой уровень привилегий , то из текущего стека в ст ек уровня доступа вызываемого сегмента копиру ется столько 32-разрядных слов , сколько указано в поле счетчика слов дескриптора шлюза . Структура сегмента TSS задачи приведена на рисунке 2.28. Контекст задачи должен содержать все данные для того , чтобы можно было восстановить выполнение прерванной в произволь ный момент времени задачи , то есть значени я реги стров процессора , указатели на о ткрытые файлы и некоторые другие , зависящие от операционной системы , переменные . Скорость переключения контекста в значительной степени влияет на скоростные качества многозадачной операционной системы . Процессор i386 произв о дит аппаратное переключение контекста зад ачи , хранящегося в сегменте TSS. Как видно из рисунка , сегмент TSS имеет фиксированные поля , отведенные для значений регистров процессора , как универсальных , так и некоторых управ ляющих (например LDTR и CR3). Для о п исания возможностей доступа задачи к портам вво да-вывода процессор использует в защищенном р ежиме поле IOPL (Input/Output Privilege Level) в своем регистре EFLAGS и карту битовых полей доступа к портам . Для получения возможности выполнять команды ввод а-вы в ода выполняемый код должен им еть уровень прав не ниже значения поля IOPL. Если же это условие соблюдается , то во зможность доступа к порту с конкретным ад ресом определяется значением соответствующего би та в карте ввода-вывода сегмента TSS (карта с остоит из 64 Кбит для описания дос тупа к 65536 портам ). Битовая карта ввода /вывода (БКВВ ) ( (8 Кбайт До полнительная информация ОС Относительный ад рес БККВ 0 . . . 0 T 64 0 . . . 0 Селектор LDT 60 0 . . . 0 GS 5C 0 . . . 0 FS 58 0 . . . 0 DS 54 0 . . . 0 SS 50 0 . . . 0 CS 4C 0 . . . 0 ES 48 EDI 44 ESI 40 EBP 3C ESP 38 EBX 34 EDX 30 ECX 2C EAX 28 EFLAGS 24 EIP 20 CR3 1C 0 . . . 0 SS уровня 2 18 ESP2 14 0 . . . 0 SS уровня 1 10 ESP1 C 0 . . . 0 SS уровня 0 8 ESP0 4 0 . . . 0 Селектор TSS возв рата 0 Рис . 2.28. Структура сегмента TSS Кроме э того , сегмент TSS может включать дополнительную информацию , необходимую для работы задачи и зависящую от конкретной операционной системы (напр имер , указатели открытых файлов или указатели на именованные конвейеры сетевого обмена ). Включенная в этот сегмент информ ация автоматически заменяется процессором при выполнении команды CALL, селектор которой указывае т на дескриптор сегмента TSS в таблице GDT (дескрипторы этого типа могут быть расположены только в этой таблице ). Формат дескриптора сегмента TSS аналогичен формату дескр иптора сегмента данных . Рис . 2.29. Непосредственный вызов за дачи Как и в случае вызова подпрограмм , имеется две возможности вызова задачи - непосредственный вы зов через указание селектора сегмента TSS нужной задачи в поле к оманды CALL и косвенн ый вызов через шлюз вызова задачи . Как и при вызове подпрограмм , непосредственный вызов возможен только в случае , если вызыв ающий код обладает уровнем привилегий , не меньшим , чем вызываемая задача . При вызове через шлюз (который может располагатьс я и в таблице LDT) достаточно иметь права доступа к шлюзу . Непосредственный вызов зад ачи показан на рисунке 2.29. При переключении задач процессор выполняет следующие действия : 1) Выполняется команда CALL, селектор которой указывает на дескрип тор сегмента типа TSS. 2) В TSS текущей задачи сохраняются значения регистров процессора . На текущий сегмент TSS указывает регистр процессора TR, содержащий селект ор сегмента . 3) В TR загружается селектор сегмента TSS зада чи , на которую переключается про цессор . 4) Из нового TSS в регистр LDTR переносится значение селектора таблицы LDT в таблице GDT задачи . 5) Восстанавливаются значения регистров проц ессора (из соответствующих полей нового сегме нта TSS). 6) В поле селектора возврата заносится селектор с егмента TSS снимаемой с выполне ния задачи для организации возврата к пре рванной задаче в будущем . Вызов задачи через шлюз происходит ан алогично , добавляется только этап поиска деск риптора сегмента TSS по значению селектора дескр иптора шлюза вызова . Испол ьзование всех возможностей , пред оставляемых процессорами Intel 80386, 80486 и Pentium, позволяет орга низовать операционной системе высоконадежную мно гозадачную среду.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Девушка:
- Как у тебя на личном фронте с тех пор как мы расстались?
Парень:
- Честно говоря, не очень. Уже готов с любой жабой переспать.
- Ква-ква!
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по радиоэлектронике "Средства аппаратной поддержки управления памятью в микропроцессорах Intel 80386, 80486 и Pentium", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru