Спец часть (часть 2) (3 поток) (2015) (by Кибитова) (1161602), страница 20
Текст из файла (страница 20)
СуществуетСуществует аппаратнаяаппаратная таблицатаблица сегментовсегментов сссработающуюфиксированнымчисломзаписей.Каждаязаписьэтойтаблицысоответствуетсвоемуфиксированным числомчислом записей.записей. КаждаяКаждая записьзапись этойэтой таблицытаблицы соответствуетсоответствует своемусвоемуфиксированнымсегментуииихранитхранитинформациюинформациюоооразмереразмересегментасегментаиииадресадресначаланачаласегментасегмента(т.е.(т.е.адресадрессегментухранитинформациюразмересегментаадресначаласегмента(т.е.адрессегментубазы),атакжетутмогутприсутствоватьразличныеатрибуты,которыебудутоговариватьбазы), аа такжетакже туттут могутмогут присутствоватьприсутствовать различныеразличные атрибуты,атрибуты, которыекоторые будутбудут оговариватьоговариватьбазы),праваииирежимырежимыдоступадоступаккксодержимомусодержимомусегмента.сегмента.праварежимыдоступасодержимомусегмента.права Итак,имеяимеявиртуальныйвиртуальныйадрес,адрес,системасистемааппаратнымаппаратнымспособомспособомизвлекаетизвлекаетизизнегонегоИтак,имеявиртуальныйадрес,системааппаратнымспособомизвлекаетизнегоИтак,номерсегментасегментаi,i,i,обращаетсяобращаетсякккi-ойi-ойстрокестрокетаблицы,таблицы,изизкоторойкоторойизвлекаетсяизвлекаетсяинформацияинформацияооономерсегментаобращаетсяi-ойстрокетаблицы,изкоторойизвлекаетсяинформацияномерсегменте.
ПослеПосле этогоэтого происходитпроисходит проверка,проверка, нене превосходитпревосходитлиливеличинавеличинасегментасегментасегменте.Послеэтогопроисходитпроверка,непревосходитливеличинасегментасегменте. размерасамогосегмента.Если Еслипревосходит,то происходитпрерывание;иначе,складываяразмерасамогосегмента.превосходит,то происходитпрерывание;иначе,складывая241241241базу сосмещением,вычисляетсяфизическийадрес.базусо смещением,вычисляетсяфизическийадрес.К достоинстваммоделиможноотнестипростотуорганизации,которая,по поК достоинствамданноймоделиможноотнестипростотуорганизации,которая,размерасамого даннойсегмента.Еслипревосходит,топроисходитпрерывание;иначе,складываясути, сути,явиласьразвитиеммоделираспределенияразделов.Еслимоделираспределениябазусо смещением,вычисляетсяфизический адрес.явиласьразвитиеммодели распределенияразделов.
Если модели распределенияразделовкаждомупроцессувыделяетсятолькоодинодинсегмент(раздел),то присегментнойК достоинствамданноймоделиможноотнестипростотуорганизации,которая, поразделовкаждомупроцессувыделяетсятолькосегмент(раздел),то присегментнойсути,явиласьразвитиеммоделираспределенияразделов.Еслимоделираспределениямоделираспределенияпроцессувыделяетсясовокупностьсегментов,каждыйизкоторыхмодели распределения процессу выделяется совокупность сегментов, каждый из которыхразделовкаждомупроцессуобязанности.выделяетсятолько один сегмент (раздел), то при сегментнойбудет будетиметьсвои функциональныеиметьсвоифункциональныеобязанности.моделираспределенияпроцессувыделяетсясовокупностьсегментов,каждыйиз которыхК недостаткамданноймоделинеобходимоотнестито, чтокаждыйсегментдолженК недостаткамданноймоделинеобходимоотнестито,что каждыйсегментдолженбудетиметьсвоифункциональныеобязанности.целикомразмещатьсяв памяти(возникаетупоминавшаясявышевышепроблеманеявнойцеликомразмещатьсяв памяти(возникаетупоминавшаясяпроблеманеявнойК недостаткаммодели локальности).необходимоотнестито,возникаютчто возникаюткаждыйпроблемысегментдолженнеэффективности,связаннаясданнойпринципомТакжес снеэффективности,связаннаяс принципомлокальности).Такжепроблемыцеликомразмещатьсявпамяти(возникаетупоминавшаясявышепроблеманеявнойоткачкой/подкачкой:подкачкаосуществляетсяпроцессомпо крайнейоткачкой/подкачкой:подкачкаосуществляетсявсем всемпроцессомили, или,по крайнеймере,мере,неэффективности, связанная с принципом локальности).
Также возникают проблемы ссегментом,что зачастуюоказываетсянеэффективно.И посколькукаждыйсегментцелымцелымсегментом,что зачастуюоказываетсянеэффективно.И посколькукаждыйсегментоткачкой/подкачкой: подкачка осуществляется всем процессом или, по крайней мере,такилииначедолженбытьразмещенвпамяти,товозникаетограничениенапредельныйтак или иначедолжен быть размещен в памяти, то возникает ограничение на предельныйцелым сегментом, что зачастую оказывается неэффективно.
И поскольку каждый сегментсегмента.размерразмерсегмента.так или иначе должен быть размещен в памяти, то возникает ограничение на предельный размер сегмента.Сегментно-страничноераспределение5.6 5.6Сегментно-страничноераспределение5.6Сегментно-страничное распределение ЕстественнымразвитиемрассмотренноймоделисегментногораспределенияЕстественнымразвитиемрассмотренноймоделисегментногораспределенияпамятисталамодельсегментно-страничногораспределения.ЭтамодельрассматриваетЕстественнымразвитием рассмотренноймоделираспределенияпамяти стала модельсегментно-страничногораспределения.Эта сегментногомодель рассматриваетвиртуальныйадрескакномерсегментаисмещениевнем.Имеетсятакжеаппаратнаяпамятисталамодельсегментно-страничногораспределения.Этамодельрассматриваетвиртуальный адрес как номер сегмента и смещение в нем.
Имеется также аппаратнаятаблицасегментов,посредствомкоторойизвиртуальногоадресаполучаетсявиртуальныйадрескакномерсегментаисмещениевнем.Имеетсятакжеаппаратнаятаблица сегментов, посредством которой из виртуального адреса получаетсят.н. т.н.линейныйкоторый,в своюочередь,представляетсяв виденомерастраницытаблицасегментов,которойиз виртуальногоадресаполучаетсялинейныйадрес,адрес,который,в посредствомсвоюочередь,представляетсяв виденомерастраницыи т.н.илинейныйадрес,который,всвоюочередь,представляетсяввиденомерастраницывеличинысмещениявней.Азатем,используятаблицустраниц,получаетсявеличины смещения в ней.
А затем, используя таблицу страниц, получается ивеличиныфизическийсмещенияв адрес.ней. А затем, используя таблицу страниц, получается непосредственнофизическийнепосредственноадрес.непосредственнофизическийадрес.данныймеханизмподразумевает,в процессеимеетсяряд виртуальныхИтак, Итак,данныймеханизмподразумевает,что вчтопроцессеимеетсяряд виртуальныхИтак,данныймеханизмподразумевает,что в даннаяпроцессемодельимеетсяряд виртуальныхсегментов,которыедробятсянастраницы.Поэтомусочетаетв себе,сегментов,которые которыедробятсядробятсяна страницы.Поэтомуданнаяданнаямодельсочетаетв себе,с сссегментов,настраницы.Поэтомумодельсочетаетвсебе,стороны,логическоесегментирование,с другойстороны,преимуществаоднойоднойстороны,логическоесегментирование,а с адругойстороны,преимуществаодной стороны,логическоесегментирование,аотдельнымис другойстороны,преимуществастраничнойорганизации(когдаможноработатьсстраницамипамяти,нестраничнойорганизации(когда можноработатьс отдельнымистраницамипамяти,не нестраничнойорганизации(когдаможноработатьсотдельнымистраницамипамяти,при полногоэтом полногоразмещениясегментав ОЗУ).требуятребуяприэтомразмещениясегментав ОЗУ).требуяпри этомреализацииполногоразмещениясегментав ОЗУ).
предложенная компанией Intel.Примеромможет служитьреализация,Примеромреализацииможет служитьреализация,предложеннаякомпаниейIntel.Примеромреализацииможет служитьреализация,предложеннаякомпаниейРассмотрим упрощённую модель этой реализации (Рис. 142).Виртуальныйадрес в Intel.этойРассмотримупрощённуюмодель модельэтой реализации(Рис.
142).адресадресв этойРассмотримупрощённуюэтой реализации(Рис. Виртуальный142). Виртуальныйв этойвиртуальный адрес как номер сегмента и смещение в нем. Имеется также аппаратнаятаблицатаблица сегментов,сегментов, посредствомпосредством которойкоторой изиз виртуальноговиртуального адресаадреса получаетсяполучается т.н.т.н.линейныйадрес,который,всвоюочередь,представляетсяввиденомералинейный адрес, который, в свою очередь, представляется в виде номера страницыстраницы иивеличинывеличины смещениясмещения вв ней.ней.
АА затем,затем, используяиспользуя таблицутаблицу страниц,страниц, получаетсяполучаетсянепосредственнофизическийадрес.непосредственно физический адрес.Итак,Итак, данныйданный механизммеханизм подразумевает,подразумевает, чточто вв процессепроцессе имеетсяимеется рядряд виртуальныхвиртуальныхсегментов,которыедробятсянастраницы.Поэтомуданнаямодельсочетаетсегментов, которые дробятся на страницы. Поэтому данная модель сочетает вв себе,себе, ссоднойстороны,логическоесегментирование,асдругойстороны,преимуществаодной стороны, логическое сегментирование, а с другой стороны, преимуществастраничнойстраничной организацииорганизации (когда(когда можноможно работатьработать сс отдельнымиотдельными страницамистраницами памяти,памяти, ненетребуяприэтомполногоразмещениясегментавОЗУ).требуя при этом полного размещения сегмента в ОЗУ).ПримеромПримером реализацииреализации можетможет служитьслужить реализация,реализация, предложеннаяпредложенная компаниейкомпанией Intel.Intel.Рассмотримупрощённуюмодельэтойреализации(Рис.142).ВиртуальныйРассмотрим упрощённую модель этой реализации (Рис.
142). Виртуальный адресадрес вв этойэтоймоделипредставляетсяввидеселектора(информацииосегменте)исмещениямодели представляется в виде селектора (информации о сегменте) и смещения ввсегменте.сегменте.ВиртуальныйВиртуальный адресадресселекторселекторNsegNsegлокализациялокализацияoffsetoffsetзащитазащитаРис. 142. Сегментно-страничное распределение.
Упрощенная модель Intel.Рис. 142. Сегментно-страничное распределение. Упрощенная модель Intel. Селекторсодержитинформациюоо локализацииСелекторсодержитинформациюлокализациисегмента.модели IntelIntel сегментсегментсегмента, послекоторогоследуетномер сегмента(номерсегмента.записи ВвВ моделисоответствующейможетбытьодногоизтипов:локальныйсегмент,которыйописываетсявв таблицесегмента,послекоторогономерсегмента(номерзаписив соответствующейможетбытьодногоиз двухдвухследуеттипов:локальныйсегмент,которыйописываетсятаблицетаблице).Помимоперечисленного,селекторхранитразличныеатрибуты,касающиесялокальныхдескрипторовLDTDescriptorTable)ии которыйможетдоступентаблице).Помимоперечисленного,селекторхранитразличныеатрибуты,касающиесялокальныхдескрипторовLDT (Local(LocalDescriptorTable)которыйможет бытьбытьдоступенрежимовдоступак сегменту.лишьданномупроцессу,илиглобальныйсегмент,которыйописываетсяврежимовдоступаксегменту.лишьданному процессу,или глобальныйсегмент, которыйописываетсяпростуюв таблицетаблицеПреобразованиевиртуальногоадреса в физическийимеет достаточноглобальныхдескрипторовGDTDescriptorTable)ии имееткоторыйможетразделятьсяПреобразованиевиртуальногоадресав физическийдостаточнопростуюглобальныхдескрипторовGDT (Global(GlobalDescriptorTable)посредствомкоторыйможетразделятьсяорганизацию(Рис.143).Наосновевиртуальногоадреса,использованиямеждуЗаметим,чтокаждаязаписьтаблиции GDTхранитполнуюорганизацию(Рис.
143).основевиртуальногоадреса, LDTпосредствомиспользованиямежду процессами.процессами.Заметим,чтокаждаязаписьтаблицLDTGDTхранитполнуюинформациииз таблицLDTиНаGDT,получается32-разрядныйлинейныйадрес,которыйинформациюосегменте(адресбазы,размерипр.).Итак,вселекторехранитсяинформацииизтаблицLDTиGDT,получается32-разрядныйлинейныйадрес,которыйинформацию во терминахсегменте (адресбазы, размери пр.).
Итак,в селекторехранится типтипинтерпретируетсядвухуровневойиерархическойстраничнойорганизации.интерпретируется в терминах двухуровневой иерархической страничной организации. Последние12 разрядовотводятсяпод смещениев физическойстранице,а первые 20сегмента,послекоторогоследуетномерсегмента(номер записив соответствующейПоследние12разрядовотводятсяподсмещениев физическойстранице,а первые 20242разрядовинтерпретируюткак10-разрядныйиндексво«внешней»таблицегруппстраництаблице).Помимоперечисленного,селекторхранитразличныеатрибуты,касающиеся242разрядов интерпретируют как 10-разрядный индекс во «внешней» таблице группстраници 10-разрядноесмещениев соответствующейтаблицевторогоуровняиерархии.доступак сегменту.