Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання




НазваниеКонспект лекцій для студентів спеціальності ксм денної та заочної форми навчання
страница8/25
Дата25.11.2012
Размер1.39 Mb.
ТипКонспект
1   ...   4   5   6   7   8   9   10   11   ...   25

Багатосегментна модель


Розширимо модель, розглянуту в попередньому розділі на випадок N сегментів.

Віртуальний простір процесу розбивається на сегменти, які нумеруються від 0 до N-1. Віртуальна адреса, таким чином, складається з двох частин: номери сегменту і зсуву в сегменті. Ці частини можуть або представлятися окремо кожна, або упаковуватися в одне адресне слово, в якому певне число старших розрядів інтерпретуватиметься як номер сегменту, а частина, що залишилася, - як зсув. У першому випадку сегменти можуть розміщуватися довільним чином у віртуальному адресному просторі. У другому випадку створюється враження плоского адресного простору з адресами від 0 до максимально можливої при даній розрядності віртуальної адреси, але в цьому просторі можуть бути дірки - віртуальні адреси для процесу недоступні - через відсутність відповідних сегментів або із-за сегментів, довжина яких менше максимально можливою.

Кількість сегментів і максимальний розмір сегменту обмежується апаратурою - розрядністю полів адресного слова. При виділенні процесу реальної пам'яті кожен сегмент розміщується в безперервній області реальної пам'яті, але сегменти, суміжні у віртуальній пам'яті, можуть потрапляти в несуміжні області пам'яті реальної. Тепер для процесу вже недостатньо одного дескриптора сегменту - він повинен мати таблицю таких дескрипторів у складі свого блоку контексту. Апаратний регістр дескриптора сегменту перетворюється на регістр адреси таблиці дескрипторів, він зберігає покажчик на таблицю дескрипторів активного процесу і перезавантажується при зміні активного процесу. Обчислення реальної адреси апаратурою декілька ускладнюється, як показано на Малюнку 3.5:

  • вибирається сегментна частина віртуальної адреси, вона служить індексом в таблиці дескрипторів; по індексу вибирається запис тієї таблиці, адреса якої знаходиться в регістрі адреси таблиці дескрипторів;

  • вибраний запис є дескриптором сегменту, частина віртуальної адреси, відповідна зсуву, порівнюється з полем довжини в дескрипторі;

  • якщо зсув в сегменті не перевищує його довжини, обчислюється реальна адреса як сума базової адреси з дескриптора сегменту і зсуву з віртуальної адреси.

Зразкова структура апаратного підтримуваного дескриптора сегменту приведена на Малюнку 3.6. Підкреслюємо, що дана структура не є обов'язковою, для всієї комп'ютерної архітектури, ми привели лише найбільш поширений її варіант і використовували найбільш імена полів, що часто вживалися.


Ріс.3.5. Трансляція адрес. Багатосегментна модель


Ріс.3.6. Зразкова структура дескриптора сегменту




Допустима кількість сегментів визначається розрядністю відповідного поля віртуальної адреси і може бути вельми великим. Або апаратура повинна мати спеціальний регістр розміру таблиці дескрипторів (такий регістр є в Intel-Pentium), або ОС повинна готувати для процесу таблицю максимально можливого розміру, відзначаючи в ній дескриптори неіснуючих сегментів (наприклад, нульовим значенням поля size). Відзначимо, що для систем, що упаковують номер сегменту і зсув в одне адресне число, розрядність зсуву не є обмеженням на довжину віртуального сегменту. Віртуальний сегмент більшого розміру представляється в таблиці двома і більш обов'язково суміжними дескрипторами. З погляду процесу він звертається до одного сегменту, задаючи в нім великий зсув, на самій же справі переповнювання поля зсуву переноситься в полі номера сегменту. Якщо ж проста двійкова арифметика не забезпечує модифікацію номера сегменту, можливість роботи з великими сегментами може підтримуватися ОС шляхом особливої обробки переривання-пастки "захист пам'яті".

Які переваги багатосегментної моделі пам'яті?

Найперша перевага полягає в тому, що у процесу з'являється можливість розмістити дані, що обробляються різним чином, в різних сегментах свого віртуального простору (так, в ОС Unix, наприклад, кожен процес має при початку виконання три сегменти: кодів, даних і стека). Кожному сегменту можуть бути визначені свої права доступу. Оскільки звернення до пам'яті можуть бути трьох видів: читання, запис і передача управління, то для опису прав доступу достатньо 3-бітового поля Read-Write-eXecute, кожен розряд якого визначає дозвіл один з видів доступу. Апаратні засоби більшості архітектури забезпечують контроль права доступу при трансляції адрес: поле прав доступу включається в дескриптор сегменту і, якщо вид звернення, що поступив, не дозволений, то виконується переривання-пастка "порушення доступу".

Інша важлива перевага багатосегментної моделі полягає в тому, що процес має можливість використовувати віртуальний адресний простір, розмір якого більший, ніж розмір доступної реальної пам'яті. Це досягається за рахунок того, що не обов'язково всі сегменти процесу повинні одночасно знаходитися в реальній пам'яті. Дескриптор кожного сегменту містить біт present, який встановлений в 1, якщо сегмент підкачаний в оперативну пам'ять, або в 0 - якщо сегмент витиснений з неї. Апаратура трансляції адрес перевіряє цей біт і при нульовому його значенні виконує переривання-пастку "відсутність сегменту" (segment falure). На відміну від більшості інших пасток, які в основному сигналізують про помилки, при яких подальше виконання процесу неможливе, ця не приводить до фатальних для процесу наслідків. ОС, обробляючи це переривання, знаходить образ витисненого сегменту на зовнішній пам'яті, і підкачує його в реальну пам'ять. Природно, що процес, що звернувся до витисненого сегменту, переводиться в очікування, це очікування може затягнутися, якщо у ОС є проблеми з ресурсом реальної пам'яті. Коли сегмент буде підкачаний, процес перейде в чергу готових і буде активізований знов з тієї команди, яка викликала переривання-пастку. У тих апаратних системах, які не обробляють біт присутності в дескрипторі сегменту, можна замість нього використовувати поле size: ОС повинна скидати це поле в 0 при витісненні сегменту і відновлювати при його підкачці.

Надзвичайно важливою перевагою багатосегментної моделі є можливість розділення (сумісного використання) сегментів процесами. Процеси можуть бути розроблені так, щоб віртуальні простори два або більш за процеси перекривалися в якихось областях. Процеси можуть використовувати загальний віртуальний простір для обміну даними. Реалізація цієї можливості в якійсь мірі залежить від апаратних засобів. У багатьох обчислювальних системах процес може працювати з декількома таблицями дескрипторів, оскільки в системі є декілька регістрів адрес таблиць (так в процесорі Intel 80286 і подальших передбачено дві таблиці, звані локальною і глобальною). Рішення, що використовує це властивість, полягає в тому, що дескриптор сегменту, що розділяється, поміщається в загальну для всіх процесів (глобальну) таблицю, такий сегмент може бути доступним для всіх процесів і має загальний віртуальний номер для всіх процесів. Інше рішення, можливе і за наявності тільки однієї таблиці для кожного процесу, полягає в тому, що для загального сегменту створюється по запису в таблиці кожного процесу, з ним що працює, для кожного процесу цей сегмент має свій віртуальний номер. Друге рішення представляється вдалішим з погляду захисту, оскільки, по-перше, доступ до сегменту мають тільки ті процеси, в таблицях яких створені відповідні дескриптори, по-друге, є можливість дати різним процесам разные права доступу до сегменту, що розділяється. Але за таке рішення доводиться платити тим, що при свопінгу сегменту, що розділяється, і при обліку його використання необхідно коректувати його дескриптори в таблицях всіх процесів.
1   ...   4   5   6   7   8   9   10   11   ...   25

Похожие:

Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconКонспект лекцій для студентів IV курсу гуманітарного факультету спеціальності 030301 «Журналістика»
Конспект лекцій з дисципліни «Основи журналістикознавчих досліджень» для студентів IV курсу гуманітарного факультету спеціальності...
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconКонспект лекцій для студентів спеціальностей 030508 І 030508 «Фінанси І кредит»
Менеджмент персоналу фінансових служб: Конспект лекцій для студентів спеціальностей 030508 І 030508 «Фінанси І кредит» денної та...
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconНавчально-методичний комплекс для студентів денної та заочної форм навчання
Сторія міжнародних відносин. Навчально-методичний комплекс для студентів денної та заочної форми навчання / д.І. н проф. С. С. Троян....
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconВступ
Комп‘ютерні інформаційні технології в електроенергетиці (тексти лекцій для студентів 4 І 5 курсів денної І заочної форм навчання...
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconКонспект лекцій з курсу «Економіка підприємств електротранспорту»
Економіка підприємств електротранспорту: Конспект лекцій для студентів 4-5 курсів денної І заочної форм навчання спеціальностей 092202...
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconКонспект лекцій з курсу «психологія»
Конспект лекцій з курсу «Психологія» (для студентів 2 курсу денної форми навчання спец.: 092100 – «Промислове та цивільне будівництво»,...
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання icon1. системный анализ под системным анализом понимают совокупность приёмов и методов для изучения сложных объектов, представляющих собой совокупность взаимодей-ствующих между собой элементов
Загальна теорія систем. Конспект лекцій Для студентів денної І заочної форм навчання спеціальності 080200 “Інформатика”/Укл.: Кац...
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconКонспект лекцій з дисципліни «Економіка та управління знаннями»
Конспект лекцій з дисципліни «Економіка та управління знаннями» для студентів спеціальності 000014 «Управління інноваційною діяльністю»...
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconПрограма навчальної дисципліни та робоча програма навчальної дисципліни «Планування та управління гіс проектами» (для студентів 5 курсу денної форми навчання спеціальності 070908 «Геоінфромаційні системи та технології»)
Програма навчальної дисципліни та робоча програма навчальної дисципліни «Основи землевпорядкування та кадастру» для студентів 5 курсу...
Конспект лекцій для студентів спеціальності ксм денної та заочної форми навчання iconКурсове проектування
Призначений для студентів молодших спеціалістів денної форми навчання спеціальності 05150103
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница