Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L_SPPO.doc
Скачиваний:
29
Добавлен:
04.11.2018
Размер:
522.24 Кб
Скачать
  1. Распределение оперативной памяти в современных ос для пк

    1. Microsoft Windows 95/98

Это 32-разрядные, многопотоковые ОС с вытесняющей многозадачностью. Основной пользовательский интерфейс – графический.

В системе фактически действует только страничный механизм преобразования виртуальных адресов в физические, т.к. используется плоская модель памяти (имеется только один сегмент). Этот сегмент отображается непосредственно в область виртуального линейного адресного пространства, состоящего из 4 Кбайт страниц. Каждая страница может располагаться где угодно в оперативной памяти или может быть перемещена на диск, если не запрещено использовать страничный файл.

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

Рис. 3. Модель памяти ОС Windows 95/98

Системный код размещается выше границы 2 Гб. Здесь размещаются системные библиотеки DLL (dynamic link library – динамически загружаемый библиотечный модуль), используемые несколькими программами. В микропроцессорах i80x86 имеется четыре уровня защиты (кольца с номерами от 0 до 3). В наиболее привилегированном кольце с номером 0 находится ядро ОС, модули файловой системы, подсистема управления виртуальными машинами, виртуальные драйверы.

    1. Microsoft Windows NT

Здесь тоже используется плоская модель памяти. В отличии от Windows 95/98 в гораздо большей степени используется ряд серьезных аппаратных средств защиты, имеющихся в микропроцессоре, а также применено принципиально другое логическое распределение адресного пространства. Все системные программные модули и остальные программные модули самой ОС, выступающие как серверные процессы по отношению к прикладным программам (клиентам), находятся в своих собственных виртуальных адресных пространствах и доступ к ним со стороны прикладных программ невозможен. Логическое распределение адресных пространств приведено на рис.4.

Прикладным программам выделяется 2 Гб локального (собственного) пространства от 64 Кб до 2 Гб (первые 64 Кб полностью недоступны). Они изолированы друг от друга, хотя могут общаться через буфер обмена c помощью механизмов DDE – Dynamic Data Exchange (динамический обмен данными) и OLE – Object Linking and Embedding (связь и внедрение объектов).

Между отметками 2 и 4 Гб находятся ядро ОС, планировщик потоков и диспетчер виртуальной памяти VMM (Virtual Memory Manager – выделение памяти, резервирование, освобождение, подкачка).

Рис. 4. Модель распределения виртуальной памяти в Windows NT

Вся виртуальная память в Windows NT подразделяется на классы:

  • зарезервированная (reserved) – набор непрерывных адресов, которые диспетчер виртуальных адресов (VMM) выделяет для процесса, но не учитывает в общей квоте памяти процесса, пока она не будет фактически использована;

  • память выделена (committed) – если VMM резервирует для нее место в специальном файле Pagefile.sys на тот случай, когда потребуется выгрузить содержимое памяти на диск. Выделенная память ограничивается файлом подкачки;

  • доступная (available) – вся остальная память.

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