Технологии доступа к данным. Файловые системы и базы данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Технологии доступа к данным. Файловые системы и базы данных



В истории вычислительной техники можно проследить две основные области ее применения:

. первая — выполнение численных расчетов, которые слишком трудоемки или которые вообще невозможно про­изводить вручную. Развитие этой области способствовало интенсификации методов численного решения сложных математических задач, развитию языков программирова­ния, становлению обратной связи с разработчиками новых архитектур ЭВМ; • вторая область использования вычислительной техники — в автоматических или автоматизированных информаци­онных системах возникла несколько позже первой. Это связано с тем, что вначале возможности компьютеров по хранению информации были очень ограниченными. В самом широком смысл® информационная система пред­ставляет собой программно-аппаратный комплекс, функции ко­торого состоят в надежном хранении информации в памяти ком­пьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставле­нии пользователям удобного и легко осваиваемого интерфейса.

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

5.1. Файловые системы

С появлением магнитных дисков началась история систем управления данными во внешней памяти [31]. До этого разработчик каждой прикладной программы, которой требова­лось хранить данные во внешней памяти, сам определял распо­ложение каждой порции данных на магнитной ленте или бараба­не и планировал обмены между оперативной памятью и устрой­ствами внешней памяти.

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

Физическая Логические запись записи
Устройство (том)   Каталог   Файл   Блок   Строка   Слова   Символ

Рис. 5.1. Уровни доступа к данным в абстрактной файловой системе

 

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

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

Прежде всего, практически во всех современных компьюте­рах основными устройствами внешней памяти являются маг­нитные диски с подвижными головками, и именно они служат для хранения файлов [24, 25. 31]. Магнитные диски представляют собой пакеты магнитных пластин (платтеров), между которыми на одном рычаге двигается пакет магнитных головок. Шаг движения пакета головок является дискретным, и каждому положению пакета головок логически соответствует ци­линдр магнитного диска. На каждой поверхности цилиндр «вы­секает» дорожку, так что каждая поверхность содержит число до­рожек, равное числу цилиндров. При разметке магнитного диска (специальном действии, предшествующем использованию дис­ка) каждая дорожка размечается на одно и то же количество бло­ков таким образом, что в каждый блок можно записать по мак­симуму одно и то же число байтов. Таким образом, для выпол­нения обмена с магнитным диском на уровне аппаратуры нужно указать номер цилиндра, номер поверхности, номер блока на со­ответствующей дорожке и число байтов, которое нужно записать или прочитать от начала этого блока.

Однако эта возможность обмениваться с магнитными диска­ми порциями меньше объема блока в настоящее время не ис­пользуется в файловых системах. Это связано с двумя обстоя­тельствами:

• аппаратура управления дисками является электронно-меха­нической, и при выполнении обмена с диском выполняются три основных действия: подвод головок к нужному цилинд­ру, поиск на дорожке нужного блока и собственно обмен с этим блоком. Из всех этих действий в среднем наибольшее время занимает первое, механическое действие;

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

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

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

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

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

Известны два базовых варианта:

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

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

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


Компромиссное решение применено в файловых системах ОС UNIX. На базовом уровне в этих файловых системах поддержи­ваются изолированные архивы файлов. Один из этих архивов объявляется корневой файловой системой. После запуска систе­мы можно смонтировать корневую файловую систему и ряд изо­лированных файловых систем в одну общую файловую систему. Технически это производится с помощью создания в корневой файловой системе специальных пустых кататогов. Специальная команда (системный вызов) mount ОС UNIX позволяет подклю­чить к одному из этих пустых каталогов корневой кататог ука­занного архива файлов. После монтирования обшей файловой системы именование файлов производится так же, как если бы она с самого начала была централизованной.

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

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

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

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

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

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

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

Области использования файлов

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

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

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

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

В табл. 5.1 приведены типичные команды обращения к фай­ловым системам, характерные для различных ОС.

Таблица 5.1. Некоторые команды обращения к файловым системам различных ОС [31]

    Система    
Команда(функция) OS/360/370 RSX-11/20 MS DOS UNIX
Подготовка носителей к использованию, работа с каталогами
Инициализация диска, созда­ние файловых систем INIT INI, FMT FDISK, FORMAT mkfs
Создание каталогов в ФС DISP=NEW UFD MK mkdir
Проверка диска, файловой сис­темы DASDR/CHK BAD/CHK CHKDISK fchk
Проверка или установка файло­вых атрибутов DISP=SHR, OLD, NEW - ATTRIB file, chmod

 

Окончание табл. 5. 1
Команда (функция)   Система    
OS/360/370 RSX-11/20 MS DOS UNIX
Удаление каталога DISP=DELETE PIP/DE RD rmdir
  Работа с файлами    
Копировать файл DISP=NEW, DSNANE=NEWFILE PIP A:=B COPY cp
Переместить файл DISP=(0LD, DELETE) PIP A:=B MOVE mv
Переименовать файл DISP=NEW, DSN=NEWFILE PIP A:=B REN, RENAME mv
Удалить файл DISP=DELETE PIP/DE DEL, ERASE rm
Поиск в файле по контексту - - FIND grep, awk
Архивация файла на МД или МЛ DASDR / DUMP-RESTORE BRU (Backup-restore utility) BACKUP RESTORE TAR
Распечатка содержимого файла IEBGENER -PRINT PIP LP:=... TYPE COPY cat
Сравнение файлов - - FC comm (Common) cmp (Compare) diff (difference)

 

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

Структура файловой системы. Как и любая другая система, NTFS делит все полезное пространство диска на кластеры — блоки данных, используемые единовременно. NTFS поддер­живает различные размеры кластеров — от 512 байт до 64 Кбайт, стандартом считается кластер размером 4 Кбайт.

Диск NTFS условно делится на две части (рис. 5.2). Первые 12 % диска отводятся под так называемую MFT-зону — про­странство, в котором размещен метафайл MFT (Master File Table). Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой — это делается для того, что-

MFT-зона

    Место под файлы Место под файлы

MFT

 

Копия первыых записей MFT Рис. 5.2. Структура диска MTFS

бы главный служебный файл (MFT) не фрагментировался при своем расширении. Остальные 88 % лиска представляют собой пространство для размещения файлов.

Свободное место диска, однако, включает в себя все физиче­ски свободное место — незаполненные участки MFT-зоны туда тоже включаются. Механизм использования MFT-зоны таков: когда файлы уже нельзя записывать в обычное пространство, MFT-зона сокращается, освобождая место для записи файлов. При освобождении участка обычной области MFT-зона может снова расшириться.

Структура MFT. Каждый элемент файловой системы NTFS представляет собой файл, даже служебная информация. Как уже говорилось, главный файл NTFS называется MFT, или Master File Table — общая таблица файлов, которая размещается в MFT-зоне и представляет собой централизованный каталог всех остальных файлов диска. MFT поделен на записи фиксированно­го размера (обычно 1 Кбайт), и каждая запись соответствует ка­кому-либо файлу. Первые 16 файлов носят служебный характер и недоступны операционной системе — они называются мета­файлами, причем самый первый из них — сам MFT. Эти пер­вые 16 элементов MFT — единственная часть диска, имеющая фиксированное положение. Остальная часть MFT-файла может располагаться, как и любой другой файл, в произвольных местах диска — восстановить его положение можно с помощью его са­мого, используя за основу первый элемент MFT.

f
\______.

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

Все файлы на томе NTFS идентифицируются номером фай­ла, который определяется позицией файла в MFT. Каждый файл и каталог на томе NTFS определяется набором атрибутов.

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

Загрузочный сектор тома NTFS располагается в начале тома, а его копия — в середине тома. Загрузочный сектор состоит из стандартного блока параметров BIOS, количества секторов в томе, а также начального логического номера кластера основной копии MFT и зеркальной копии MFT.

Каждый атрибут файла NTFS состоит из полей: тип атри­бута, длина атрибута, значение атрибута и, возможно, имя ат­рибута.

■Имеется системный набор атрибутов, определяемых структу­рой тома NTFS. Системные атрибуты имеют фиксированные имена и коды их типа, а также определенный формат. Могут применяться также атрибуты, определяемые пользователями. Их имена, типы и форматы задаются исключительно пользователем. Атрибуты файлов упорядочены по убыванию кода атрибута, причем атрибут одного и того же типа может повторяться не­сколько раз. Существует два способа хранения атрибутов фай­ла— резидентное хранение в записях таблицы MFT и нерезидентное хранение вне ее. Сортировка может осу­ществляться только по резидентным атрибутам. Файлы NTFS состоят, по крайней мере, из атрибутов, приведенных в табл. 5.2.

Размещение файлов. Небольшие файлы (small). Если файл имеет небольшой размер, то он может целиком распола­гаться внутри одной записи MFT размером 2 Кбайт (рис. 5.3, а). Из-за того, что файл может иметь переменное количество атри­бутов, а также из-за переменного размера атрибутов нельзя на­верняка утверждать, что файл уместится внутри записи. Однако, обычно файлы размером менее 1500 бант помешаются внутри записи MFT.

Большие файлы (Large). Если файл не вмешается в одну запись MFT, то этот факт отображается в значении атрибу­та «данные», который содержит признак того, что файл является нерезидентным и находится вне таблицы MFT. В этом случае ат­рибут «данные» содержит номер кластера для первого кластера

Таблица 5.2. Список атрибутов файла (на примере ФС NTFS)
Атрибут Пояснение
  Attribute List Определяет список атрибутов, которые являются допустимыми для данного конкретного файла
  File Name (FN) Содержит длинное имя файла, а также номер входа в таблице MFT для родительского каталога; если этот файл содержится в несколь­ких каталогах, то у него будет несколько атрибутов типа «File Name»; этот атрибут всегда должен быть резидентным
  MS-DOS Name Имя файла в формате 8.3
  Version Атрибут содержит номер последней версии файла
  Security Descriptor (SD) Информация о защите файла: список прав доступа ACL и поле ауди­та, которое определяет, какого рода операции над этим файлом нужно регистрировать
  Volume Version Версия тома, используется только в системных файлах тома
  Volume Name Метка тома
  Volume Information Номер версии NTFS
  Data Содержит обычные данные файла
  MF bitmap Содержит карту использования секторов на томе
  Index Root Корень В-дерева, используемого для поиска файлов в каталоге
  Index Allocation Нерезидентные части индексного списка В-дерева
  External Attribute Information Номер первого кластера и количество кластеров нерезидентного ат­рибута
  Standard Information (SI) Хранит всю остальную стандартную информацию о файле, которую трудно связать с каким-либо из других атрибутов файла, например, время создания файла, время обновления и др.

 

каждого фрагмента данных (data run), а также количество непре­рывных кластеров в каждом фрагменте (рис. 5.3, б).

Очень большие файлы (huge). Если файл настолько велик, что его атрибут данных не помешается в одной записи, то этот атрибут становится нерезидентным, т. е. он размещается в другой записи таблицы MFT, ссылка на которую помещена в ис­ходной записи о файле (рис. 5.3, в). Эта ссылка называется внешним атрибутом (external attribute). Нерезидентный атрибут содержит указатели на фрагменты данных.


н SI FN Data SD

 

 


 

Запись в MFT

Н I SI ЕА I FN SD

Запись в MFT

Н Data

Фрагмент данных | Фрагмент данных j Фрагмент данных~|


Запись в MFT Рис. 5.3. Размещение файлов в NTFS: а — небольшие файлы: Н — заголовок (header); SI — стандартная информация (standard information); FN — имя файла (file name); Data — данные; SD — деск­риптор безопасности (security descriptor); б — большие файлы; в — очень боль­шие файлы: ЕА — внешний атрибут (external attribute); г — сверхбольшие файлы
г

 

 


Сверхбольшие файлы (extremely huge). Для сверх­больших файлов внешний атрибут может указывать на несколько нерезидентных атрибутов (рис. 5.3, г). Кроме того, внешний ат-

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

Каталоги. Каждый каталог NTFS представляет собой один вход в таблицу MFT, который содержит список файлов специ­альной формы, называемый индексом (index). Индексы позволя­ют сортировать файлы для ускорения поиска, основанного на значении определенного атрибута. В файловых системах FAT и HPFS используется сортировка файлов по имени. NTFS позво­ляет использовать для сортировки любой атрибут, если он хра­нится в резидентной форме. Имеется две формы списка файлов.

Небольшие списки файлов (small indexes). Если количество файлов в каталоге невелико, то список файлов мо­жет быть резидентным в записи в MFT, являющейся каталогом. В этом случае он называется небольшим каталогом (рис. 5.4, а). Небольшой список файлов содержит значения атрибутов файла. По умолчанию — это имя файла, а также номер записи MTF, содержащей начальную запись файла.

Большие списки файлов (large index). По мере того, как каталог растет, список файлов может потребовать не­резидентной формы хранения. Однако начальная часть списка

      Список файлов (index)  
н SI FN <a.bat, 27><c.sys, 92>... SD
      <xyz, f(xyz)> <####>  

 

а

Рис. 5.4. Каталоги в NTFS: а — небольшие каталоги (#### — признак конца списка файлов); б — большие каталоги

 

всегда остается резидентной в корневой записи каталога в табли­це MFT (рис. 5.4, б). Имена файлов резидентной части списка файлов являются узлами В-дерева. Остальные части списка фай­лов размещаются вне MFT. Для их поиска используется специ­альный атрибут «размещение списка» (Index Allocation — IA), представляющий собой набор номеров кластеров, которые ука­зывают на остальные части списка. Одни части списков являют­ся листьями дерева, а другие — промежуточными узлами, т. е. со­держат наряду с именами файлов атрибут Index Allocation, ука­зывающий на списки файлов более низких уровней.

Имена файлов

NTFS поддерживает имена файлов длиной до 255 символов. Имена файлов NTFS используют набор символов UNICODE с 16-битовыми символами. NTFS автоматически генерирует под­держиваемое MS-DOS имя для каждого файла. Таким образом, файлы NTFS могут использоваться в сети операционными сис­темами MS-DOS и OS/2.

Поскольку NTFS использует набор символов UNICODE для имен файлов, существует возможность использования некото­рых запрещенных в MS-DOS символов. Для генерации коротко­го имени файла в стиле MS-DOS NTFS удаляет все запрещен­ные символы, точки (кроме одной), а также любые пробелы из длинного имени файла. Далее имя файла усекается до 6 симво­лов, добавляется тильда (~) и номер. Расширение имени файла усекается до 3 символов.

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

Другие особенности ФС

Надежность NTFS. NTFS является восстанавливаемой (recoverable) файловой системой, которая может привести себя в корректное состояние при практически любых реальных сбоях. Любая современная файловая система основана на таком поня­тии, как транзакция — действие, совершаемое целиком и кор­ректно или не совершаемое вообще.

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

При модификации файла специальная компонента файловой системы — сервис регистрации файлов (Log File Service) — фиксирует всю информацию, необходимую для по­вторения (redo) или отката (undo) транзакции в специальном файле с именем $LogFile. Если транзакция не завершается нормально, то NTFS пытается закончить транзакцию (повто­рить) или производит ее откат.

Для обеспечения сохранности пользовательских данных ис­пользуется программная поддержка массивов RAID (Redundant Array of Inexpensive/Independent Disks — см. рис. 5.16) [24, 25]. В сочетании с поддержкой зеркализации дисков или расщепления с контролем четности (RAID 5) NTFS может выдержать любой одиночный сбой. В Windows NT под­держиваются уровни 0, 1 и 5. В RAID 0 данные расщепляются на блоки по 64 Кбайт, поддерживается от 2 до 32 дисков. RAID 1 осуществляется на уровне разделов, т. е. зеркализируются имен­но разделы. При отказе зеркализованного раздела администра­тор должен отменить отношения зеркализации, чтобы использо­вать оставшийся раздел как отдельный том. Затем можно ис­пользовать свободный раздел на другом диске, чтобы вновь установить зеркальные отношения. Зеркализации может быть подвергнут любой раздел, включая загрузочный (Boot Partition). В принципе зеркализация является более дорогим способом, чем другие, так как коэффициент использования дискового про­странства составляет только 50 %, с другой стороны, для неболь­ших сетей это весьма приемлемый вариант, так как для его реа­лизации достаточно только двух дисков.

RAID 5 требует минимум трех дисков (максимум 32 диска), поддерживает файловые системы FAT, NTFS, причем загрузоч­ный раздел не может быть расщеплен. Если отказывает диск, входящий в состав массива RAID 5, то компьютер может про­должать работу и получать доступ к данным. Однако данные от­казавшего диска будут в течение всего времени регенерироваться на основании данных других дисков, и производительность сис­темы может упасть. Можно воссоздать данные отказавшего дис­ка на новом диске. Для этого нужно иметь свободный раздел на каком-либо работоспособном диске равного или большего раз­мера, чем отказавший. Затем запускается процедура восстанов­ления данных из пункта Regenerate меню Fault Tolerance утили­ты Disk Manager.

NTFS поддерживает также «горячее» переназначе­ние секторов, когда при возникновении ошибки из-за нали­чия плохого сектора данные переписываются в новый хороший сектор, а сбойный исключается из работы. Администратор уве­домляется с помощью утилиты просмотра событий Event Viewer о всех событиях, связанных с обработкой сбойных секторов, а также о потенциальной угрозе потери данных, если избыточная копия также отказывает.

Сжатие. NTFS имеет встроенную поддержку сжатия дис­ков _ то, для чего раньше приходилось использовать Stacker или DoubleSpace. Любой файл или каталог в индивидуальном поряд­ке может храниться на диске в сжатом виде — этот процесс про­зрачен для приложений. Сжатие файлов осуществляется с высо­кой скоростью, однако при этом часто возникает отрицательный эффект — фрагментация сжатых файлов. Сжатие осуществляется блоками по 16 кластеров и использует так называемые вирту­альные кластеры — гибкое решение, позволяющее добить­ся полезных эффектов, например, половина файла может быть сжата, а половина — нет. Это достигается благодаря тому, что хранение информации о компрессированное™ определенных фрагментов очень похоже на обычную фрагментацию файлов.

Сжатый файл имеет «виртуальные» кластеры, реальной ин­формации в которых нет. Как только система обнаруживает та-

РГ]ТТзТТГ5 16 | 7 | 8] 9|10|11|12|13|14|15|16|17|18|..Т1 Физические кластеры (на диске) Рис. 5.5. Реализация сжатия данных

 

кие виртуальные кластеры, это означает, что данные предыдуще­го блока, кратного 16 кластерам, должны быть разжаты, а полу­чившиеся данные должны заполнить виртуальные кластеры.

Hard Link — один и тот же файл может иметь два имени (не­сколько указателей файла-каталога или разных каталогов ссыла­ются на одну и ту же MFT-запись). Допустим, один и тот же файл имеет имена l.txt и 2.txt. и если пользователь удалит файл l.txt, останется файл 2.txt, наоборот, если сотрет 2. txt — останется файл 1. txt, т. е. оба имени с момента созда­ния файла равноправны. Файл физически удаляется лишь тогда, когда будет удалено его последнее имя.

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

В табл. 5.3 приведены некоторые характеристики ФС ряда различных ОС.

Таблица 5.3. Сравнительные характеристики ФС ПЭВМ
Характеристика Файловая система
FAT16 FAT32 NTFS
Системы, ее под­держивающие DOS, Windows9X, NT всех версий Windows98, NT5 NT4, NT5
Максимальный раз­мер тома 2 Гбайт Практически не ограничен Практически не ограничен
Максимальное чис­ло файлов на томе Примерно 65 тысяч Практически не ограничено Практически не ограничено
Имя файла С поддержкой длинных С поддержкой длинных 255 символов, любые имен - 255 символов,! имен - 255 символов, символы любых алфави- системный набор системный набор, тов (65 тысяч разных символов! символов!начертаний)
Возможные атрибу­ты файла Базовый набор Базовый набор Любая информация, акту­альная с точки зрения производителей про­граммного обеспечения
Безопасность Нет Нет Начиная с NT 5.0 встроена возможность физически шифровать данные

Окончание табл. 5.3
Характеристика Файловая система
FAT16 FAT32 NTFS
Сжатие Нет; Нет Да
Устойчивость к сбоям Средняя (система слиш- Плохая (средства олтими- ком проста и поэтому зации по скорости приве- мало что подвержено раз- ли к появлению слабых по рушению) надежности мест) Полная - автоматическое восстановление системы при любых сбоях (не счи­тая физические ошибки записи, когда пишется одно, а на самом деле за­писывается другое)
! Экономичность Минимальная (велики размеры кластеров на больших дисках) Улучшена за счет умень­шения размеров класте­ров Максимальна. Очень эф­фективная и разнообраз­ная система хранения данных
Быстродействие Высокое для малого числа файлов, но быстро умень­шается с появлением большого количества фай­лов в каталогах; резуль­тат - для слабо заполнен­ных дисков - максималь­ное, для заполненных - плохое Полностью аналогично FAT, но на дисках большо­го размера (десятки гига­байт) начинаются серьез­ные проблемы с общей организацией данных Система не очень эффек­тивна для малых и про­стых разделов(до 1 Гбайт), но работа с ог­ромными массивами дан­ных и внушительными ка­талогами организована как нельзя более эффек­тивно и очень сильно пре­восходит по скорости дру­гие системы

 

5.2. Базы данных и СУБД

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

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



Поделиться:


Последнее изменение этой страницы: 2017-02-22; просмотров: 316; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.108.11 (0.052 с.)