Страничное распределение
На рис. 5.12 показана схема страничного распределения памяти. Виртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными страницами (virtual pages). В общем случае размер виртуального адресного пространства процесса не кратен размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью.
Вся оперативная память машины также делится на части такого же размера, называемые физическими страницами (или блоками, или кадрами). Размер страницы выбирается равным степени двойки: 512, 1024, 4096 байт и т. д. Это позволяет упростить механизм преобразования адресов.
Рис. 5.12. Страничное распределение памяти
При создании процесса ОС загружает в оперативную память несколько его виртуальных страниц (начальные страницы кодового сегмента и сегмента данных). Копия всего виртуального адресного пространства процесса находится на диске. Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах. Для каждого процесса операционная система создает таблицу страниц — информационную структуру, содержащую записи обо всех виртуальных страницах процесса.
Запись таблицы, называемая дескриптором страницы, включает следующую информацию:
-
номер физической страницы, в которую загружена данная виртуальная страница;
-
признак присутствия, устанавливаемый в единицу, если виртуальная страница находится в оперативной памяти;
-
признак модификации страницы, который устанавливается в единицу всякий раз, когда производится запись по адресу, относящемуся к данной странице;
-
признак обращения к странице, называемый также битом доступа, который устанавливается в единицу при каждом обращении по адресу, относящемуся к данной странице.
Признаки присутствия, модификации и обращения в большинстве моделей современных процессоров устанавливаются аппаратно, схемами процессора при выполнении операции с памятью. Информация из таблиц страниц используется для решения вопроса о необходимости перемещения той или иной страницы между памятью и диском, а также для преобразования виртуального адреса в физический. Сами таблицы страниц, так же как и описываемые ими страницы, размещаются в оперативной памяти. Адрес таблицы страниц включается в контекст соответствующего процесса. При активизации очередного процесса операционная система загружает адрес его таблицы страниц в специальный регистр процессора.
При каждом обращении к памяти выполняется поиск номера виртуальной страницы, содержащей требуемый адрес, затем по этому номеру определяется нужный элемент таблицы страниц, и из него извлекается описывающая страницу информация1. Далее анализируется признак присутствия, и, если данная виртуальная страница находится в оперативной памяти, то выполняется преобразование виртуального адреса в физический, то есть виртуальный адрес заменяется указанным в записи таблицы физическим адресом. Если же нужная виртуальная страница в данный момент выгружена на диск, то происходит так называемое страничное прерывание. Выполняющийся процесс переводится в состояние ожидания, и активизируется другой процесс из очереди процессов, находящихся в состоянии готовности. Параллельно программа обработки страничного прерывания находит на диске требуемую виртуальную страницу (для этого операционная система должна помнить положение вытесненной страницы в страничном файле диска) и пытается загрузить ее в оперативную память. Если в памяти имеется свободная физическая страница, то загрузка выполняется немедленно, если же свободных страниц нет, то на основании принятой в данной системе стратегии замещения страниц решается вопрос о том, какую страницу следует выгрузить из оперативной памяти.
После того как выбрана страница, которая должна покинуть оперативную память, обнуляется ее бит присутствия и анализируется ее признак модификации. Если выталкиваемая страница за время последнего пребывания в оперативной памяти была модифицирована, то ее новая версия должна быть переписана на диск. Если нет, то принимается во внимание, что на диске уже имеется предыдущая копия этой виртуальной страницы, и никакой записи на диск не производится. Физическая страница объявляется свободной. Из соображений безопасности в некоторых системах освобождаемая страница обнуляется, с тем чтобы невозможно было использовать содержимое выгруженной страницы.
- Операционные системы. Назначение и функции операционных систем (ос).
- Функции ос
- Наиболее важные
- Классификация операционных систем.
- Основные принципы построения ос.
- Мультипрограммирование (многозадачность). Мультипрограммирование в системах с пакетной обработкой, системах с разделением времени и реального времени. Многопроцессорный режим работы.
- Мультипрограммирование в системах с пакетной обработкой
- Мультипрограммирование в системах разделения времени
- Мультипрограммирование в системах реального времени
- Функции подсистемы управления процессами. Разновидности задач: процессы и потоки (нити).
- Понятия «процесс» и «поток»
- Кооперативная (невытесняющая) и вытесняющая многозадачность. Достоинства и недостатки.
- Основные алгоритмы планирования задач: алгоритмы, основанные на квантовании, смешанные алгоритмы. Размер кванта.
- Обеспечение корректности совместного доступа к объектам. Предотвращение тупиковых ситуаций.
- Синхронизация параллельных задач. Обеспечение корректности совместного доступа к объектам ос.
- Моменты перепланировки. Механизм прерывания. Основные виды прерываний. Обработка прерываний. Векторы прерываний.
- Моменты перепланировки
- Назначение и типы прерываний
- Механизм прерываний
- Типы адресов
- Методы распределения памяти с использованием дискового пространства. Страничное распределение. Сегментное распределение. Странично-сегментное распределение.
- Страничное распределение
- 1 Здесь не учитывается возможность кэширования записей из таблицы страниц, которая рассматривается несколько позже.
- 1 Процессор Pentium позволяет использовать также страницы размером до 4 Мбайт одно- ' временно со страницами объемом 4 Кбайт.
- Сегментное распределение
- Сегментно-страничное распределение
- Имена файлов
- Монтирование
- 1 На практике чаще используется относительная форма именования, которая не включает имя диска и цепочку имей каталогов верхнего уровня, заданных по умолчанию.
- Атрибуты файлов
- Этапы подготовки диска к записи
- Структура каталогов dos
- Структура каталогов os unix
- Файловая система ntfs. Структура логического диска под управлением Windows nt.
- Структура тома ntfs
- 1 В Windows nt логический раздел принято называть томом.
- Структура файлов ntfs
- Каталоги ntfs
- Классификация угроз безопасности ос.
- Типичные атаки на ос
- Понятие защищенной ос. Подходы к построению защищенных ос.
- Подходы к построению защищенных ос
- Административные меры защиты (ос)
- Адекватная политика безопасности
- Разграничение доступа к объектам ос. Основные определения.
- Идентификация, аутентификация и авторизация субъектов доступа. Основные определения.
- Идентификация и аутентификация с помощью внешних носителей ключевой информации.
- Идентификация и аутентификация с помощью биометрических характеристик пользователей.