Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AOS_otvety_1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.29 Mб
Скачать

Организация виртуальной памяти, преобразование адреса.

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

Обмен данными между процессами на основе виртуальной памяти.

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

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

  • Например, несколько пользователей работают с одной программой. Данные у них должны быть, конечно, в двух экземплярах, но код программы – в одной.

  • Или для межпроцессного обмена данными, когда один поток пишет данные в буфер, а второй – оттуда читает.

Сегмент памяти в этом случае называется РАЗДЕЛЯЕМОЙ ПАМЯТЬЮ.

При работе с виртуальной памятью это сделать можно по-разному:

  • Поместить разделяемый виртуальный сегмент в общую часть ВАП, где модули ОС располагаются. Тогда настройка дескриптора сегмента производится только один раз, все процессы ею пользуются.

  • Поместить разделяемый сегмент в ВАП каждого процесса, и настроить параметры отображения этих виртуальных сегментов на одну область оперативной памяти.

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

    2. При сегментно-страничной – надо настроить таблицу страниц каждого процесса

    3. При чисто страничной – не выйдет, нет понятия сегмент.

Функции работы ОС по работе с разделяемой памятью:

  • Поддержка схемы именования ресурсов

  • Проверка прав доступа процесса к ресурсу

  • Отслеживать, сколько процессов пользуются ресурсом

ОС может создавать разделяемый ресурс:

  • По запросу (через системный вызов – все процессы, запрашивающие создание разделяемого ресурса с одним и тем же id, могут им пользоваться)

  • По умолчанию – например, когда поступает несколько запросов на выполнение одного и того же приложения.

Выгрузка разделяемых сегментов на диск ничем не отличается от выгрузки индивидуальных сегментов.

  1. Аппаратная поддержка сегментной организации памяти в системах на основе процессоров с архитектурой ia32. Небольшое вступление про процессоры ia-32 и аппаратную поддержку мультипрограммирования

Аппаратные средства поддержки мультипрограммирования есть во всех современних процессорах, в полной мере есть они и в семействе 32-разрядных процессоров Intel: Pentium, Pentium Pro, Pentium 2, 3, Celeron, 80386, 80486. Архитектуру этих процессоров называют еще IA-32 или х86.

Процессоры х86 могут работать в:

- реальном режиме (разработан для совместимости с процем 8086, 16-разрядные инструкции и 1 Мб оперативы)

- защищенном режиме (основной режим работы проца);

Важную роль в организации вычислительного процесса играют регистры процессора, поэтому эту страшную мутотень надо подробно рассмотреть. Одно утешение – на ТСИСе тоже это надо сдавать на экзамене. Так что бьем двух зайцев.

Группы регистров процессоров Пентиум:

  1. РОН – регистры общего назначения

  2. Регистры сегментов

  3. Указатель инструкций

  4. Регистр флагов

  5. Управляющие регистры

  6. Регистры системных адресов

  7. Регистры отладки и тестирования + регистры математического сопроцессора (для выполнения операций с плавающей точкой);

    1. РОН

Есть 8 32-разрядных РОН.

  • Первые 4 РОН: А, B, C, D – для хранения операндов команд (арифметических, логических и всяких прочих)

  • Последние 4 – ESI, EDI, EBP, ESP – для задания смещения внутри сегмента данных. Используются совместно с регистрами сегментов (см дальше) для задания виртуального адреса.

К первым 4 регистрам можно обращаться:

  • Целиком (EAX, EBX, ECX, EDX)

  • К младшему их байту (AL, BL, CL, DL);

  • Ко второму по старшинству байту (AH, BH, CH, DH);

  • К двум младшим байтам (AX, BX, CX, DX);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]