1 Управление памятью Системное и прикладное программное обеспечение Малышенко Владислав Викторович.

Презентация:



Advertisements
Похожие презентации
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Advertisements

1 ЛЕКЦИЯ 3 ХАРАКТЕРИСТИКА ЗАЩИЩЕННОГО РЕЖИМА РАБОТЫ МИКРОПРОЦЕССОРА В реальном режиме работы поддерживается выполнение всего одной программы. Для этого.
Лекция 7 Управление памятью Сегментная, страничная и сегментно- страничная организация памяти.
Лекция 5 Управление памятью Виртуальное адресное пространство.
Управление памятью. В ИРТУАЛЬНАЯ ПАМЯТЬ Основная идея заключается в разбиении программы на части, и в память эти части загружаются по очереди. Программа.
Лекция 5 Управление памятью Виртуальное адресное пространство Непрерывное…..
Дисциплина: Операционные системы § 7. Организация памяти компьютера План: 1.Физическая память компьютера. 2.Логическая память компьютера. 3.Функции системы.
Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
1. Теоретические основы операционных систем (планирование заданий и использования процессора, обеспечение программ средствами коммуникации и синхронизации,
Управление памятью Управление физической памятью.
Системное программное обеспечение. Вычислительная система 2.
Управление оперативной памятью 1.Контроль состояния каждой единицы памяти (свободна/распределена) 2.Стратегия распределения памяти (кому, когда и сколько.
Операционные системы, среды и оболочки Управление памятью.
Иерархия памяти ЭВМ Быстродействие Регистры СОЗУ (КЭШ L1) СОЗУ (КЭШ L2,L3) ОЗУ Дисковая КЭШ - память Магнитные диски, RAID Оптические диски Магнитная лента.
Учебный курс Операционные среды, системы и оболочки Лекция 10 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Управление памятью. Модели памяти Линейное адресное пространство Страничная организация Сегментная организация Комбинированное определение адреса Виртуальная.
Управление оперативной памятью. Основные задачи: 1.Контроль состояния каждой единицы памяти (свободна/распределена). 2.Стратегия распределения памяти.
Алгоритмы замещения страниц
Формирование адреса при сегментно – страничной организации памяти Виртуальный адрес # Сегмента# Страницы# Слова База стр. табл. # Физической стр.# Слова.
Управление процессами Понятие процесса. Представление процесса в различных операционных системах Старший преподаватель каф. Процессов управления и информационной.
Транксрипт:

1 Управление памятью Системное и прикладное программное обеспечение Малышенко Владислав Викторович

2 Управление памятью Windows 2000

3 Основные понятия В windows 2000 у каждого пользовательского процесса есть виртуальное адресное пространство; Виртуальные адреса – 32-разрядные; Размер виртуального адресного пространства - 4 Гб: нижние 2 Гб за вычетом 256Мб доступны для программы и данных процесса; верхние 2 Гб защищенным образом отображаются на память ядра; Размер страницы виртуального адресного пространства – 4 Кб.

4 Пример конфигурация виртуального адресного пространства Приватные данные и программа процесса А Системные данные HAL + OS Стек, данные и т.д. Таблицы страниц процесса А Выгружаемый пул Невыгружаемый пул 0 2 Гб 4 Гб Приватные данные и программа процесса B Системные данные HAL + OS Стек, данные и т.д. Таблицы страниц процесса B Выгружаемый пул Невыгружаемый пул Приватные данные и программа процесса C Системные данные HAL + OS Стек, данные и т.д. Таблицы страниц процесса C Выгружаемый пул Невыгружаемый пул Процесс АПроцесс BПроцесс C 64 Кб

5 Виртуальная страница Состояние виртуальной страницы: Свободной является страница, если она не используется в настоящий момент Фиксированной является страница, после того как данные или программа отображаются на страницу Зарезервированная страница не может отображаться, пока не будет снято резервирование. Например, создание нового потока.

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

7 Отображение файлов в виртуальное адресное пространство Файл может быть напрямую отображен в виртуальное адресное пространство процесса. После отображения файла на адресное пространство, он может читаться и записываться при помощи обычных команд обращения к памяти. Два процесса могут одновременно отображать свои виртуальные адресные пространства на одну и туже часть одного файла.

8 Страницы отображаемые на память Программа процесса А Совместно используемая библиотека Стек Процесс А Данные Программа процесса B Совместно используемая библиотека Стек Процесс B Данные файл подкачки lib.dll Prog1.exeProg2.exe

9 Системные вызовы управления памятью ФункцияОписание VirtualAllocЗарезервировать или фиксировать область VirtualFreeОсвободить область или отменить фиксацию VirtualProtectИзменить режим доступа (чтение/ запись/ выполнение) к области VirtualQueryУзнать состояние области VirtualLockСделать область резидентной в памяти VirtualUnlockРазрешить выгрузку области CreateFileMappingСоздать объект отображаемого файла MapViewOfFileОтобразить файл на адресное пространство UnmapViewOfFileУдалить отображаемый файл из адресного пространста OpenFileMappingОткрыть созданный ранее объект отображаемого файла

10 Реализация управления памятью Windows 2000 поддерживает подгружаемое по требованию одинарное линейное 4-гигабайтное адресное пространство для каждого процесса. Сегментация в любой форме не поддерживается. Теоретический размер страницы от 4 Кбайт до 64 Кбайт. Компьютеры с процессором Pentium имеют фиксированный размер в 4 Кбайт. Операционная система может использовать страницы по 4 Мбайт.

11 Реализация управления памятью Планировщик заданий следит за отдельными потоками; Менеджер памяти следит за процессами. Например: Процессу A выделено четыре области памяти. Менеджер памяти создает описатель виртуальной памяти (VAD, Virtual Address Descriptor): Диапазон отображаемых адресов; Файл резервного хранения; Смещение в файле; Режим доступа.

12 Реализация управления памятью Когда происходит обращение к первой странице, создается каталог таблиц страниц, указатель на нее помещается в описатель виртуальной памяти. Адресное пространство полностью описывается списком своих описателей виртуальной памяти. Это позволяет поддерживать несплошные адресные пространства.

13 Обработка страничных прерываний Запись таблицы для отображаемой страницы

14 Структура Windows 2000

15 Страничные прерывания 1. Страница, к которой было обращение, не является фиксированной; 2. Произошло нарушение защиты; 3. Запись в совместно используемую память; 4. Стеку требуется дополнительная память; 5. Страница, к которой было обращение, является фиксированной, но в настоящий момент она не загружена в память.

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

17 Алгоритмы замещения страниц: списки страниц У каждого процесса есть набор рабочих страниц. Размер и состав рабочего набора, меняется по мере работы процесса. Параметры «рабочего набора»: минимальными и максимальными размер. (25-50 мин.; макс.)

18 Алгоритмы замещения страниц: менеджеры Менеджер балансового множества Менеджер рабочих наборов

19 Управление физической памятью Списки страниц: Список чистых (резервных) страниц Список грязных (модифицированных) страниц Список свободных страниц Список обнуленных страниц Список дефектных страниц памяти

20 Управление физической памятью

21 Страничные блоки

22

23 Pentium Пример реализации

24 Сегментация с использованием страниц: Intel Pentium Виртуальная память на компьютере Pentium использует сегментную и страничную организацию. Система Pentium поддерживает 16К независимых сегментов, каждый до 1 млрд 32-разрядных слов. Основа виртуальной памяти системы Pentium состоит их двух таблиц: локальной таблицы дескрипторов LDT (Local Descriptor Table); глобальной таблицы дескрипторов GDT (Global Descriptor Table).

25 Сегментация с использованием страниц: Intel Pentium У каждой программы есть своя собственная таблица LDT, глобальная таблица дескрипторов одна. Таблица LDT описывает сегменты, локальные для каждой программы, включая ее код, данные, стек и т.д. Таблица GDT несет информацию о системных сегментах, включая саму операционную систему.

26 Доступ к сегменту Операционная система Pentium сначала загружает селектор для сегмента в один из шести сегментных регистров машины. регистр CS содержит селектор для сегмента кода команд, регистр DS хранит селектор для сегмента данных. Каждый селектор представляет собой 16-разрядный номер. Один из битов селектора несет информацию о том, является ли данный сегмент локальным или глобальным. Тринадцать битов определяют номер записи в таблице дескрипторов. 2 бита относятся к проблемам защиты и будут описаны позже. Дескриптор 0 является запрещенным.

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

28 Дескриптор программного сегмента в системе Pentium.

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

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

31 Защита в системе Pentium