Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Виртуальная память в ОС Windows




Виртуальная память в ОС Windows

 

Всем процессам в операционной системе Windows предоставляется важнейший ресурс – виртуальная память (virtual memory). Все данные, с которыми процессы непосредственно работают, хранятся именно в виртуальной памяти.

Операционная система предоставляет процессу виртуальное адресное пространство (ВАП, virtual address space) определенного размера и процесс может работать с ячейками памяти по любым виртуальным адресам этого пространства, не задумываясь о том, где реально хранятся данные.

Размер виртуальной памяти теоретически ограничивается разрядностью операционной системы. На практике в конкретной реализации операционной системы устанавливаются ограничения ниже теоретического предела.

Например, для 32-разрядных систем (x86), которые используют для адресации 32 разрядные регистры и переменные, теоретический максимум составляет 4 ГБ (232 байт = 4 294 967 296 байт = 4 ГБ). Однако для процессов доступна только половина этой памяти – 2 ГБ, другая половина отдается системным компонентам.

В 64 разрядных системах (x64) теоретический предел равен 16 экзабайт (264 байт = 16 777 216 ТБ = 16 ЭБ). При этом процессам выделяется 8 ТБ, ещё столько же отдается системе.

 Виртуальная память делится на блоки одинакового размера – виртуальные страницы. В Windows страницы бывают большие (x86 – 4 МБ, x64 – 2 МБ) и малые (4 КБ). Физическая память (ОЗУ) также делится на страницы точно такого же размера, как и виртуальная память. Общее количество малых виртуальных страниц процесса в 32 разрядных системах равно 1 048 576 (4 ГБ / 4 КБ = 1 048 576).

Обычно процессы задействуют не весь объем виртуальной памяти, а только небольшую его часть. Соответственно, не имеет смысла (и, часто, возможности) выделять страницу в физической памяти для каждой виртуальной страницы всех процессов. Вместо этого в ОЗУ (говорят, «резидентно») находится ограниченное количество страниц, которые непосредственно необходимы процессу. Такое подмножество виртуальных страниц процесса, расположенных в физической памяти, называется рабочим набором процесса (working set).

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

 

 

ФАЙЛЫ

 

Логическая и физическая структура файла

 

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

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

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

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

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

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

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

1. Служебный блок может хранить последовательность кластеров, входящих в набор данных

 

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

2. Наборы данных размещаются в последовательных кластерах. В этом случае в служебном блоке достаточно хранить номер первого и последнего кластера.

Этот метод организации неудобен при частых изменениях. При увеличении размера набора данных нужно или всегда иметь достаточное количество свободных последовательных кластеров, или каждый раз перемещать наборы данных на свободное место. Такой подход положен в основу организации данных на CD-ROM носителях.

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

 


Если рассматривать физическую структуру, то на самом низком уровне данные представлены в виде магнитных доменов, которые объединяются в сектора – минимально адресуемые области диска. Один магнитный домен представляет собой один бит информации, размер сектора обычно составляет 512 байт, хотя это значение может быть изменено при создании дискового раздела.

 

Идентифицируется сектор при помощи номера считывающей головки, номера дорожки и номера сектора на дорожке.

 

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

Каталог, находящийся на верхнем уровне иерархии, называется корневым.

Использование каталогов обусловлено следующими факторами:

- ускорение поиска файла;

- дают возможность уйти от уникальности имен файлов. Каждый файл должен иметь уникальное имя, но только в пределах своего каталога:

- классификация файлов.

 

С точки зрения хранения каталог – это файл особого вида, в котором записаны имена и атрибуты содержащихся в нем файлов. В отличие от обычных файлов к каталогам невозможен последовательный доступ. Работая с каталогом, пользователь работает с отдельными записями в нем.

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...