![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Обмен данными между процессами на основе виртуальной памяти.
Основная задача ОС по управлению памятью – защита областей памяти, принадлежащих разным потокам, от несанкционированного вмешательства.
Однако иногда нужно наоборот, организовать контролируемый совместный доступ нескольких потоков к одному участку памяти. · Например, несколько пользователей работают с одной программой. Данные у них должны быть, конечно, в двух экземплярах, но код программы – в одной. · Или для межпроцессного обмена данными, когда один поток пишет данные в буфер, а второй – оттуда читает.
Сегмент памяти в этом случае называется РАЗДЕЛЯЕМОЙ ПАМЯТЬЮ.
При работе с виртуальной памятью это сделать можно по-разному: · Поместить разделяемый виртуальный сегмент в общую часть ВАП, где модули ОС располагаются. Тогда настройка дескриптора сегмента производится только один раз, все процессы ею пользуются. · Поместить разделяемый сегмент в ВАП каждого процесса, и настроить параметры отображения этих виртуальных сегментов на одну область оперативной памяти. a. При сегментной организации для этого надо – в дескрипторах виртуального сегмента указать один и тот же базовый физический адрес b. При сегментно-страничной – надо настроить таблицу страниц каждого процесса c. При чисто страничной – не выйдет, нет понятия сегмент.
Функции работы ОС по работе с разделяемой памятью: · Поддержка схемы именования ресурсов · Проверка прав доступа процесса к ресурсу · Отслеживать, сколько процессов пользуются ресурсом
ОС может создавать разделяемый ресурс: · По запросу (через системный вызов – все процессы, запрашивающие создание разделяемого ресурса с одним и тем же id, могут им пользоваться) · По умолчанию – например, когда поступает несколько запросов на выполнение одного и того же приложения.
Выгрузка разделяемых сегментов на диск ничем не отличается от выгрузки индивидуальных сегментов.
Аппаратная поддержка сегментной организации памяти в системах на основе процессоров с архитектурой 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) Регистры отладки и тестирования + регистры математического сопроцессора (для выполнения операций с плавающей точкой);
РОН Есть 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);
Регистры сегментов 6 регистров – ссылаются на дескрипторы сегментов памяти: · CS – дескриптор кодового сегмента · SS – дескриптор сегмента стека · DS, ES, FS, GS – дескрипторы сегментов данных Все они, кроме первого, доступны программно (туда можно загрузить новое значение с помощью команды);
Каждый сегмент хранит в себе СЕЛЕКТОР – 16-разрядное число. Структура селектора:
3. Указатель инструкций EIP – содержит смещение адреса текущей инструкции. EIP + CS(из регистров сегментов) = виртуальный адрес инструкции.
4. Регистр флагов (EFLAGS) – содержит признаки, характеризующие результат выполнения операции:
- флаг знака - флаг нуля - флаг переполнения - флаг паритета - флаг переноса и тд - флаг разрешения аппаратных прерываний (разрешение аппаратных прерываний IF)
5. Управляющие регистры:
5 управляющих регистров: CR0, CR1, CR2, CR3, CR4 – хранят данные об общем состоянии процессора. CR0 – все основные признаки: - реальный / защищенный режим - вкл / выкл страничного механизма - признаки, влияющие на работу кэша и выполнение команд с плавающей точкой
CR1 – зарезервирован
|
||||||||||||
Последнее изменение этой страницы: 2017-02-05; просмотров: 350; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.155.130 (0.013 с.) |