Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Сегментация с использованием страниц: Intel Pentium



Каждая программа обеспечивается до 16К сегментов, каждый из которых может быть до 1 млдр 36-разрядных слов длиной.

Основа виртуальной памяти системы Pentium состоит из двух таблиц:

o Локальная таблица дескрипторов LDT (Local Descriptor Table) - есть у каждой программы, и описывает сегменты программы.

o Глобальная таблица дескрипторов GDT (Global Descriptor Table) - одна для всех программ, и описывает системные сегменты (включая саму ОС).

Каждый селектор (указывает на дескриптор) представляет собой 16-разрядный номер.

Селектор в системе Pentium

13 битов определяют номер записи в таблице дескрипторов, поэтому эти таблицы ограничены, каждая содержит 8К (2^13) сегментных дескрипторов.

1 бит указывает тип используемой таблицы дескрипторов LDT или GDT.

Уровни привилегированности в системе Pentium

Уровни привилегированности запрещают выполняемому коду обратиться к более низкому уровню.

С учетом максимального размера сегмента - 4 Гбайта - каждая задача, при чисто сегментной организации виртуальной памяти, работает в виртуальном адресном пространстве в 64 Тбайта (4 Гбайта * 16К, где 16К=8К*2 т.к. LDT и GDT).

Дескриптор программного (не данных) сегмента в системе Pentium (всего 8 байт (64 бита)).

База (Base) - базовый адрес сегмента (32-бита), разделен на три части из-за совместимости с i286, в котором это поле имеет только 24 бита.

Размер (Limit) - размер сегмента (20 бит), разнесен на две части.

Если размер сегмента указан в страницах, он может достигать 2^32 байтов (2^20 * 4Кбайт (2^12) (размер страницы в Pentium)).

Алгоритм получение физического адреса:

1. Селектор загружается в регистр (для сегмента команд в CS, для сегмента данных в DS).

2. Определяется глобальный или локальный сегмент (LDT или GDT).

3. Дескриптор извлекается из LDT или GDT, и сохраняется в микропрограммных регистрах.

4. Если дескриптор в памяти и смещение не выходит за пределы сегмента, программа может продолжить работу, если нет, происходит прерывание.

5. Система Pentium прибавляет базовый адрес к смещению, и получает линейный адрес,
-
если страничная организация памяти не используется, то он является физическим адресом (адрес получен),
- если страничная организация памяти используется, то он является виртуальным адресом.

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

Преобразование пары (селектора, смещение) в физический адрес

При 32-разрядном (2^32=4Гбайт) адресе и 4Кбатной странице, сегмент может содержать 1 млн страниц (4Гбайт/4Кбайта). Поэтому используется двухуровневое отображение (создана таблица ( страничный каталог ) содержащая список из 1024 таблиц страниц), благодаря чему можно снизить количество записей в таблице страниц до 1024.

В этом случае сегмент в 4 Мбайта (1024 записи по 4 Кбайта страницы), будет иметь страничный каталог только с одной записью (и 1024 в таблице страниц), вместо 1 млн в одной таблице.

Отображение линейного адреса на физический адрес

В системе Pentium также есть буфер быстрого преобразования адреса ( TLB ), в котором хранятся наиболее часто используемые комбинации Каталог-Страница на физический адрес страничного блока. Только если комбинация в TLB отсутствует, выполняется это алгоритм.

Особенности реализации в UNIX

В LUNIX системе на 32-разрядной машине каждый процесс получает 3Гбайта виртуального пространства для себя, и 1Гбайт для страничных таблиц и других данных ядра.

На компьютерах Pentium, используется двухуровневые таблицы страниц, и размер страниц фиксирован 4Кбайта

На компьютерах Alpha, используется трехуровневые таблицы страниц, и размер страниц фиксирован 8Кбайт

Для каждой программы выделяется 3 сегмента:

1. Код программы (только для чтения)

2. Данные

3. Стек

 

 

Принципы аппаратуры ввода-вывода

Устройства ввода-вывода

Устройства делят на две категории (некоторые не попадают ни в одну):

o блочные устройства - информация считывается и записывается по блокам, блоки имеют свой адрес (диски)

o символьные устройства - информация считывается и записывается посимвольно (принтер, сетевые карты, мыши)

Контроллеры устройств

Устройства ввода-вывода обычно состоят из двух частей:

o механическая (не надо понимать дословно) - диск, принтер, монитор

o электронная - контроллер или адаптер

Если интерфейс между контроллером и устройством стандартизован (ANSI, IEEE или ISO), то независимые производители могут выпускать совместимые как контроллеры, так и устройства. Например: диски IDE или SCSI.

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


Поделиться:



Популярное:

  1. Анализ прибыли и рентабельности с использованием международных стандартов
  2. АППРОКСИМАЦИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ МЕТОДА НАИМЕНЬШИХ КВАДРАТОВ
  3. Аэробика с использованием оборудования
  4. Графический метод с использованием характеристик для мгновенных значений
  5. Диспетчеризация задач с использованием динамических приоритетов
  6. Зарисовка макета архитектурного сооружения с использованием высокой точки зрения
  7. Конспект открытого занятия с использованием активных методов обучения
  8. Лабораторная работа №1. Программирование с использованием встроенных функций ввода/вывода
  9. Лабораторная работа №5. Программирование циклических вычислительных процессов с использованием массивов и матриц
  10. Лабораторная работа №6. Программирование с использованием составных пользовательских типов данных
  11. Лабораторная работа №7. Программирование с использованием файлов
  12. Метод управления потоком с использованием пакетов блокировки


Последнее изменение этой страницы: 2016-05-28; Просмотров: 653; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь