- •Системное программное обеспечение
- •Вопрос №1. Структура операционных систем
- •Вопрос №2. Вычислительный процесс и ресурсы. Виды ресурсов
- •Вопрос №3. Планирование и диспетчеризация процессов и задач.
- •Вопрос №4. Стратегия планирования
- •Вопрос №5. Дисциплины диспетчеризации.
- •Вопрос №6. Физическая и виртуальная память
- •Вопрос №7. Способы организации виртуальной памяти.
- •Страничный способ организации виртуальной памяти.
- •Вопрос №8 Страничный способ организации виртуальной памяти и схема нахождения физического адреса
- •Вопрос №№ 9,10 Сегментно-страничный способ организации виртуальной памяти и схема нахождения и формирования физического адреса
- •Вопрос № 11. Физические и логические методы доступа к периферийным устройствам. Драйверы.
- •Вопрос № 12. Файловые системы. Размещение информации.
- •Вопрос № 13. Ассемблеры. Определение, области применения
- •Вопрос №14. Прерывания. Классификация. Виды прерывания, обработка программных прерываний.
- •Вопрос № 15. Связь логического и физического представления данных на мд. Кэширование информации.
Вопрос №№ 9,10 Сегментно-страничный способ организации виртуальной памяти и схема нахождения и формирования физического адреса
Для того чтобы избежать второго недостатка страничного способа организации памяти, но и сохранить достоинства страничной организации, разработан сегментно-страничный способ организации памяти. Применение его в реальных вычислительных системах в настоящее время ограничен, но этот способ организации памяти заслуживает внимания, как перспективный.
Программа при этом способе организации разбивается на части (сегменты), а каждый сегмент, в свою очередь, разбивается на более мелкие части (страницы). Виртуальный адрес содержит указание на номер соответствующего сегмента. Вторая составляющая виртуального адреса (смещение относительно начала сегмента) содержит указание на номер страницы в сегменте и смещения относительно начала страницы.
И
35000 S
–сегмент Р – страница I
- индекс
з
таблицы сегментов Виртуальный адрес
15
10 600


Номер
физической Число Права страницы
страниц доступа 15
36000 20
Таблица
сегментов задачи
35015 35000



3
6010
Номер
физиче- Права ской
страницы доступа
10 45000
Нужная
команда






45600

Схема преобразования виртуального адреса в физический адрес при сегментно-страничной организации памяти
Если в таблице дескрипторов сегментов указано, что таблица сегментов нашей задачи находится по адресу 35000, а в виртуальном адресе указан 15-й сегмент, то ОС по этим данным найдет запись, где будет адрес начала нашего сегмента (35000+15=35015). Поэтому адресу находим адрес начала таблицы страниц (допустим, 36000). Складывая его с № страницы виртуального адреса находим запись в таблице страниц, где указан адрес физической страницы. Складывая этот адрес с индексом виртуального адреса, находим физический адрес нашей исполняемой программы.
Этот способ организации виртуальной памяти требует больших накладных затрат при доступе к памяти, чем при страничной организации памяти. Необходимо сначала вычислить адрес дескриптора сегмента и прочитать его. Определив адрес начала таблицы, дескрипторов страниц сегмента и, сложив его с номером страницы виртуального адреса, находим дескриптор нужной страницы. Прочитав его, находим начальный адрес страницы. Нужный физический адрес определим сложением адреса начала страницы и индекса виртуального адреса.
К достоинствам сегментно-страничного способа организации памяти можно отнести то, что разбиение программы на сегменты позволяет размещать сегменты в память целиком. Сегменты разбиты на страницы и все страницы сегмента загружаются в память одновременно. Это позволяет уменьшить обращение к отсутствующим страницам, т.к. возможность выхода за пределы сегмента минимальна. Наличие сегментов позволяет легче реализовать разделение программных модулей между процессами. Выделение памяти страницами минимизирует фрагментацию.
Недостатком сегментно-страничной организации виртуальной памяти является, во-первых, значительные дополнительные затраты вычислительных ресурсов на вычисление адресов, во-вторых, требуется достаточно мощная аппаратная поддержка, в-третьих, при привязке к конкретной модели ЭВМ требует достаточно сложного программного обеспечения.
Использование метода ограничено. Используется в малых супер-ЭВМ. В распространенных в России ЭВМ на базе процессора i80x86 аппаратная поддержка этого способа присутствует, но слабая, и из-за сложности программирования пока не используется (пока, т.к. при увеличении производительности вычислительных систем, его привлекательность повышается).
