Операционные системы Лаб.работа №2(Файловые системы ОС Windows) (1069353), страница 2
Текст из файла (страница 2)
Это увеличивает размер самойтаблицы (максимально доступно 2.6 миллиона (228) 4х байтовых записей), нопозволяет эффективнее использовать дисковое пространство, за счетуменьшения размера кластера и соответственно уменьшения потерь в“хвостах” кластеров (для файлов, чей размер не кратен размеру кластеров).Операционные системы Лаб.работа №2(Файловые системы ОС Windows)6Максимальная длина имени файла в FAT32 составляет 256 символов(включая завершающий символ 0x00).Максимальная длина имени каталога (пути без имени файла)составляет 246 символов.Максимальная,полнаядлинаименифайла(включаясимволустройства, двоеточие, обратную косую черту и 0x00) составляет 260символов.При создании на диске файла с длинным именем автоматическисоздается соответствующее ему короткое имя в формате 8.3, так называемыйпсевдоним (alias).
Применение псевдонимов позволяет приложениям, неподдерживающим длинные имена файлов, все же, получать доступ к файлами дискам.Основные преимущества системы FAT32 над другими версиями FAT:Поддержка дисков размером до 2х терабайтБолее эффективное использование дискового пространстваВысокая устойчивость за счет наличия в файловой системеспециальных резервных областей. Автоматическое использование второйкопии FAT, если первая повреждена.Большая гибкость. В FAT32 нет ограничения на число элементовв корневом каталоге, как это было в прежних версиях FAT.2.3 Файловая система NTFS2.3.1 Основные характеристики NTFS.Восстанавливаемость.
После отказа гарантировано восстановлениесогласованного состояния файловой системы. На случай повреждениядисковых блоков, в которых хранятся системные данные, существуют копиивсех системных данных, включая журнал обновлений.Защищенность. Аутентифицированный вход в систему и проверкаправ доступа к каждому файлу с использованием списка контроля доступаобеспечивают защиту от несанкционированных файловых операций.Операционные системы Лаб.работа №2(Файловые системы ОС Windows)Поддержкамногихпотоковданных.Файлможет7включатьмножество независимых именованных потоков данных.Хранение имен в кодировке Unicode. Такая кодировка обеспечиваетуникальное представление каждого символа существующих естественныхязыков.
Имена файлов могут содержать пробелы и произвольное количествоточек.Поддержка POSIX. В соответствии с требованиями этого стандарта вNTFS реализована поддержка имен файлов и каталогов, различающихсятолько регистром букв и отметкой времени изменения файла.Сменные диски. Сменные диски, отформатированные для NTFS,защищены теми же механизмами контроля доступа, что и постоянные.2.3.2 Структура базового формата файловой системыКаждый логический диск с файловой системой NTFS состоит из двухзон:Зона главной файловой таблицы (зона MFT). Таблица MFTсодержит информацию о всех системных файлах и пользовательскихкаталогах и файлахЗона для размещения файлов и каталогов организована каклинейная последовательность блоков (кластеров). Размер блока фиксировандля каждого раздела и варьируется в пределах от 512 байт до 64 Кбайт взависимости от размера раздела.
Для большинства разделов NTFSиспользуются блоки размером в 4 Кбайт, как компромисс между большимиблоками (для эффективности операций чтения/записи) и маленькимиблоками (для уменьшения потерь дискового пространства на фрагментацию).Адресация блоков осуществляется по их смещению от начала раздела, дляэтого используются 64-разрядные числа.2.3.3 Структура таблицы MFTФизическая реализация файлов в файловых системах NTFS основана наметоде индексных узлов.Операционные системы Лаб.работа №2(Файловые системы ОС Windows)8Главной структурой данных файловой системы является главнаяфайловая таблица MFT (Master File Table), представляющая собойпоследовательность записей фиксированного (1 Кбайт) размера.КаждаязаписьMFTпредставляетсобойиндексныйузел,описывающий один файл или один каталог.В записи содержатсяатрибуты файла,список дисковых адресов блоков файла.Если файл очень большой, то используются несколько записей MFT,чтобы вместить список всех блоков файла.
В этом случае первая запись MFT,называемая базовой записью, указывает на другие записи MFTСвободные элементы MFT учитывается в битовом массиве.Сама главная файловая таблица представляет собой файл и, как илюбой файл может располагаться в любом месте тома ( тем самымустраняется проблема дефектных секторов на первой дорожке дисковогораздела). Кроме того, этот файл может, при необходимости, расширен.Первые 16 записей MFT зарезервированы для описания файловсистемных данных NTFS.
Каждая такая запись описывает обычный файл, укоторого есть атрибуты и блоки данных, как у любого файла. У каждогофайла системных данных есть имя, начинающееся с символа доллара,указывающего на то, что это файл системный.Первая запись MFT(Запись 0) описывает сам файл MFT. В частности,она содержит информацию о расположении блоков файла MFT, чтопозволяет системе найти этот файл.Номер первого блока файла MFTсодержится в загрузочном блоке, куда он помещается при установкесистемы.Запись 1 указывает на дубликат системной части файла MFT. Наличиевторой копии может быть необходимо на случай, если один из первых блоковглавной файловой таблицы станет дефектным.Операционные системы Лаб.работа №2(Файловые системы ОС Windows)9Запись 2 указывает на файл журнала.
Когда в файловой системепроизводятся изменения (такие как добавление нового каталога или удалениесуществующего каталога, изменения атрибутов файлов ), информация опредстоящейоперациирегистрируетсявжурнале.Такимобразом,увеличивается вероятность корректного восстановления файловой системы вслучае сбоя во время выполнения операции. В этом журнале нерегистрируются изменения данных пользователя.Запись 3 содержится информация о томе(размер, метка и версия).Запись 4 содержит список стандартных атрибутов файлов .Запись 5 содержит данные о корневом каталоге, который представляетсобой файл и может произвольно увеличиваться в размере.Запись 6 описывает файл, содержащий битовый массив учётасвободного дискового пространства.Запись 7 содержит указатель на файл начальной загрузки.Запись 8 указывает на системный файл, в котором связаны вместе вседефектные блоки.Запись 9 описывает файл, содержащий информацию о защите.Запись 10 описывает файл, используется для преобразования регистрадля символов латинского алфавита и национальных алфавитовЗапись 11описывает файл каталога, содержащего различные файлы длядисковых квот, идентификаторов объектов, точек повторного анализа и т.
д.Последние четыре системных записи MFT не используются.После системных записей в таблице MFT содержатся записи файлов икаталогов пользователя.2.3.4 Структура записи MFT.Каждая запись MFT состоит из заголовка записи, за которым следуетпоследовательность пар (заголовок атрибута, значение).Заголовок записи содержит:порядковый номер, обновляемый каждый раз, когда записьиспользуется для нового файла;Операционные системы Лаб.работа №2(Файловые системы ОС Windows)10счетчик обращений к файлу;действительное количество байт , используемых в записи;идентификатор базовой записи (индекс, порядковый номер,используемый только для записей расширения),другие поля.Следом за заголовком записи располагается заголовок первогоатрибута, за которым идет значение первого атрибута, затем заголовоквторого атрибута, значение второго атрибута и т.
д.В файловой системе NTFS определено 13 атрибутов, которые могутпоявляться в записях MFT.Заголовок атрибута идентифицирует следующий за ним атрибут, атакже содержит длину и расположение поля значения вместе с флагами идругой информацией.Значения атрибутов, как правило, располагаются непосредственно зазаголовками, но если длина значения слишком велика, чтобы поместиться взапись MFT, она может быть помещена в отдельный блок в зоне дляразмещения файлов и каталогов. Такой атрибут называется нерезидентныматрибутом (например, таким атрибутом является атрибут данных).Некоторые атрибуты, такие как атрибуты имени, могут повторяться, новсе атрибуты должны располагаться в записи MFT в фиксированном порядке.Длина заголовков резидентных атрибутов 24 байт, заголовки длянерезидентных атрибутов длиннее, так как они содержат информацию оместе расположения атрибута.2.3.5 Именование файловДлина имени файла в системе NTFS ограничена 255 символами.Полная длина пути ограничивается 32 767 символами.Для имен файлов используется кодировка Unicode, что позволяетпользователям в странах; в которых не используется латинский алфавитписать имена файлов на своем родном языке.Операционные системы Лаб.работа №2(Файловые системы ОС Windows)ФайловаясистемаNTFSполностьюподдерживает11имена,чувствительные к регистру.
(интерфейсом Win32 API не полностьюподдерживается чувствительность к регистру для имен файлов и совсем неподдерживается для имен каталогов, поэтому это преимущество теряется приобращении к программам, обязанным использовать интерфейс Win32).2.3.6 Потоки данных файловФайл в системе NTFS состоит из множества атрибутов, каждый изкоторых представляется в виде потока байтов.Большинство файлов имеет несколько коротких потоков, таких как имяфайла и один длинный (неименованный) поток данных.Однако у файла может быть и несколько длинных потоков данных. Укаждого дополнительного потока есть имя и своя длина.
Каждый потокможет блокироваться независимо от остальных потоков. При обращении ккаждому потоку после имени файла через двоеточие указывается имя потока,например test:stream1.Использование разных потоков данных удобно для хранения данныхразличных форматов (например, текста и графических файлов), а также дляхранения различных версий одной и той же информации. Так, например,программы обработки текста часто создают две версии документа,временную для использования во время редактирования и окончательнуюверсию, когда пользователь закончил работу. Если поместить временнуюверсию в именованный поток, а окончательную версию в неименованныйпоток, обе версии автоматически оказываются в одном файле и без какойлибо дополнительной обработки пользуются одинаковыми правами доступа,временными штампами и т.
д.Максимальная длина потока составляет 264 байт. Для адресации вкаждом потоке используются 64-разрядные файловые указатели.Процедура открытия файла возвращает дескриптор файла, которыйзатем может использоваться для чтения этого файла или записи в файл.Имя потока данных располагается в заголовке атрибута.Операционные системы Лаб.работа №2(Файловые системы ОС Windows)12Следом за этим заголовком располагаетсялибо список адресов блоков данных файла;либо, для файлов длиной всего в несколько сотен байтов (а такихфайлов довольно много), сам файл.Метод помещения самого содержимого файла в запись MFTназывается непосредственным файлом .В большинстве случаев данные файла не помещаются в запись MFT,поэтому этот атрибут, как правило, является нерезидентным.Для увеличения эффективности дисковые блоки файлам назначаютсяпо возможности в виде серий последовательных блоков.Например, если первый блок, из выделенных файлу, имеет адрес 20 надиске, тогда система будет стараться выделить для второго блока этого файлаблок 21, для третьего - блок 22 и т.