Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DataAcc.doc byajhvfnbrf.doc
Скачиваний:
23
Добавлен:
02.03.2016
Размер:
759.3 Кб
Скачать

12

2.2. Технологии доступа к данным

2.2.1. Файловые системы (фс)

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

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

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

2.2.1.1. Структуры файлов

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

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

  2. обмен меньшими блоками усложнил бы распределение оперативной памяти.

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

2.2.1.2. Идентификация файлов

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

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

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

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

Компромиссное решение применено в файловых системах UNIX. На базовом уровне в них поддерживаются изолированные архивы файлов. Один из этих архивов объявляется корневой ФС. Можно смонтировать корневую ФС и ряд изолированных ФС в одну общую ФС. Для этого в корневой ФС создаются пустые каталоги. Команда ОСUNIXmountпозволяет подключить к одному из этих пустых каталогов корневой каталог указанного архива файлов. После монтирования общей ФС именование файлов производится в соответствии с правилами именования в централизованных ФС.

2.2.1.3. Защита файлов

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

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

2.2.1.4. Режим многопользовательского доступа

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

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

2.2.1.5. Файловая система NTFS (New Technology File System)

NTFSподдерживает различные размеры кластеров – от 512 байт до 64 Кбайт, стандартом считается 4 Кбайт.

Первые 12% диска отводятся под зону MFT(MasterFileTable).MFT– это метафайл, содержащий описание структуры файлов. Остальные 88% диска отведены под содержимое файлов. В случае переполнения 88%-ой зоны файлы могут размещаться в свободных участкахMFT-зоны. В дальнейшем система снова расширяетMFT-зону в случае освобождения пространства на остальной части диска.

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

MFTделится на записи фиксированного размера (как правило, 1 кбайт). Каждая запись описывает один из файлов. Первые 16 файлов – служебные. Записи о них – единственная фиксированная часть диска. Первый из этих файлов – самMFT.

Каждый файл идентифицируется номером, который определяется позицией файла в MFT. Каждый файл описывается набором атрибутов. Каждый из атрибутов файла состоит из полей: тип атрибута, длина атрибута, значение атрибута и, не обязательно, имя атрибута. Данные (содержимое, контент) файла являются одним из атрибутов файла. Каждый атрибут может быть резидентным, т.е. хранимым непосредственно в записиMFT, и нерезидентным, т.е. хранимым в области диска, адресуемой номером кластера, указанным в записиMFT.

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

Атрибут

Пояснение

1. Attribute List

Определяет список атрибутов, которые являются допустимыми для данного конкретного файла

2. File Name (FN)

Содержит длинное имя файла, а также номер входа в таблице MFT для родительского каталога; если этот файл содержится в нескольких каталогах, то у него будет несколько атрибутов типа «File Name»; этот атрибут всегда должен быть резидентным

3. MS DOS Name

Имя файла в формате 8.3

4. Version

Атрибут содержит номер последней версии файла

5. Security Descriptor (SD)

Информация о защите файла: список прав доступа ACL и поле аудита, которое определяет, какого рода операции над этим файлом нужно регистрировать

6. Volume Version

Версия тома, используется только в системных файлах тома

7. Volume Name

Метка тома

8. Volume Information

Номер версии NTFS

9. Data

Содержит обычные данные файла

10. MFT Bitmap

Содержит карту использования секторов на томе

11. Index Root

Корень В-дерева, используемого для поиска файлов в каталоге

12. Index Allocation

Нерезидентные части индексного списка В-дерева

13. External Attribute Information

Номер первого кластера и количество кластеров нерезидентного ат­рибута

14. Standard Information (SI)

Хранит всю остальную стандартную информацию о файле, которую трудно связать с каким-либо из других атрибутов файла, например, время создания файла, время обновления и др.

Небольшие файлы (small) размещаются непосредственно в записиMFT.

Большие файлы (large) размещаются внеMFT-зоны, а в атрибутеDataзаписиMFTсодержится последовательность описаний фрагментов файла. Каждое описание состоит из номера кластера начала фрагмента и количества фрагментов в кластере.

Очень большие файлы (huge) отличаются от больших тем, что атрибутDataне может поместиться в одну записьMFT. В этом случае последовательность описаний фрагментов файла размещается в отдельной записиMFT, а ссылка на эту запись помещается в атрибутExternalAttributeInformationзаписиMFT.

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

Каталог – это файл, атрибут IndexRootкоторого содержит список файлов, входящих в каталог. Для небольших каталогов (smallindexes) этот атрибут является резидентным. Список файлов хранится в виде бинарного дерева, что позволяет выполнять поиск и сортировку файлов в каталоге по любому резидентному атрибуту. Большие каталоги (largeindexes) размещаются в виде нескольких файлов, находящихся вне зоныMFT, описание которых содержится в атрибутеIndexAllocation.

Каждое имя файла может содержать до 255 16-битных символов UNICODE.

Надежность NTFSобеспечивается следующими средствами:

  1. Хранение копии первых трех системных файлов в логическом центре диска.

  2. Транзакционный принцип работы и хранение информации о транзакции в специальном файле журнала.

  3. Программная поддержка RAID-массивов.

  4. Оперативное обнаружение сбойных секторов и ведение их реестра.

Рис. 5.3. Размещение файлов в МТР5:

а — небольшие файлы: H — заголовок (Header); SI — стандартная информация (Standard Information); FN — имя файла (File Name); Data — данные; SD — дескриптор безопасности (SecurityDescriptor);6 — большие файлы;в — очень большие файлы: EA — внешний атрибут (External Attribute); г — сверхбольшие файлы

К преимуществам NTFSотносятся также:

  1. Встроенная функциональность быстрого сжатия.

  2. Поддержка множества имен (ссылок) одного файла.

  3. Поддержка шифрования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]