Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Файловые системы линейки операционных систем Windows




 

Первая версия операционной системы Windows 95 использовала файловую систему MS-DOS, с именами файлов, состоящими из 8 + 3 символов[7] и системами FAT-12 и FAT-16.

Файловая система MS-DOS представляла собой увеличенную и улучшенную версию файловой системы СР/М, которая работала только на платформах с центральным процессором Intel, не поддерживала многозадачности и работала только в реальном режиме IBM PC. В первой версии операционной системы MS-DOS 1.0 был всего один каталог, во второй версии был произведен переход на иерархическую файловую систему, в которой каталоги могли вкладываться друг в друга на произвольную глубину.

Хотя каталоги в файловой системе MS-DOS имели переменный размер, но используемые каталоговые записи имели фиксированный размер 32 байт (рис. 4.19.). Описатель файла содержал: имя файла, его атрибуты, дату и время создания, номер начального блока и точный размер файла. Имена файлов короче 8 + 3 символов выравнивались по левому краю полей и дополнялись пробелами, каждое поле отдельно. Поле Attributes (атрибуты) представляло собой поле, содержащее биты, которые указывали тип файла (заархивирован, системный или скрытый) и действия, которые ему разрешены (чтение или чтение и запись). Запись в файл, для которого разрешено только чтение, не разрешалась; так осуществлялась защита файлов от случайной записи или удаления.

Бит archived (архивный файл) не устанавливался и не проверялся операционной системой. Он был зарезервирован в описателе для архивирующих программ уровня пользователя, сбрасывающих этот бит при создании резервной копии файла, в то время как программы, модифицирующие файл, устанавливали этот бит. Таким образом, архивирующая программа определяла файлы, подлежащие архивации. Бит hidden (скрытый файл) позволял не отображать файл в перечне файлов каталога, и скрывал от неопытных пользователей файлы, назначение которых им неизвестно. Бит system (системный) также скрывал файлы и защищал их от случайного удаления командой del, он устанавливался у основных компонентов операционной системы MS-DOS.

 

Байты 8              
               
Имя файла Расширение Атрибуты Зарезервировано Дата Время № 1-ого блока Размер

 

 
 
Рис. 4.19. Формат каталоговой записи в системе MS-DOS

 


Каталоговая запись содержала дату и время создания или последнего изменения файла. Время хранилось с точностью ±2 секунды, так как для него было отведено 2-байтовое поле, способное содержать 65536 уникальных значений. Поле времени разбивалось на подполя: секунды (5 бит), минуты (6 бит) и часы (5 бит). Шестнадцатиразрядное поле даты также разбивалось на три подполя: день (5 бит), месяц (4 бит) и год (7 бит).

Файловая система MS-DOS сохраняла точный размер файла и номера блоков файла в таблице размещения файлов FAT (File Allocation Table), которая помещалась в оперативную память. FAT представляла собой линейную табличную структуру данных со сведениями о файлах (именами файлов, их атрибутами и другими данными, определяющими местоположение файлов или их фрагментов в среде FAТ). Элемент FAТ определял фактическую область диска с началом физического файла. В файловой системе FAT логическое дисковое пространство любого логического диска состояло из двух областей:

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

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

Таблица размещения файлов представляла собой карту (образ) области данных, в которой описывалось состояние каждого участка области данных. Область данных разбивалась на кластеры – один или несколько смежных секторов в логическом дисковом адресном пространстве, объединенных в единый дисковый блок. Кластер – минимальная адресуемая единица дисковой памяти, выделяемая файлу или некорневому каталогу. Например, в FAT16 размер кластера составлял 32 Кбайт. Так как файл или каталог занимал целое число кластеров, то последний кластер часто был задействован не полностью, что приводило к потере дискового пространства.

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

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

В каталоговой записи хранился только номер первого блока файла, который использовался в качестве индекса для 64 К[8] элементов FAT -таблицы. В зависимости от количества блоков на диске, в операционной системе MS-DOS использовались три версии файловой системы FAT: FAT-12, FAT-16 и FAT-32. Во всех файловых системах FAT размер блока диска в байтах мог быть установлен равным некоторому числу, кратному 512 с наборами разрешенных размеров блоков (кластеров), различными для каждого варианта FAT.

В первой версии системы MS-DOS использовалась FAT-12 с 512- байтовыми блоками, что позволяло создавать дисковые разделы размером до 212 х 512 байт. При этом максимальный размер дискового раздела мог составлять 2 Мбайт, а в оперативной памяти FAT -таблица занимала 4096 элементов по два байта каждый. Такая система хорошо работала на гибких дисках. Для работы на жестких дисках корпорация Microsoft решила использовать дисковые блоки (кластеры) размером 1,2 и 4 Кбайт, что позволило сохранить структуру и размер таблицы FAT-12 и увеличить размер дискового раздела до 16 Мбайт.

Так как MS-DOS поддерживала до четырех дисковых разделов, файловая система FAT-12 могла работать с дисками емкостью до 64 Мбайт. Для поддержки жестких дисков большего размера была разработана файловая система FAT-16 с 16-разрядными дисковыми указателями. Дополнительно было разрешено использовать кластеры размеров 8, 16 и 32 Кбайт. Таблица FAT-16 занимала 128 Кбайт оперативной памяти. Максимальный размер дискового раздела составлял 2 Гбайт, диска – 8 Гбайт (4 раздела по 2 Гбайт каждый).

Для второй версии операционной системы Windows 95 была разработана файловая система FAT-32 с 28-разрядными адресами и версия операционной системы MS-DOS, лежащая в основе Windows 95, была адаптирована для ее поддержки. Размер разделов увеличился до 2 Тбайт (2048 Гбайт) и 8-гигобайтный диск мог состоять из одного раздела. Файловая система FAT32 обеспечивала оптимальный доступ к жестким дискам, CD-ROM и сетевым ресурсам, повышала скорость и производительность всех операций ввода/вывода. Размер кластера в FAТ32 составлял 4 Кбайт. Принципиальное отличие FAТ32 заключалось в более эффективном использовании дискового пространства за счет использования кластеров меньшего размера и экономии дискового пространства. FAТ32 могла перемещать корневой каталог и использовать свою резервную копию. Расширенная загрузочная запись позволяла создавать копии критических структур данных, что повышало устойчивость дисков к нарушениям структуры FAT по сравнению с предыдущими версиями. Корневой каталог представлял собой обычную цепочку кластеров, поэтому мог находиться в произвольном месте диска, что снимало ограничение на его размер.

В операционных системах Windows 98 и Windows Me использовалась также файловая система FAT-32, но дополненная новой системой поддержки длинных имен, обладавшей обратной совместимостью со старой системой имен 8 + 3. Изменение каталоговой записи состояло в добавлении пяти новых полей на место неиспользовавшихся 10 байт (рис. 4.19; рис. 4.20.).


 

Поле «NT» использовалось для совместимости с Windows NT и обеспечивало отображение имени файла в правильном регистре. Поле «Время создания» (Creation time) было дополнено восьмью дополнительными разрядами, что позволило хранить поле с точностью до 10 мс. Поле «Дата последнего доступа» (Last access) использовалось для хранения даты последнего доступа к файлу. Поле «Старшие 16 бит № начального блока» было создано в связи с переходом на файловую систему FAT-32 для хранения старших разрядов номера начального блока файла. Для предоставления длинным именам файлов обратной совместимости с MS-DOS каждому файлу назначалось два имени:

- длинное имя файла (в формате Unicode, для совместимости с Windows NT);

- имя формата 8 + 3 для совместимости с операционной системой MS-DOS.

При создании файла, имя которого не удовлетворяло правилам MS-DOS, создавалось дополнительное имя формата MS-DOS в соответствии с определенным алгоритмом. Использовались первые шесть символов имени, которые при необходимости преобразовывались в верхний регистр ASCII, после чего к ним добавляется суффикс «~ 1». Если такое имя уже было, то использовался суффикс «~ 2) и т.д. Кроме того, удалялись пробелы и лишние точки, а определенные символы преобразовывались в символы подчеркивания. Например, имя файла «The time has come» получало формат MS-DOS «THETIM~1».

Имя формата MS-DOS хранилось в каталоге в описателе (рис. 4.21.). Если у файла было длинное имя, оно хранилось в одной или нескольких каталоговых записях, предшествующих описателю файла с именем в формате MS-DOS. Каждая такая запись содержала до 13 символов формата Unicode. Элементы имени хранились в обратном порядке, начинаясь перед описателем файла в формате MS-DOS и последующими фрагментами перед ним.


Для отличия каталоговых записей, содержащих длинные и короткие имена файла в поле «Атрибуты» (Attributes) для фрагмента длинного имени устанавливалось значение «0x0F», что соответствовало невозможной комбинации атрибутов для описателя файла в MS-DOS. Старые программы, написанные для работы в MS-DOS, при чтении каталога игнорировали такие описатели. Порядок фрагментов имени учитывался в первом байте каталоговой записи. Последний фрагмент имени отмечался добавлением к порядковому номеру числа 64. Поскольку для порядкового номера использовалось 6 бит, максимальная длина имени файла могла составить 63 х 13 = 819 символов, но практически ограничивалась 260 символами. Каждый фрагмент длинного имени содержал поле «Контрольная сумма» (Checksum) во избежание проблем с переводом длинных имен файлов в короткие имена.

Файловая система FAT не обеспечивала функций защиты данных и автоматического восстановления, поэтому она использовалась только в случае, когда альтернативной операционной системой на компьютере была MS-DOS или Windows 95/98, а также для передачи данных на гибких дисках.

Операционная система Microsoft Windows XP в бета версиях, известная как Microsoft Codename Whistler, является продолжением линейки Windows NT. Это полностью 32 разрядная операционная система с приоритетной многозадачностью. В ее основе лежали следующие базовые принципы:

- совместимость – поддержка файловых систем FAT 16, FAT32 и NTFS, поддержка приложений написанных под DOS, Windows 9x, Windows NT и некоторых приложений написанных под OS/2 и POSIX;

- переносимость – реализация поддержки процессоров разных архитектур;

- реализация системы безопасности на уровне пользователей.

Первоначально Microsoft планировала разработку двух независимых операционных систем – Neptun (продолжение Windows 9x) и Odyssey (продолжение линейки Windows NT). Однако впоследствии планы корпорации изменились и обе разработки были объединены в один проект Windows XP – операционную систему с полностью переработанным интерфейсом, новыми возможностями и более высоким уровнем обеспечения безопасности. Возможность поддержки различных файловых систем в линейке современных операционных систем семейства Windows заложена в архитектуре системы ввода-вывода, которая отвечает за обработку запросов ввода-вывода и обеспечивает выполнение следующих задач:

- работу сверхпроизводительных операций ввода-вывода;

- возможность использования асинхронного ввода-вывода;

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

- модульную архитектуру, с возможностью добавления новых файловых систем и устройств;

- предоставление расширенных возможностей, например кэширования;

- защиту совместно используемых ресурсов.

Список зарегистрированных файловых систем можно посмотреть с помощью утилиты WinObj. У каждой системы есть свои полезные свойства, но возможности защиты и аудита различны. На выбор файловой системы оказывают влияние следующие факторы: цель, для которой предполагается использовать компьютер, аппаратная платформа, количество жестких дисков и их объем, требования к безопасности, используемые в системе приложения. Операционная система Windows XP поддерживает работу со следующими файловыми системами:

- FAT (File Allocation Table) – файловая система, разработанная для MS-DOS и являющаяся основной для Windows 3.x и 9x. Windows XP и Windows Server 2003 поддерживают три разновидности FAT: FAT12, FAT16 и FAT32 (первые две обеспечивают совместимость со старыми операционными системами Microsoft, дополнительно FAT12 используется как формат хранения данных на гибких дисках);

- NTFS (Windows NT file system) – файловая система, разработанная специально для Windows NT и унаследованная Windows 2000, Windows XP, Windows 2003;

- CDFS (Compact Disk File System) – файловая система компакт-дисков;

- UDF (Universal Disk Format) – универсальный формат дисков, используемый современными магнитооптическими накопителями и технологией DVD;

- DFS (Distributed File System) – распределенная файловая система.

Файловая система NTFS. NTFS, New Technology File System – новая технология файловой системы специально разработанная для Windows NT и усовершенствованная в более поздних версиях Windows. Она обладает характеристиками защищенности, поддерживая контроль доступа к данным и привилегии владельца, играющие важную роль в обеспечении целостности конфиденциальных данных. Папки и файлы NTFS могут иметь назначенные им права доступа вне зависимости от того, являются они общими или нет. Если файл будет скопирован из раздела или тома NTFS в раздел или на том FAT, все права доступа и другие уникальные атрибуты, присущие NTFS, будут утрачены. NTFS использует 64-разрядные индексы кластеров (табл. 4.3.), но Windows XP ограничивает размеры томов NTFS до значений, при которых возможна адресация 32-разрядными кластерами, то есть до 128 Тб (с использованием кластеров по 64 Кб).

 

Таблица 4.3

Размеры кластеров на томах NTFS

 

№ п/п Размер тома (Мб) Размер кластера
  512 Мб и менее 512 байт
  513 - 1024 Мб 1 Кб
  1025 -2048 Мб 2 Кб
  более 2048 Мб (2 Гб) 4 Кб

 

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

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

Под управлением NTFS с помощью механизма cluster remapping выполняются операции, позволяющие определять дефектные кластеры и отводить новые кластеры для файловых операций. NTFS, по сравнению с FAT, поддерживает ряд дополнительных возможностей:

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

2. Динамическое с жатие файлов и каталогов. Сжатие является атрибутом файла или каталога, который можно снять или установить. Сжатие возможно только на разделах, размер блока которых не превышает 4096 байтов. Если каталог имеет атрибут сжатый (compressed), все файлы, копируемые в него, тоже получат этот атрибут. Производительность компьютера при использовании сжатых файлов возрастает до 50% в зависимости от типа хранимых данных. Такой результат достигается за счет повышения загрузки процессора в 3-5 раз. Однако на больших (более 4 Гб) разделах и на отказоустойчивых томах производительность заметно снижается. Поэтому рекомендуется использовать функцию сжатия на небольших томах в компьютерах с быстрыми процессорами или в многопроцессорных системах.

3. Поддержка многопоточных файлов. Можно создать несколько разных версий файлов (например, одну версию на русском языке, другую – на английском языке) и пересылать их вместе, но удобнее использовать специальную версию текстового процессора, в меню которого можно указать желаемый язык документа, и он будет извлечен из одного общего файла. Для реализации такой функциональности применяются именованные потоки NTFS. При создании нового файла (например, текстовым редактором), данные по умолчанию заносятся в неименованный поток файла. Однако у того же файла могут быть и именованные потоки, которые записываются следующим образом: файл.txt: первый поток; файл.txt: второй поток; файл.txt: третий поток. В каждый из этих потоков заносится своя информация. При копировании многопоточного файла на диск, отформатированный под FAT, операционная система предупредит о потере данных; при копировании посредством командной строки скопирован будет только неименованный поток и система не предупредит о потере данных.

4. Отслеживание связей. В Windows XP/Windows 2003 работает служба отслеживания изменившихся связей (Distributed Link Tracking), которая позволяет приложениям находить ресурс, соответствующий данному ярлыку, и связи OLE даже в случае, если этот ресурс был переименован или перенесен в другое место дерева папок. Каждая связь состоит из двух частей – клиента и источника (например, если документ Word содержит связь OLE с электронной таблицей Excel, документ является клиентом связи, а электронная таблица – источником связи). Служба отслеживания восстанавливает разрушенную связь в случаях, если:

- источник связи был переименован;

- источник связи был перемещен с одного тома NTFS 5.0 на другой в пределах одного компьютера;

- источник связи был перемешен с тома NTFS 5.0 одного компьютера на том NTFS 5.0 другого компьютера;

- том NTFS 5.0 с источником связи был физически перемещен с одного компьютера на другой компьютер в пределах одного домена;

- компьютер, на котором находится том NTFS 5.0 с источником связи, был переименован, но остался в том же домене;

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

В версии NTFS 5.0 во время работы службы отслеживания связей, тома NTFS 5.0 не могут быть блокированы, поэтому для них нельзя выполнить форматирование и запуск утилиты chkdsk /f; выполнить операции можно только после остановки работы службы отслеживания связей.

5. Квоты дискового пространства. В случае одновременной работы нескольких пользователей возникают ситуации учета дискового пространства, занятого их файлами. Администратор может квотировать дисковое пространство (в разделе с NTFS 5.0) по каждому тому и для каждого пользователя[9] с помощью локальных или доменных групповых политик. Windows учитывает пространство, занимаемое файлами контролируемого пользователя, если пользователь владеет файлом, то его размер добавляется к дисковому пространству пользователя. После установки квот дискового пространства пользователь может хранить на томе ограниченный объем данных. В случае превышения квоты в журнал событий вносится соответствующая запись и в зависимости от конфигурации системы, пользователь может записать информацию на том (более мягкий режим), либо ему будет отказано в записи.

6. Точки повторной обработки (reparse points). Точка повторной обработки – это контролируемый системой атрибут, который может быть ассоциирован с папкой или файлом и который позволяет выполнять при открытии папки или файла заранее созданный программный код. Значением атрибута являются задаваемые пользователем данные, максимальный размер которых может достигать 16 Кбайт. Данные представляют собой 32-разрядный ярлык, указывающий, какой фильтр файловой системы должен быть извещен о попытке получения доступа к данной папке или файлу. Фильтр выполняет заранее определенный код, предназначенный для управления процессом доступа. Так как фильтр файловой системы может полностью изменить способ отображения данных файла, то он устанавливается только администраторами системы. Если система не сможет найти фильтр, то доступ к папке или файлу не будет предоставлен, однако фильтр может быть удален. Точки повторной обработки используются при создании соединений папок NTFS, позволяющих перенаправлять запрос к папке или файлу в другое место файловой системы.

7. Точки соединения NTFS. Точки соединения (junction point) позволяют отображать целевую папку в пустую, находящуюся в пространстве имен NTFS 5.0, и служат для создания общего пространства имен хранения информации. Целевой папкой может служить любой допустимый путь Windows. Точки соединения прозрачны для приложений, исключением является случай, когда информация об определенной точке соединения необходима программе для работы. Прозрачность означает, что приложение или пользователь, осуществляющий доступ к локальной папке NTFS, автоматически перенаправляются к другой папке. Доступ к локальным томам файловой системы, подключенным с помощью точки соединения, может быть получен даже в случае, если томам не присвоены имена.

8. Шифрование данных. Шифрование обеспечивается компонентом «Encrypted File System, EFS», который представляет собой механизм защиты данных, поскольку зашифрованные данные могут быть доступны только пользователю, имеющему специальный ключ для расшифровки. EFS обеспечивает следующие функции:

- прозрачное шифрование – шифрование/расшифровка происходят прозрачно при чтении или записи файла на диск и не требуют от владельца файла расшифровывать/зашифровывать файл при каждом к нему обращении;

- защита ключей шифрования – в EFS ключи, используемые для шифрования файла, зашифрованы наиболее эффективным открытым ключом сертификата пользователя (стандарт Х.509 v3), который хранится вместе со списком зашифрованных уникальных ключей, использованных для шифрования файла; для расшифровки этих ключей владелец файла использует свой закрытый ключ;

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

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

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

Windows XP содержит утилиту CONVERT.EXE, которая преобразует тома FAT или FAT32 в эквивалентные тома NTFS. Также преобразовать файловую систему в NTFS можно при установке Windows XP, положительно ответив на вопрос о преобразовании в процессе установки.

Каждый том NTFS (дисковый раздел) содержит файлы, каталоги, битовые массивы и другие структуры данных и организован как линейная последовательность блоков (кластеров). Размер блока фиксирован для каждого тома и варьируется в пределах от 512 байт до 64 Кбайт, в зависимости от размера тома. Обращение к блокам осуществляется по их смещению от начала тома, для которого используются 64-разрядные числа. Основной структурой данных в каждом томе является главная файловая таблица MFT (Master File Table), представляющая собой линейную последовательность записей фиксированного размера (рис. 4.22.).

 

 
 

 

   
  … …
   
  Первый файл пользователя
  Зарезервировано на будущее
  Зарезервировано на будущее
  Зарезервировано на будущее
  Зарезервировано на будущее
  Расширение: квоты и т.д.
  Таблица преобразования регистра
  Описатели защиты для всех файлов
  Список дефектных блоков
  Начальный загрузчик
  Битовый массив использованных блоков
  Корневой каталог
  Определения атрибутов
  Файл тома
  Журнал для восстановления
  Зеркальная копия MFT
  Главная файловая таблица

 

 

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

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

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

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

Каждая запись MFT содержит последовательность пар (заголовок атрибута, значение), которые хранятся в файле $AttrDef. Запись 4 содержит информацию о файле $AttrDef. Запись 5 содержит информацию о корневом каталоге, который представляет собой файл и может произвольно увеличиваться в размерах. Запись 6 содержит атрибуты и дисковые адреса битового массива, который является файлом и учитывает свободное место на диске. Запись 7 указывает на файл начальной загрузки.

Запись 8 используется для связи всех дефектных блоков и гарантии, что они никогда не встретятся в файлах. Запись 9 содержит информацию о защите. Запись 10 используется для преобразования регистра (для символов латинского алфавита от А до Z преобразование регистра не представляет проблем, для других языков файл содержит необходимые инструкции). Запись 11 представляет собой каталог, содержащий различные файлы для дисковых квот, идентификаторов объектов, точек повторного анализа и т.д. Последние четыре записи таблицы MFT зарезервированы на будущее.

Каждая запись MFT состоит из заголовка записи, за которым следует последовательность пар (заголовок, атрибут, значение). Заголовок записи содержит: специальное число, используемое для проверки действительности записи; порядковый номер, обновляемый каждый раз, когда запись используется для нового файла; счетчик обращений к файлу; действительное количество байт, используемых в записи; идентификатор (индекс, порядковый номер) базовой записи (используемый только для записей расширения); и другие поля. Далее располагается заголовок первого атрибута, за которым идет значение первого атрибута, потом заголовок второго атрибута, значение второго атрибута и т.д. В файловой системе NTFS определено 13 атрибутов (табл. 4.4.).

 

Таблица 4.4.

Атрибуты, используемые в записях MFT

 

№ п/п Атрибут Описание атрибута
  Стандартная информация Флаговые биты, временные штампы и др.
  Имя файла Имя файла в кодировке Unicode, может быть повторено для ОС MS-DOS
  Описатель защиты В новых версиях информация располагается в атрибуте $Extend$Secure
  Список атрибутов Расположение дополнительных записей MFT
  Идентификатор объекта 64-разрядный идентификатор файла, уникальный для данного тома
  Точка повторного анализа Используется для монтирования и символьных ссылок
  Название тома Название тома (используется только в $Volume)
  Информация о томе Версия тома (используется только в $Volume)
  Корневой индекс Используется для каталогов
  Размещение индекса Используется для очень больших каталогов
  Битовый массив Используется для очень больших каталогов
  Поток данных утилиты регистрации Управляет регистрацией в файле $LogFile
  Данные Поточные данные; может повторяться

 

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

Стандартное информационное поле имеет фиксированную длину и содержит: сведения о владельце файла, информацию о защите, временные штампы, необходимые для стандарта POSIX, счетчик жестких связей, бит «только чтение», архивный бит и др. Имя файла хранится в кодировке Unicode в поле переменной длины. Чтобы старые 16-разрядные программы могли работать с файлами, файлы также могут содержать имена формата MS-DOS 8+3. Если имя файла удовлетворяет правилам именования файлов в MS-DOS, то второе имя не используется.

В операционной системе Windows NT 4.0 информация о защите файла содержалась в атрибуте файла, но в Windows 2000 эти данные хранятся в отдельном файле, что позволяет нескольким файлам совместно пользоваться общими описателями защиты. Список атрибутов нужен на случай, если атрибуты не помещаются в запись MFT. Каждая запись в списке содержит 48-разрядный индекс в таблице MFT, указывающий на запись расширения, а также 16-разрядный порядковый номер, позволяющий проверить соответствие записи расширения и базовой записи.

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

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

Файловая система CDFS. В Windows XP, Windows 2000, Windows 2003 поддерживается файловая система компакт-дисков CDFS, выполненная по стандарту ISO 9660, которая определена в 1988 году как стандарт форматирования только для чтения для носителей информации на CD-ROM. Поддержка CDFS была введена в Windows NT 4.0. Реализация в Windows включает в себя поддержку длинного имени файла, определяемую Уровнем 2 стандарта Международной организации по стандартизации ISO 9660. CDFS обслуживается драйвером \ Windows \ System32 \ Drivers \ Cdfs.sys, поддерживающим форматы ISO-9660 и расширение формата Joliet, который поддерживает Unicode -имена произвольной длины. Если на диске присутствуют структуры для обоих форматов (чтобы обеспечить максимальную совместимость), CDFS использует формат Joliet. CDFS имеет ряд ограничений:

- длина имени каталога и файла должны быть меньше чем 32 символа;

- глубина дерева каталогов может быть не больше, чем восемь уровней;

- максимальная длина файлов не должна превышать 4 Гб;

- число каталогов не может превышать 65535.

CDFS считается унаследованным форматом, поскольку индустрия уже приняла в качестве стандарта для носителей, предназначенных только для чтения, универсальный дисковый формат UDF (Universal Disk Format).

Файловая система UDF. UDF – универсальный формат дисков представляет собой файловую систему, соответствующую стандарту Международной Организации по Стандартизации ISO 13346, предназначенную для доступа к DVD-ROM и CD-ROM. UDF определяется Ассоциацией по технологии оптического хранения данных (OSTA) и разработан для замены CDFS и поддержки устройств DVD-ROM. Поддержка формата UDF была введена в Windows 2000 и включала в себя поддержку только чтения дисков. Начиная с Windows XP, осуществляется поддержка чтения и записи данных на диск. В Windows XP / Windows 2003 включена собственная поддержка чтения-записи оптических дисков DVD-RAM и возможность чтения формата UDF 2.01, включая DVD -диски и DVD -видео. UDF, в отличие от CDFS, имеет особенности: длина имени файла может быть до 254 символов в ASCII -кодировке или до 127 символов в Unicode -кодировке; максимальная длина пути – 1023 символа; имена файлов могут включать буквы верхнего и нижнего регистра; файлы могут быть разреженными (sparse); размеры файлов задаются 64-битными значениями.

Файловая система UDF в Windows является UDF -совместимой реализацией OSTA – подмножеством формата ISO-13346 с расширениями для поддержки CD-R, DVD-R/RW и т.д. Организации по Стандартизации определила UDF в 1995 году как формат магнитооптических носителей, главным образом DVD-ROM, предназначенный для замены формата ISO-9660. Формат UDF включен в спецификацию DVD и более гибок, чем CDFS. Драйвер UDF (\ Windows \ System32 \ Drivers \ Udfs.sys) поддерживает UDF версии 1.02 и 1.5 в Windows 2000 и версий 2.0 и 2. 01 в Windows XP и Windows Server 2003.

Файловая система DFS. DFS (Distributed File System) – распределенная файловая система, которая позволяет объединить серверы и предоставляемые в общее пользование ресурсы в более простое пространство имен. Файловые системы обеспечивают однородный поименованный доступ к набору секторов на дисках, а DFS – однородный поименованный доступ к набору серверов, совместно используемых ресурсов и файлов, организуя их в виде иерархической структуры. В свою очередь новый том DFS может быть иерархично подключен к другим совместно используемым ресурсам Windows. DFS позволяет объединить физические устройства хранения в логические элементы, что делает физическое расположение данных прозрачным как для пользователей, так и для приложений. Преимущества DFS:

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

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

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

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

- Балансировка нагрузки. Несколько сетевых ресурсов, предоставленных в совместное использование только для чтения, можно объединить под одним логическим именем DFS, предоставляя тем самым ограниченную балансировку нагрузки между дисками или серверами. При доступе к такому ресурсу пользователь автоматически перенаправляется на один из составляющих том DFS.

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

- Интеграция с моделью безопасности Windows. Не требуется дополнительной работы по обеспечению безопасности. Любой пользователь, подключенный к тому DFS, имеет доступ к ресурсам, только если обладает необходимыми правами. При этом применяется модель безопасности Windows.

- Интеграция клиента DFS с Windows XP Professional, Windows 2000 Professional и Windows 9х. Клиент DFS встроен в Windows NT Workstation, начиная с 4 версии. Эта дополнительная функциональность не влияет на требования клиента к памяти.

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

- Взаимодействие с другими сетевыми файловыми системами. Любой том, к которому можно осуществить доступ через редиректор Windows, можно включить в пространство имен DFS. Редиректор (англ. redirector, перенаправляющий) – модуль в прокси-серверах[10], отвечающий за фильтрацию и обработку адресов (URL [11]) запросов от клиентов к серверам. Такой доступ можно осуществлять либо через клиентские редиректоры, либо через шлюзы на сервере.

 




Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 1449; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.107 сек.