рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Общее описание виртуальной сегментно-страничной памяти ОС Windows

Общее описание виртуальной сегментно-страничной памяти ОС Windows - Лекция, раздел Компьютеры, Архитектура компьютерной системы Размер Пользовательского Процесса Ограничен Объемом Логического Адресного Про...

Размер пользовательского процесса ограничен объемом логического адресного пространства. Характерный размер логической памяти определяется разрядностью архитектуры и составляет для современных систем 232 (в недалеком будущем 264) байт. Эта величина обычно существенно превышает объем оперативной памяти, поэтому часть пользовательского процесса прозрачным образом может быть размещена во внешней памяти. Поэтому у пользователя создается иллюзия того, что он имеет дело с виртуальной памятью, отличной от реальной, размер которой потенциально больше, чем размер оперативной памяти. В дальнейшем наряду с термином "логическая память" будет употребляться термин "виртуальная память".

Для определения схемы виртуальной памяти, реализованной в ОС Windows, лучше всего подходит термин "сегментно-страничная виртуальная память". Подробное описание сегментно-страничной модели можно найти в [2]. Для нее характерно представление адресного пространства процесса в виде набора сегментов переменного размера, содержащих однородную информацию (данные, текст программы, стек, сегмент разделяемой памяти и др.). Для удобства отображения на физическую память каждый сегмент делится на страницы - блоки фиксированного размера, при этом физическая память делится на блоки того же размера - страничные кадры (фреймы). Функция связывания логического адреса с физическим возлагается на таблицу страниц, которая каждой логической странице сегмента ставит в соответствие страничный кадр. В тех случаях, когда для нужной страницы не находится места в оперативной памяти (page fault), она подкачивается с диска. Заметим, что в каноническом виде данной схемы каждый сегмент процесса находится в отдельном логическом адресном пространстве и использует свою собственную таблицу страниц. Последнее обстоятельство, в силу сложной организации и большого объема таблицы страниц, имеет следствием тот факт, что реальные системы редко придерживаются канонической формы.

Сегментно-страничная модель памяти, реализованная в ОС Windows, также имеет свою специфику. Например, аппаратная поддержка сегментации, предлагаемая архитектурой Intel, используется в минимальной степени, а такие фрагменты адресного пространства процесса, как код, данные и др., описываются при помощи специальных структур данных и называются регионами (regions).

Одна из задач, которая решается при этом, - избежать появления в системе большого количества таблиц страниц за счет организации неперекрывающихся регионов в одном виртуальном пространстве, для описания которого хватает одной таблицы страниц. Таким образом, одна таблица страниц будет отводиться для всех сегментов памяти процесса. То, как это делается можно увидеть на рис. 9.3. Задействовано всего четыре аппаратных сегмента с номерами селекторов 08, 10, 1b и 23. Первый используется для адресации кода ОС и имеет атрибуты RE, второй с атрибутами RW - для данных и стека ОС, третий с атрибутами RE - для кода пользовательского процесса, а четвертый с атрибутами RW - для данных и стека пользовательского процесса. Первые два сегмента недоступны для непривилегированного режима работы процессора.

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

 

 

Рис. 9.3. Образование неперекрывающихся регионов (программных сегментов) в линейном виртуальном адресном пространстве процесса

Любопытно, что наличие у аппаратного сегмента атрибута не является препятствием для нецелевого использования хранимой в сегменте информации. Например, код процесса, находящийся в сегменте 1b, может быть доступен через 23-й сегмент с атрибутами RW. Собственно защита регионов организована на уровне их описателей, которые хранятся в таблице описателей VAD (virtual address descriptors) в адресном пространстве процесса. Таким образом, аппаратная поддержка сегментации обеспечивает лишь минимальную защиту - невозможность доступа к данным ОС из непривилегированного режима. Можно сказать, что в ОС Windows осуществляется программная поддержка сегментации (в данном случае регионов). Между прочим, многие другие ОС (например, Linux) ведут себя аналогично. Программная поддержка сегментов более универсальна и способствует большей переносимости кода. В дальнейшем для обозначения непрерывного фрагмента виртуального адресного пространства, содержащего однородную информацию, будет использоваться термин "регион".

Таблица страниц ставит в соответствие виртуальной странице номер страничного кадра в оперативной памяти. Для описания совокупности занятых и свободных страничных кадров ОС Windows использует базу данных PFN (page frame number). В силу несоответствия размеров виртуальной и оперативной памяти достаточно типичной является ситуация отсутствия нужной страницы в оперативной памяти (page fault). К счастью, копии всех задействованных виртуальных страниц хранятся на диске (так называемые теневые страницы). В случае обращения к отсутствующей странице ОС должна разыскать соответствующую теневую страницу и организовать ее подкачку с диска.

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

Таким образом, деятельность системы управления памятью сводится к созданию регионов (программных сегментов) в виртуальном адресном пространстве, выделения для них места в физической памяти (частично в оперативной памяти и частично на диске) и прозрачное перенаправление обращений к виртуальным адресам к их аналогам в физической памяти. Регионы создаются операционной системой. Иногда это происходит по инициативе пользовательской программы (например, в результате вызова функций VirtualAlloc, CreateFileMapping, CreateHeap и др.). Существенная часть деятельности менеджера памяти связана с оптимизацией. В частности, много усилий затрачивается на сокращение количества обращений к внешней памяти

Перейдем теперь к более детальному рассмотрению описанной схемы. Вначале изучим виртуальное адресное пространство процесса, затем посмотрим, как ключевая информация размещается в физической памяти. Проблема связывания адресов решается, главным образом, за счет аппаратных средств архитектуры, поэтому эти вопросы будут затрагиваться по мере необходимости.

 

– Конец работы –

Эта тема принадлежит разделу:

Архитектура компьютерной системы

Вступительная лекция... Архитектура компьютерной системы Компоненты... Классификация компьютерных систем...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Общее описание виртуальной сегментно-страничной памяти ОС Windows

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Компоненты компьютерной системы
В данной лекции рассмотрим более подробно архитектуру компьютерной системы. Будут рассмотрены следующие вопросы: функционирование компьютерной системы архитектура ввода-выво

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

Обработка прерываний
Прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных или незапланированных действий, вызываемых работой аппаратуры или программы.Т.е. это

Архитектура ввода-вывода
На рис. 4.2 изображена временная диаграмма прерываний процессора, выполняющего ввод-вывод.     увеличить изображение Рис. 4.2. Временная

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

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

Управление процессами.
Подсистема управления процессами непосредственно влияет на функционирование вычислительной системы. Для каждой выполняемой программы ОС организует один или более процессов. Каждый такой процесс пре

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

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

Управление внешними устройствами.
Функции управления внешними устройствами возлагаются на подсистему управления внешними устройствами, называемую также подсистемой ввода-вывода. Она является интерфейсом между ядром компьютера и все

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

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

Пользовательский интерфейс.
ОС обеспечивает удобный интерфейс не только для прикладных программ, но и для пользователя (программиста, администратора). В ранних ОС интерфейс сводился к языку управления заданиями и не требовал

Лекция 3 История создания
Первым этапом развития системного программного обеспечения можно считать использование библиотечных программ, стандартных и служебных подпрограмм и макрокоманд. Концепция библиотек подпрограмм явля

Распределение памяти в однозадачной ОС с пакетной обработкой заданий
    Рис. 2.1. Распределение памяти в простой системе пакетной обработки Оно очень простое: операционная система занимает постоянно смежную облас

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

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

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

Лекция 4 Архитектура операционных систем
Основные части ОС. Ядро (kernel) –низкоуровневая основа любой операционной системы, выполняемая аппаратурой в особом привилегированном режиме(подробно о н

Принцип генерируемости ОС
Основное положение этого принципа определяет такой способ исходного представления центральной системной управляющей программы ОС (ее ядра и основных компонентов, которые должны постоянно находиться

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

Принцип открытой и наращиваемой ОС
  Открытая ОС доступна для анализа как пользователям, так и системным специалистам, обслуживающим вычислительную систему. Наращиваемая (модифицируемая, развиваемая) ОС позволяет не то

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

Общее описание структуры системы
Архитектура ОС Windows (в данном разделе она излагается, следуя главным образом [3] и [6]), претерпела ряд изменений в процессе эволюции. Первые версии системы имели микроядерный дизайн, основанный

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

Ловушки
Общим для реализации рассматриваемых основных механизмов является необходимость сохранения состояния текущего потока с его последующим восстановлением. Для этого в ОС Windows используется ме

Приоритеты. IRQL
В большинстве операционных систем аппаратные прерывания имеют приоритеты, которые определяются контроллерами прерываний. Однако ОС Windows имеет свою аппаратно-независимую шкалу приоритетов, которы

Понятие процесса и потока
На сегодня общепринятым является взгляд на ОС как на систему, обеспечивающую параллельное (или псевдопараллельное) выполнение набора последовательных процессов или просто процессов. Задача ОС состо

Внутреннее устройство процессов в ОС Windows
В 32-разрядной версии системы у каждого процесса есть 4-гигабайтное адресное пространство, в котором пользовательский код занимает нижние 2 гигабайта (в серверах 3 Гбайта). В своем адресном простра

Создание процесса
Обычно процесс создается другим процессом вызовом Win32-функции CreateProcess (а также CreateProcessAsUser и CreateProcessWithLogonW ). Создание процесса осуществляется в несколько этапов.

Состояния потоков
Каждый новый процесс содержит, по крайней мере, один поток, остальные потоки создаются динамически. Потоки составляют основу планирования и могут: выполняться на одном из процессоров, ожидать событ

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

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

Создание потоков
Создание потока инициируется Win32-функцией CreateThread, которая находится в библиотеке Kernel32.dll. При этом создается объект ядра "поток", хранящий статистическую информацию о создава

Контекст потока, переключение контекстов
Особую роль в структурах данных, описывающих потоки, играет контекст потока. Информацию, входящую в состав контекста, необходимо периодически сохранять и восстанавливать в случае возникновения разл

Способы межпроцессного обмена.
Традиционно считается, что основными способами межпроцессного обмена являются каналы и разделяемая память (рис. 7.1), которые базируются на соответствующих объектах ядра.   &

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

Переменная-замок
Одним из возможных не вполне корректных решений проблемы синхронизации является использование переменной-замка. Например, можно сделать условием вхождения в критическую секцию значение 0 некоторой

Синхронизация на основе общих семафоров
Мы уже начали рассматривать семафоры Дейкстры как средство синхронизации в обзорной части курса. Здесь мы рассмотрим их более подробно в общем виде. Общий семафор (counting semaphore)

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги