24525

Странично-сегментное распределение оперативной памяти

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-09

42.01 KB

31 чел.

Вопрос 30. Странично-сегментное распределение оперативной памяти.

§5.3.2.4.Странично-сегментное распределение памяти.

Данный метод представляет собой комбинацию страничного и сегментного распределения памяти и, вследствие этого, сочетает в себе достоинства обоих подходов.

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

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

Преобразование виртуального адреса в физический происходит в следующем порядке (рис. 5.12).

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

2. По номеру виртуальной страницы, заданному в виртуальном адресе, из таблицы страниц извлекается дескриптор, в котором указан номер физической страницы.

3. К номеру физической страницы пристыковывается младшая часть виртуального адреса – смещение.

Рис. 5.12. Схема преобразования виртуального адреса в физический

при сегментно-страничной организации памяти


 

А также другие работы, которые могут Вас заинтересовать

3662. Алгоритми роботи з багатомірними масивами 160.5 KB
  Алгоритми роботи з багатомірними масивами Поділ;масивів на одномірні і багатомірні носить історичний характер. Ніякої принципової різниці між ними немає. Одномірні масиви - це окремий випадок багатомірних. Можна говорити й по-іншому: багат...
3663. Робота з масивами 218 KB
  Робота з масивами Масиви в C# Масив задає спосіб організації даних. Масивом називають упорядковану сукупність елементів одного типу. Кожен елемент масиву має індекси, що визначають порядок елементів. Число індексів характеризує розмірніс...
3664. Клас Array і нові можливості масивів 90.5 KB
  Клас Array і нові можливості масивів Клас Array Не можна зрозуміти багато деталей роботи з масивами в C#, якщо не знати пристрій класу Array з бібліотеки FCL, нащадками якого є всі класи-масиви. Розглянемо наступні оголошення: Клас Array...
3665. Алгоритми обробки символьної інформації 947.27 KB
  Алгоритми обробки символьної інформації. Символьна інформація — це інформація, що відображається за допомогою символів (букв, цифр, знаків операцій і ін.). IBM-сумісні комп'ютери обробляють 256 різних символів, кожен з яких кодується одним байтом. Відповідність символів і байтів задається таблицею кодування, в якому для кожного символу вказується відповідний байт.
3666. Клас StringBuilder – будівничий рядків 125 KB
  Клас StringBuilder – будівничий рядків. Клас string не дозволяє змінювати існуючі об'єкти. Стрінговий клас StringBuilder дозволяє компенсувати цей недолік. Цей клас належить до змінюваних класів і його можна знайти в просторі імен System.Text. Розглянемо клас StringBuilder докладніше.
3667. Робота з літерними величинами 532 KB
  Робота з літерними величинами Коли говорять про cтрічковий тип, то звичайно розрізняють тип, що представляє: окремі символи - тип char, рядок постійної довжини - масив символів, рядок змінної довжини - тип string. Символьний тип char, що представляє...
3668. Процедури і функції — методи класу 64 KB
  Процедури і функції — методи класу Історично першим способом структуризації програм в мовах програмування високого рівня було використання процедур і функцій — щодо самостійних фрагментів програм, оформлених особливим чином і забезпечених ...
3669. Файли і сериалізація об'єктів 160 KB
  NET Framework часто виникають дві в загальному випадку схожі завдання: зберегти (прочитати) вміст даних (файлу) і зберегти (прочитати) поточне полягання об'єкту у файлі або в таблиці бази даних. Не дивлячись на безперечну схожість вказаних завдань, в рамках...
3670. Робота з класами та файлами 1.27 MB
  Робота з файлами Клас Environment Клас Environment дозволяє одержати інформацію про оточення програми (поточний каталог, версія Windows і т.п.) через свої статичні члени. Приклад використання цього класу...