Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Операционные системы.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.78 Mб
Скачать

Архитектурные средства поддержки виртуальной памяти

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

Страничная виртуальная память

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

Ассоциативная память

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

Естественное решение проблемы ускорения – снабдить компьютер аппаратным устройством для отображения виртуальных страниц в физические без обращения к таблице страниц, то есть иметь небольшую, быструю кэш-память, хранящую необходимую на данный момент часть таблицы страниц. Это устройство называется ассоциативной памятью, иногда также употребляют термин буфер поиска трансляции (translation lookaside buffer – TLB).

Контрольные вопросы:

  1. Какую структуру имеет физическая память компьютера.

  2. Логическая память и понятие сегментации.

  3. Функции системы управления памятью.

  4. Схема с фиксированными разделами.

  5. Оверлейная структура и динамическое распределение.

  6. Страничная, сегментная и сегментно-страничная организация памяти.

  7. Понятие виртуальной памяти.

Лекция 9. Файловые системы

План:

  1. Функции файловой системы.

  2. Файловые системы FAT, VFAT и FAT32.

  3. Основные возможности файловых систем HPFS и NTFS.

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

Существует большое количество файловых систем, созданных для разных уст­ройств внешней памяти и разных операционных систем. В них используются, соответственно, разные принципы размещения данных на носителе. Это системы FAT, FAT32 и NTFS. Знание основных принципов их построения необходимо не только специалисту в области вычислительной техники, но и обыч­ному пользователю. Особенно актуальными становятся знания возможностей файловой системы NTFS, которая сегодня получает все большее распростране­ние.

Функции файловой системы и иерархия данных

Напомним, что под файлом обычно понимают именованный набор данных, орга­низованных в виде совокупности записей одинаковой структуры. Для управления этими данными создаются соответствующие файловые системы. Файловая систе­ма предоставляет возможность иметь дело с логическим уровнем структуры дан­ных и операций, выполняемых над данными в процессе их обработки. Именно файловая система определяет способ организации данных на диске или на каком-нибудь ином носителе. Специальное системное программное обеспечение, реали­зующее работу с файлами по принятым спецификациям файловой системы, часто называют системой управления файлами. Именно системы управления файлами отвечают за создание, уничтожение, организацию, чтение, запись, модификацию и перемещение файловой информации, а также за управление доступом к файлам и за управление ресурсами, которые используются файлами. Назначение системы управления файлами — предоставление более удобного доступа к данным, орга­низованным как файлы, то есть вместо низкоуровневого доступа к данным с ука­занием конкретных физических адресов нужной нам записи используется логи­ческий доступ с указанием имени файла и записи в нем.

Благодаря системам управления файлами пользователям предоставляются следу­ющие возможности:

□ создание, удаление, переименование (и другие операции) именованных набо­ров данных (файлов) из своих программ или посредством специальных управ­ляющих программ, реализующих функции интерфейса пользователя с его дан­ными и активно использующих систему управления файлами;

  • работа с недисковыми периферийными устройствами как с файлами;

  • обмен данными между файлами, между устройствами, между файлом и уст­ройством (и наоборот);

  • работа с файлами путем обращений к программным модулям системы управ­ления файлами (часть API ориентирована именно на работу с файлами);

□ защита файлов от несанкционированного доступа.

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

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

Есть версия системы управления файлами с принципами FAT и для Windows 95/98, есть реализация для Win­dows NT и т. д. Другими словами, для работы с файлами, организованными в соот­ветствии с некоторой файловой системой, для каждой операционной системы должна быть разработана соответствующая система управления файлами. И эта система управления файлами будет работать только в той операционной системе, для которой создана, но при этом обеспечит доступ к файлам, созданным с помо­щью системы управления файлами другой операционной системы, но работаю­щей по тем же основным принципам файловой системы.

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

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

Информация, с которой работает человек, обычно структурирована. Это, прежде всего, позволяет более эффективно организовать хранение данных, облегчает их поиск, предоставляет дополнительные возможности в именовании. Аналогично, и при работе с файлами желательно ввести механизмы структурирования. Проще всего организовать иерархические отношения. Для этого достаточно ввести поня­тие каталога (directory). Каталог содержит информацию о данных, организован­ных в виде файлов. Другими словами, в каталоге должны содержаться дескрипто­ры файлов. Если файлы организованы на блочном устройстве, то именно с помощью каталога система управления файлами будет находить адреса тех блоков, в кото­рых размещены искомые данные. Причем очевидно, что каталогом может быть не только специальная системная информационная структура, которую часто назы­вают корневым каталогом, но и сам файл. Такой файл-каталог должен иметь спе­циальное системное значение; система управления файлами должна его выделять на фоне обычных файлов. Файл-каталог часто называют подкаталогом (subdi­rectory). Если файл-каталог содержит информацию о других файлах, то посколь­ку среди них также могут быть файлы-каталоги, мы получаем возможность стро­ить почти ничем не ограниченную иерархию.

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

Файловая система FAT

Файловая система FAT (File Allocation Table — таблица размещения файлов) по­лучила свое название благодаря простой таблице, в которой указываются:

  • непосредственно адресуемые участки логического диска, отведенные для раз­мещения в них файлов или их фрагментов;

  • свободные области дискового пространства;

  • дефектные области диска (эти области содержат дефектные участки и не га­рантируют чтение и запись данных без ошибок).

В файловой системе FAT дисковое пространство любого логического диска де­лится на две области (рис. 6.1): системную область и область данных.

Рис. 6.1. Структура логического диска в FAT

Системная область логического диска создается и инициализируется при форматировании, а в последующем обновляется при работе с файловой структурой. Область данных логического диска содержит обычные файлы и файлы-каталоги; эти объект образуют иерархию, подчиненную корневому каталогу. Элемент каталога описывает файловый объект, который может быть либо обычным файлом, либо файлом-каталогом. Область данных, в отличие от системной области, доступна через пользовательский интерфейс операционной системы. Системная область состоит из следующих компонентов (расположенных в логическом адресном про­странстве друг за другом):

□ загрузочной записи (Boot Record, BR);

□ зарезервированных секторов (Reserved Sectors, ResSec);

□ таблицы размещения файлов (File Allocation Table, FAT); корневого каталога (Root Directory, RDir).

Таблица размещения файлов

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

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

Файловые системы VFAT и FAT32

Одной из важнейших характеристик исходной файловой системы FAT было ис­пользование имен файлов формата 8.3. К стандартной системе FAT (имеется в виду прежде всего реализация FAT16) добавились еще две разновидности, используемые в широко распространенных ОС от Microsoft (конкретно — в Windows 95 и Windows NT): VFAT (виртуальная система FAT) и система FAT32, используе­мая в одной из редакций ОС Windows 95 и Windows 98. Ныне файловая система FAT32 поддерживается и такими последними системами, как Windows Millennium Edition, Windows 2000 и Windows XP. Имеются реализации FAT32 и для Windows NT, и для Linux.

Основными недостатками файловых систем FAT и VFAT, которые привели к разработке новой реализации файловой системы, основанной на той же идее (таб­лице размещения файлов), являются большие потери на кластеризацию при боль­ших размерах логического диска и ограничения на сам размер логического дис­ка. Поэтому в Microsoft Windows 95 OEM Service Release 2 на смену системе VFAT пришла файловая система FAT32, которая является полностью самостоя­тельной 32-разрядной файловой системой и содержит многочисленные усовер­шенствования и дополнения по сравнению с предыдущими реализациями FAT. Самое принципиальное отличие заключается в том, что FAT32 намного эффек­тивнее расходует дисковое пространство.