Файл и файловая структура. Файловые системы

Общее. В теории информатики определены следующие три основных типа структур данных – линейная, табличная, иерархическая. Пример книга: последовательность листов – линейная структура. Части, разделы, главы, параграфы – иерархия. Оглавление – таблица – связывает – иерархическую с линейной. У структурированных данных появляется новый атрибут - Адрес. И так:

      Линейные структуры (списки, вектора). Обычные списки. Адрес каждого элемента однозначно определяется его номером. Если все элементы списка имеют равную длину – вектора данных.

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

      Иерархические структуры. Используются для представления нерегулярных данных. Адрес – определяется маршрутом – от вершины дерева. Файловая система – компьютера. (Маршрут может превысить – величину данных, дихотомия – всегда два разветвления – влево и вправо).

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

    Основные элементы файловой системы

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

Файл - это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Три параметра:

    последовательность произвольного числа байтов,

    уникальное собственное имя (фактически – адрес).

    данные одного типа – тип файла.

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

Первая, в современном понимании, развитая файловая система была разработана фирмой IBM для ее серии 360 (1965-1966 годы). Но в нынешних системах она практически не применяется. Использовала списочные структуры данных (ЕС- том, раздел, файл).

Большинство из Вас знакомо с файловыми системами современных ОС. Это прежде всего MS DOS, Windows, а некоторые с построением файловой системы для различных вариантов UNIX.

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

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

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

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

    Журналирование в файловых системах. Общие принципы.

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

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

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

Классический вид журналируемой файловой системы это хранение в журнале (логе) изменений метаданных файловой системы и хранение изменений всех данных файловой системы, включая изменения самих файлов.

    Файловая система MS-DOS (FAT)

Файловая система MS-DOS представляет собой древовидную файловую систему для небольших дисков и простых структур каталогов, в корне которой находится корневой каталог, а листьями являются файлы и другие каталоги, возможно пустые. Размещение файлов под управлением этой файловой системы происходит по кластерам, размер которых может колебаться от 4 КБ до 64 КБ кратно 4, без использования свойства смежности смешанным способом выделения дисковой памяти. Например, на рисунке показано три файла. Файл File1.txt является достаточно большим: он задействует три следующих друг за другом блока. Небольшой файл File3.txt использует пространство только одного размещаемого блока. Третий файл File2.txt. является большим фрагментированным файлом. В каждом случае точка входа указывает на первый распределяемый блок, принадлежащий файлу. Если файл использует несколько распределяемых блоков, то предшествующий блок указывает на следующий в цепочке. Значение FFF отождествляется с концом последовательности.

Дисковый раздел FAT

Для эффективного доступа к файлам используется таблица размещения файлов – File Allocation Table, которая размещается в начале раздела (или логического диска). Именно от названия таблицы размещения и происходит название этой файловой системы – FAT. В целях защиты раздела на нем хранятся две копии FAT, на тот случай, если одна из них окажется поврежденной. Кроме того, таблицы размещения файлов должны размещаться по строго фиксированным адресам, чтобы файлы, необходимые для запуска системы, были размещены корректно.

Таблица размещения файлов состоит из 16-разрядных элементов и содержит следующую информацию о каждом кластере логического диска:

    кластер не используется;

    кластер используется файлом;

    плохой кластер;

    последний кластер файла;.

Так как каждому кластеру должен быть присвоен уникальный 16-разрядный номер, то следовательно, FAT поддерживает максимально 216, или 65 536 кластеров на одном логическом диске (да еще некоторую часть кластеров резервирует для своих нужд). Таким образом получаем предельный размер диска, обслуживаемого MS-DOS, в 4 ГБ. Размер кластера можно увеличить или уменьшить в зависимости от размера диска. Однако, когда размер диска превышает некоторую величину, кластеры становятся слишком большого размера что ведет к внутренней дефрагментации диска. Кроме информации о файлах, в таблице размещения файлов может быть помещена информация и о каталогах. При этом каталоги рассматриваются как специальные файлы с 32-байтовыми элементами для каждого файла, содержащегося в этом каталоге. Корневой каталог имеет фиксированный размер – 512 записей для жесткого диска, а для дискет этот размер определяется объемом дискеты. Кроме того, корневой каталог расположен сразу же после второй копии FAT, поскольку в нем находятся файлы, необходимые загрузчику MS-DOS.

При поиске файла на диске MS-DOS вынуждена просматривать структуру каталога, чтобы найти его. Например, чтобы запустить исполняемый файл С:\Program\NC4\nc.exe находит исполнимый файл, выполнив следующие действия:

    читает корневой каталог диска C: и ищет в нем каталог Program;

    читает начальный кластер Program и ищет в этом каталоге запись о вложенном каталоге NC4;

    читает начальный кластер вложенного каталога NC4 и ищет в нем запись о файле nc.exe;

    читает все кластеры файла nc.exe.

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

Достоинства FAT

    Является лучшим выбором для логических дисков небольшого размера, т.к. стартует с минимальными накладными расходами. На дисках, размер которых не превышает 500 МБ, она работает с приемлемыми характеристиками.

Недостатки FAT

    Поскольку размер записи о файле ограничен 32 байтами, а информация должна включать в себя и размер файла и дату, и атрибуты и т.д., то размер под название файла также ограничен и не может превышать 8+3 символа на каждый файл. Использование так называемых коротких имен файлов делает FAT менее привлекательной для использования по сравнению с другими файловыми системами.

    Использование FAT на дисках, объем которых превышает 500 МБ нерационально по причине дефрагментации диска.

    Файловая система FAT не обладает никакими средствами защиты и поддерживает минимальные возможности по обеспечению безопасности информации.

    Скорость выполнения операций в FAT происходит обратно пропорционально глубине вложенности каталогов и объему диска.

    Файловая система UNIX – систем (ext3)

Современная, мощная и бесплатная операционная система Linux предоставляет широкую территорию для разработки современных систем и пользовательского программного обеспечения. Некоторые из наиболее интересных разработок в недавних ядрах Linux это новые, высоко производительные технологии для управления хранением, размещением и обновлением данных на диске. Один из наиболее интересных механизмов – это файловая система ext3, которая интегрируется в ядро Linux начиная с версии 2.4.16, и уже доступна по умолчанию в Linux дистрибутивах от компаний Red Hat и SuSE.

Файловая система ext3 является журналируемой файловой системой, 100% совместимой со всеми утилитами созданными для создания, управления и тонкой настройки файловой системы ext2, которая используется в Linux системах несколько последних лет. Перед детальным описанием различий между файловыми системами ext2 и ext3, уточним терминологию файловых систем и хранения файлов.

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

Файловые системы созданы на разделах диска для упрощения хранения и организации данных в форме файлов и директорий. Linux, как Unix система, использует иерархическую файловую систему составленную из файлов и директорий, которые соответственно содержат либо файлы либо каталоги. Файлы и директории в файловой системе Linux становятся доступным пользователю путем их монтирования (команда «mount»), которая обычно является частью процесса загрузки системы. Список файловых систем доступных для использования хранится в файле /etc/fstab (FileSystem TABle). Список файловых систем не смонтированных в данные момент системой хранится в файле /etc/mtab (Mount TABle).

В момент монтирования файловой системы в процессе загрузки, бит в заголовке («чистый бит» / «clean bit») стирается, это означает что файловая система используется, и что структуры данных используемые для управления размещением и организации файлов и директорий, в данной файловой системы могут быть изменены.

Файловая система расценивается как целостная если все блоки данных в ней либо используются, либо свободны; каждый размещенный блок данных занят одним и только одним файлом или директорией; все файлы и директории могут быть доступны после обработки серии других директорий в файловой системе. Когда система Linux намеренно прекращает работу используя команды оператора, все файловые системы размонтируются. Размонтирование файловой системы в процессе завершения работы устанавливает «чистый бит» в заголовок файловой системы, указывая на то, что файловая система была размонтирована должным образом и, тем самым, может рассматриваться как целостная.

Года отладки и переработки файловой системы и использование улучшенных алгоритмов для записи данных на диск в большой степени уменьшили повреждение данных вызываемых приложениями или самим ядром Linux, но устранение повреждения и потери данных в связи с отключением питания и другими системными проблемами до сих пор является сложной задачей. В случае аварийной остановки или простого отключения Linux системы без использования стандартных процедур остановки работы «чистый бит» в заголовке файловой системы не устанавливается. При следующей загрузке системы, процесс монтировки обнаруживает, что система не маркирована как «чистая», и физически проверяет ее целостность использую Linux/Unix утилиту проверки файловой системы "fsck" (File System ChecK).

Существует несколько журналируемых файловых систем доступных для Linux. Наиболее известные из них: XFS, журналируемая файловая система разработанная Silicon Graphics, но сейчас выпущенная открытым кодом (open source); RaiserFS, журналируемая файловая система разработанная специально для Linux; JFS, журналируемая файловая система первоначально разработанная IBM, но сейчас выпущенная как открытый код; ext3 – файловая система разработанная доктором Стефаном Твиди (Stephan Tweedie) в Red Hat, и несколько других систем.

Файловая система ext3 – это журналируемая версия Linux файловой системы ext2. Файловая система ext3 имеет одно значительно преимущество перед другими журналируемыми файловыми системами – она полностью совместима с файловой системой ext2. Это делает возможным использование всех существующих приложений разработанных для манипуляции и настройки файловой системы ext2.

Файловая система ext3 поддерживается ядрами Linux версии 2.4.16 и более поздними, и должна быть активизирована использованием диалога конфигурации файловых систем (Filesystems Configuration) при сборке ядра. В Linux дистрибутивы, такие как Red Hat 7.2 и SuSE 7.3 уже включена встроенная поддержка файловой системы ext3. Вы можете использовать файловую систему ext3 только в том случае, когда поддержка ext3 встроена в ваше ядро и у вас есть последние версии утилит «mount» и «e2fsprogs».

В большинстве случаев перевод файловых систем из одного формата в другой влечет за собой резервное копирование всех содержащихся данных, переформатирование разделов или логических томов, содержащих файловую систему, и затем восстановление всех данных на эту файловую систему. В связи с совместимостью файловых систем ext2 и ext3, все эти действия можно не проводить, и перевод может быть сделать с помощью одной команды (запущенной с полномочиями root):

# /sbin/tune2fs -j <имя-раздела >

Например, перевод файловой системы ext2 расположенной на разделе /dev/hda5 в файловую систему ext3 может быть осуществлен с помощью следующей комманды:

# /sbin/tune2fs -j /dev/hda5

Опция "-j" команды "tune2fs" создает журнал ext3 на существующей ext2 файловой системе. После перевода файловой системы ext2 в ext3, вы так же должны внести изменения в записи файла /etc/fstab, для указания что теперь раздел является файловой системой "ext3". Так же вы можете использовать авто определение типа раздела (опция «auto»), но все же рекомендуется явно указывать тип файловой системы. Следующий пример файл /etc/fstab показывает изменения до и после перевода файловой системы для раздела /dev/hda5:

/dev/ hda5 /opt ext2 defaults 1 2

/dev/ hda5 /opt ext3 defaults 1 0

Последнее поле в /etc/fstab указывает этап в загрузке, во время которого целостность файловой системы должна быть проверена с помощью утилиты «fsck». При использовании файловой системы ext3, вы можете установить это значение в «0», как показано на предыдущем примере. Это означает что программа "fsck" никогда не будет проверять целостность файловой системе, в связи с тем что целостность файловой системы гарантируется путем отката в журнале.

Перевод корневой файловой системы в ext3 требует особого подхода, и лучше всего его проводить в режиме одного пользователя (single user mode) после создания RAM диска поддерживающего файловую систему ext3.

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

Файловая система ext3 поддерживает три различных режима журналирования, которые могут быть активированы из файла /etc/fstab. Эти режимы журналирования следующие:

    Журнал / journal – запись всех изменений данных файловой системы и мета-данных. Наиболее медленный из всех трех режимов журналирования. Этот режим минимизирует шанс потери изменений файлов которые вы проводите в файловой системе.

    Последовательный / ordered – записываются изменения только мета-данных файловой системы, но записывает обновления данных файла на диск перед изменениями ассоциируемых мета-данных файловой системы. Этот режим журналирования ext3 установлен по умолчанию.

    Обратная запись / writeback – записываются только изменения мета-данных файловой системы, основан на стандартном процессе записи изменений данных файлов. Это наиболее быстрый метод журналирования.

Различия между этими режимами журналирования одновременно и едва заметны, и основательны. Использование режима «журнал» требует, что бы файловая система ext3 записывала каждое изменение файловой системы дважды – первый раз в журнал, а затем в саму файловую систему. Это может снизить общую производительность вашей файловой системы, но этот режим наиболее любим пользователями, потому что он минимизирует шанс потери изменения данных ваших файлов, так как и изменения мета - данных и изменения данный файлов записывается в журнал ext3 и может быть повторено при перезагрузке системы.

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

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

Указание журналируемого режима, используемого в ext3 файловой системе производиться в файле /etc/fstab для этой файловой системы. «Последовательный» режим используется по умолчанию, но вы можете указать различные режимы журналирования, путем изменения опций для требуемого раздела в файле /etc/fstab. Например, запись в /etc/fstab указывающая на использование режима журналирования «обратная запись» будет выглядеть следующим образом:

/dev/hda5 /opt ext3 data=writeback 1 0

    Файловая система семейства Windows NT (NTFS)

      Физическая структура NTFS

Начнем с общих фактов. Раздел NTFS, теоретически, может быть почти какого угодно размера. Предел, конечно, есть, но я даже не буду указывать его, так как его с запасом хватит на последующие сто лет развития вычислительной техники - при любых темпах роста. Как обстоит с этим дело на практике? Почти так же. Максимальный размер раздела NTFS в данный момент ограничен лишь размерами жестких дисков. NT4, правда, будет испытывать проблемы при попытке установки на раздел, если хоть какая-нибудь его часть отступает более чем на 8 Гб от физического начала диска, но эта проблема касается лишь загрузочного раздела.

Лирическое отступление. Метод инсталляции NT4.0 на пустой диск довольно оригинален и может навести на неправильные мысли о возможностях NTFS. Если вы укажете программе установки, что желаете отформатировать диск в NTFS, максимальный размер, который она вам предложит, будет всего 4 Гб. Почему так мало, если размер раздела NTFS на самом деле практически неограничен? Дело в том, что установочная секция просто не знает этой файловой системы:) Программа установки форматирует этот диск в обычный FAT, максимальный размер которого в NT составляет 4 Гбайт (с использованием не совсем стандартного огромного кластера 64 Кбайта), и на этот FAT устанавливает NT. А вот уже в процессе первой загрузки самой операционной системы (еще в установочной фазе) производится быстрое преобразование раздела в NTFS; так что пользователь ничего и не замечает, кроме странного "ограничения" на размер NTFS при установке. :)

      Структура раздела - общий взгляд

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

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

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

      MFT и его структура

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

        Метафайлы

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

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

копия первых 16 записей MFT, размещенная посередине диска

файл поддержки журналирования (см. ниже)

служебная информация - метка тома, версия файловой системы, т.д.

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

корневой каталог

карта свободного места тома

загрузочный сектор (если раздел загрузочный)

файл, в котором записаны права пользователей на использование дискового пространства (начал работать лишь в NT5)

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

        Файлы и потоки

Итак, у системы есть файлы - и ничего кроме файлов. Что включает в себя это понятие на NTFS?

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

    Опциональный элемент - потоки данных файла. Может показаться странным определение "опциональный", но, тем не менее, ничего странного тут нет. Во-первых, файл может не иметь данных - в таком случае на него не расходуется свободное место самого диска. Во-вторых, файл может иметь не очень большой размер. Тогда идет в ход довольно удачное решение: данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT. Файлы, занимающие сотни байт, обычно не имеют своего "физического" воплощения в основной файловой области - все данные такого файла хранятся в одном месте - в MFT.

Довольно интересно обстоит дело и с данными файла. Каждый файл на NTFS, в общем-то, имеет несколько абстрактное строение - у него нет как таковых данных, а есть потоки (streams). Один из потоков и носит привычный нам смысл - данные файла. Но большинство атрибутов файла - тоже потоки! Таким образом, получается, что базовая сущность у файла только одна - номер в MFT, а всё остальное опционально. Данная абстракция может использоваться для создания довольно удобных вещей - например, файлу можно "прилепить" еще один поток, записав в него любые данные - например, информацию об авторе и содержании файла, как это сделано в Windows 2000 (самая правая закладка в свойствах файла, просматриваемых из проводника). Интересно, что эти дополнительные потоки не видны стандартными средствами: наблюдаемый размер файла - это лишь размер основного потока, который содержит традиционные данные. Можно, к примеру, иметь файл нулевой длинны, при стирании которого освободится 1 Гбайт свободного места - просто потому, что какая-нибудь хитрая программа или технология прилепила в нему дополнительный поток (альтернативные данные) гигабайтового размера. Но на самом деле в текущий момент потоки практически не используются, так что опасаться подобных ситуаций не следует, хотя гипотетически они возможны. Просто имейте в виду, что файл на NTFS - это более глубокое и глобальное понятие, чем можно себе вообразить просто просматривая каталоги диска. Ну и напоследок: имя файла может содержать любые символы, включая полый набор национальных алфавитов, так как данные представлены в Unicode - 16-битном представлении, которое дает 65535 разных символов. Максимальная длина имени файла - 255 символов.

      Каталоги

Каталог на NTFS представляет собой специфический файл, хранящий ссылки на другие файлы и каталоги, создавая иерархическое строение данных на диске. Файл каталога поделен на блоки, каждый из которых содержит имя файла, базовые атрибуты и ссылку на элемент MFT, который уже предоставляет полную информацию об элементе каталога. Внутренняя структура каталога представляет собой бинарное дерево. Вот что это означает: для поиска файла с данным именем в линейном каталоге, таком, например, как у FAT-а, операционной системе приходится просматривать все элементы каталога, пока она не найдет нужный. Бинарное же дерево располагает имена файлов таким образом, чтобы поиск файла осуществлялся более быстрым способом - с помощью получения двухзначных ответов на вопросы о положении файла. Вопрос, на который бинарное дерево способно дать ответ, таков: в какой группе, относительно данного элемента, находится искомое имя - выше или ниже? Мы начинаем с такого вопроса к среднему элементу, и каждый ответ сужает зону поиска в среднем в два раза. Файлы, скажем, просто отсортированы по алфавиту, и ответ на вопрос осуществляется очевидным способом - сравнением начальных букв. Область поиска, суженная в два раза, начинает исследоваться аналогичным образом, начиная опять же со среднего элемента.

Вывод - для поиска одного файла среди 1000, например, FAT придется осуществить в среднем 500 сравнений (наиболее вероятно, что файл будет найден на середине поиска), а системе на основе дерева - всего около 10-ти (2^10 = 1024). Экономия времени поиска налицо. Не стоит, однако думать, что в традиционных системах (FAT) всё так запущено: во-первых, поддержание списка файлов в виде бинарного дерева довольно трудоемко, а во-вторых - даже FAT в исполнении современной системы (Windows2000 или Windows98) использует сходную оптимизацию поиска. Это просто еще один факт в вашу копилку знаний. Хочется также развеять распространенное заблуждение (которое я сам разделял совсем еще недавно) о том, что добавлять файл в каталог в виде дерева труднее, чем в линейный каталог: это достаточно сравнимые по времени операции - дело в том, что для того, чтобы добавить файл в каталог, нужно сначала убедится, что файла с таким именем там еще нет:) - и вот тут-то в линейной системе у нас будут трудности с поиском файла, описанные выше, которые с лихвой компенсируют саму простоту добавления файла в каталог.

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

      Журналирование

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

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

Пример 2: более сложный случай - идет запись данных на диск. Вдруг, бах - отключается питание и система перезагружается. На какой фазе остановилась запись, где есть данные, а где чушь? На помощь приходит другой механизм системы - журнал транзакций. Дело в том, что система, осознав свое желание писать на диск, пометила в метафайле $LogFile это свое состояние. При перезагрузке это файл изучается на предмет наличия незавершенных транзакций, которые были прерваны аварией и результат которых непредсказуем - все эти транзакции отменяются: место, в которое осуществлялась запись, помечается снова как свободное, индексы и элементы MFT приводятся в с состояние, в котором они были до сбоя, и система в целом остается стабильна. Ну а если ошибка произошла при записи в журнал? Тоже ничего страшного: транзакция либо еще и не начиналась (идет только попытка записать намерения её произвести), либо уже закончилась - то есть идет попытка записать, что транзакция на самом деле уже выполнена. В последнем случае при следующей загрузке система сама вполне разберется, что на самом деле всё и так записано корректно, и не обратит внимания на "незаконченную" транзакцию.

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

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

кластеры файла с 1 по 43-й хранятся в кластерах диска начиная с 400-го кластеры файла с 44 по 52-й хранятся в кластерах диска начиная с 8530-го...

Физическая раскладка типичного сжатого файла:

кластеры файла с 1 по 9-й хранятся в кластерах диска начиная с 400-го кластеры файла с 10 по 16-й нигде не хранятся кластеры файла с 17 по 18-й хранятся в кластерах диска начиная с 409-го кластеры файла с 19 по 36-й нигде не хранятся....

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

      Безопасность

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

Права файловой системы NTFS неразрывно связаны с самой системой - то есть они, вообще говоря, необязательны к соблюдению другой системой, если ей дать физический доступ к диску. Для предотвращения физического доступа в Windows2000 (NT5) всё же ввели стандартную возможность - об этом см. ниже. Система прав в своем текущем состоянии достаточно сложна, и я сомневаюсь, что смогу сказать широкому читателю что-нибудь интересное и полезное ему в обычной жизни. Если вас интересует эта тема - вы найдете множество книг по сетевой архитектуре NT, в которых это описано более чем подробно.

На этом описание строение файловой системы можно закончить, осталось описать лишь некоторое количество просто практичных или оригинальных вещей.

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

      Symbolic Links (NT5)

Гораздо более практичная возможность, позволяющая делать виртуальные каталоги - ровно так же, как и виртуальные диски командой subst в DOSе. Применения достаточно разнообразны: во-первых, упрощение системы каталогов. Если вам не нравится каталог Documents and settings\Administrator\Documents, вы можете прилинковать его в корневой каталог - система будет по прежнему общаться с каталогом с дремучим путем, а вы - с гораздо более коротким именем, полностью ему эквивалентным. Для создания таких связей можно воспользоваться программой junction (junction.zip(15 Kb), 36 кб), которую написал известный специалист Mark Russinovich (http://www.sysinternals.com). Программа работает только в NT5 (Windows 2000), как и сама возможность. Для удаления связи можно воспользоваться стандартной командой rd. ВНИМАНИЕ: Попытка удаления связи с помощью проводника или других файловых менеджеров, не понимающих виртуальную природу каталога (например, FAR), приведет к удалению данных, на которые ссылается ссылка! Будьте осторожны.

      Шифрование (NT5)

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

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


Что такое файл и файловая структура?

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

Чтобы упростить понимание вопроса, скажем, что обложка представляет собой всю файловую систему в совокупности, страницы — это папки или директории, в которых хранятся отдельные файлы, оглавление – это файловый менеджер, разделы и главы – это файлы, которые содержат конкретную информацию. Обозначение объекта, называемого файлом, обычно состоит из двух частей – имени и расширения. Имя файла может задаваться на различных языках и быть произвольным. Расширением называют специальное обозначение, указывающее на тип данных.

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

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

Информатика в начале развития компьютерных технологий

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

Папки и файлы

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

Примеры поиска файлов

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

Что представляет собой файловая система?

Файловые структуры и файлы нельзя себе представить без понимания принципа работы файловой системы. Стоит отметить, что файловая структура и файловая система – это разные понятия. Структура представляет собой основной тип упорядочивания файлов в том случае, если речь идет о систематизации данных. Файловая система представляет собой метод, который определяет работу структуры. Проще говоря, это принцип обработки данных в смысле их размещения на носителе информации. Сегодня существует множество файловых систем. Для операционной системы Windows наиболее распространенными вариантами являются системы FAT с архитектурой 6, 16, 32 и 64 бита, ReFS и NTFS.

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

Выполнение операций с файлами

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

Архивация информации

Прежде всего к специфичным функциям можно отнести сжатие папок и файлов, которое называют архивацией, и обратный процесс – извлечение информации из архива. Во время работы на операционной системой DOS создание архивных типов данных сводилось в основном к использованию стандарта ARJ, однако с появлением технологии ZIP-архивирования, данные процессы получили большее развитие. В результате был создан универсальный RAR архиватор. Данные технологии сегодня представлены в любой операционной системе даже без необходимости установки дополнительного программного обеспечения. Операции с файлами в этом ракурсе трактуются как виртуальное сжатие. Технологии сжатия просто дают системе указание на то, чтобы она определяла вместо искомого размера меньший. Информационный объем папки или файла в процессе архивации остается неизменным.

Управление отображением файлов

Такое понятие, как структура файла необходимо рассматривать с точки зрения возможности видения самих объектов. Практически все пользователи современных компьютерных систем сегодня сталкивались с таким понятием, как скрытые файлы и папки. Что они собой представляют? Наличие таких объектов говорит о том, что в системе установлено определенное ограничение на отображение. Так, например, подобные ограничения устанавливаются на системные файлы и папки, чтобы пользователь случайно не удалил их. Таким образом, они никуда не деваются с жесткого диска в физическом плане, просто файловый менеджер их не распознает. Чтобы отобразить все скрытые объекты в том же «Проводнике» можно использовать меню «Вид».

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

Файл – это информация, которая хранится на машинном носителе информации под определенным именем.

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

Файлы идентифицируются (однозначно определяются) именами. Пользователи дают файлам символьные имена. В некоторых ОС, например в ОС фирмы Microsoft, каждое имя файла состоит непосредственно из имени файла , даваемого пользователем, и расширения . При этом учитываются ограничения ОС как на используемые в имени символы, так и на длину имени. До недавнего времени эти границы были весьма узки. Например, файловая система операционной системы MS-DOS ограничивала длину имени схемой 8.3 (8 символов – отводилось под имя, 3 - под расширение). Современные файловые системы, как правило, поддерживают длинные символьные имена файлов. ОС семейства Windows позволяют давать имена размером до 255 символов. Расширение отделяется от имени файла символом “.” (точка).

Расширение показывает тип файла:

ехе, сом выполняемые файлы, т.е. программы, написанные на одном из языков программирования;

doc - файлы, созданные в текстовом редакторе Word;

xls - файлы, созданные в табличном процессоре Excel;

mdb – файлы системы управления базами данных (СУБД) Access.

Обычно для удобства работы файлы объединяются в каталоги (папки).

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

C:\User\Письмо.doc полное имя файлаПисьмо.doc , находящегося на диске С: в папке User . последовательность имени внешнего устройства и всех вложенных папок называется полным путём к файлу .

Иногда при выполнении определенных операций (поиск, копирование, удаление файлов) можно использовать шаблоны имен файлов .

Шаблоном называется обобщенное имя для группы файлов, в котором имеются символы: * или?.

Символ * обозначает, что вместо него, начиная с той позиции, где он стоит, и до конца имени могут стоять любые допустимые символы.

Символ ? обозначает, что в данной позиции может стоять любой, но только один допустимый символ.

Например,

шаблон*.doc обозначает все файлы с расширением.doc,

шаблон Письмо?.doc обозначает все файлы с именами Письмо1.doc, Письмо3.doc, ПисьмоZ.doc, ПисьмоA.doc, и т.д.

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

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

Данные о том, в каком месте диска записан тот или иной файл, хранятся в системной области диска в специальных таблицах размещения файлов.

Файловые системы фирмы Microsoft.

Ранние версии ОС Windows компании Microsoft использовали таблицы размещения файлов FAT (FAT – File Allocat ion Table ).

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

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

FAT состоит из ячеек, в которых хранятся номера кластеров, и главное отличие между различными FAT заключается в размере этих ячеек, определяемом количеством двоичных разрядов (бит). ОC Windows 95 использует FAT16, в которой под адрес кластера отводится 16 бит и, следовательно, число кластеров равно 65 536 (2 16). В случае, когда один кластер равен одному сектору (512 байт), максимальная емкость диска составит 32 Мбайт. С появлением дисков большой емкости кластер стал состоять из нескольких секторов -2, 4, 8 и т.д.

Здесь-то и возникает проблема нерационального использования дискового пространства. Дело в том, что один кластер не может содержать более одного файла. Тогда файл размером 1 Кбайт будет использовать кластер размером 8 Кбайт и 16 Кбайт в зависимости от размера диска. В версии ОС Windows 95 OSR2 впервые появился формат таблицы размещения файлов FAT32 (32 бит), и число кластеров возросло до 2 32 = 4 294 967 296, что позволяет использовать кластеры размером 4 Кбайт.

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

Элемент FAT для описания файла включает в себя:

    байт атрибута;

    время модификации;

    дата модификации;

    № 1-го кластера, с которого начинается запись файла;

    размер файла.

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

Файловая система FAT16 поддерживается всеми ОС фирмы Microsoft, некоторыми ОС семейства Unix, ОС семейства OS/2.

ОС Windows NT Workstation, Windows 2000 Professional и Windows XP поддерживают файловую систему NTFS.

Файловая система NTFS представляется в виде таблицы MFT (Master File Table ), имеющей следующий вид:

Максимальная длина таблицы – 1500 байтов.

Первые 16 записей – служебные, в них хранится информация, которая описывает саму таблицу MFT (аналог системной области FAT).

Начиная с 17-й записи идет описания файлов и папок:

    стандартная информация – дата и время создания файла, его размер;

    имя файла – хранится в 2-х вариантах: длинное (до 255 символов) и короткое (8 + 3), применяемое при использовании файла в MS DOS;

    дескриптор защиты указывает, кто и какие права имеет на данный файл или папку;

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

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

Операционная система

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

Microsoft MS-DOS

Microsoft Windows 95

Microsoft Windows 95 OSR2

Microsoft Windows 98

Microsoft Windows NT

Microsoft Windows 2000

NTFS, FAT16, FAT32

Microsoft Windows XP

NTFS, FAT16, FAT32

В ОС Windows NT, Windows 2000 Professional и Windows XP файловая система FAT поддерживается при работе на гибких магнитных дисках. На жестком диске поддерживается две файловые системы - FAT и NTFS.

О файлах и файловых структурах

Что такое файл

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

Файл - это информация, хранящаяся на внешнем носителе и объединенная общим именем.

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

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

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

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

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

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

Имя файла

Практически во всех операционных системах имя файла составляется из двух частей, разделенных точкой. Например:

Слева от точки находится собственно имя файла (ту-prog). Следующая за точкой часть имени называется расширением файла (pas). Обычно в именах файлов употребляются латинские буквы и цифры. В большинстве ОС максимальная длина расширения - 3 символа. Кроме того, имя файла может и не иметь расширения. В операционной системе Windows в именах файлов допускается использование русских букв; максимальная длина имени - 255 символов.

Расширение указывает, какого рода информация хранится в данном файле. Например, расширение txt обычно обозначает текстовый файл (содержит текст); расширение рсх - графический файл (содержит рисунок), zip или гаг - архивный файл (содержит архив - сжатую информацию), pas - программу на языке Паскаль.

Логические диски

На одном компьютере может быть несколько дисководов - устройств работы с дисками. Каждому дисководу присваивается однобуквенное имя (после которого ставится двоеточие), например А:, В:, С:. Часто на персональных компьютерах диск большой емкости, встроенный в системный блок (его называют жестким диском), делят на разделы. Каждый из таких разделов называется логическим диском, и ему присваивается имя С:, D:, Е: и т. д. Имена А: и В: обычно относятся к сменным дискам малого объема - гибким дискам (дискетам). Их тоже можно рассматривать как имена дисков, только логических, каждый из которых полностью занимает реальный (физический) диск. Следовательно, А:, В:, С:, D: - это всё имена логических дисков.

Имя логического диска, содержащего файл, является первой "координатой", определяющей место расположения файла.

Файловая структура диска

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

Одноуровневая файловая структура - это простая последовательность файлов. Для отыскания файла на диске достаточно указать лишь имя файла. Например, если файл tetris.exe находится на диске А:, то его "полный адрес" выглядит так:

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

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

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

В операционной системе Windows для обозначения понятия "каталог" используется термин "папка".

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

На рис. 2.9 имена каталогов записаны прописными буквами, а файлов - строчными. Здесь в корневом каталоге имеются две папки: IVANOV и PETROV и один файл fin.com. Папка IVANOV содержит в себе две вложенные папки PROGS и DATA. Папка DATA - пустая; в папке PROGS имеются три файла и т. д. На дереве корневой каталог обычно изображается символом \.

Путь к файлу

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

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

Вот всем знакомая сказочная аналогия понятия "путь к файлу": "На дубе висит сундук, в сундуке - заяц, в зайце - утка, в утке - яйцо, в яйце - игла, на конце которой смерть Кощеева".

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

Если представленная на рис. 2.9 файловая структура хранится на диске С:, то полные имена некоторых входящих в нее файлов в символике операционных систем MS-DOS и Windows выглядят так:

C:\IVANOV\PROGS\progl.pas

C:\PETROV\DATA\task.dat

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

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

На рис. 2.10 показан пример отображения на экране компьютера дерева каталогов на логическом диске Е: (левое окно).

В правом окне представлено содержимое папки ARCON. ")то множество файлов различных типов. Отсюда, например, понятно, что полное имя первого в списке файла следующее:

E:\GAME\GAMES\ARCON\dos4gw.exe

Из таблицы можно получить дополнительную информацию о файлах. Например, файл dos4gw.exe имеет размер 254 556 байтов и был создан 31 мая 1994 года в 2 часа 00 мин.

Найдя в таком списке запись о нужном файле, применяя команды ОС, пользователь может выполнить с ним различные действия: инициализировать программу, содержащуюся В файле; удалить, переименовать, скопировать файл. Выполнять все эти операции вы научитесь на практическом занятии.

Вопросы и задания

    1. Как называется операционная система, используемая в вашем компьютерном классе?
    2. Какую файловую структуру использует операционная система на ваших компьютерах (простую, многоуровневую)?
    3. Сколько физических дисководов работает на ваших компьютерах? Сколько логических дисков находится на физических дисках и какие имена они имеют в операционной системе?
    4. Каким правилам подчиняются имена файлов в вашей ОС?
    5. Что такое путь к файлу на диске, полное имя файла?
    6. Научитесь (под руководством учителя) просматривать на экране каталоги дисков на ваших компьютерах.
    7. Научитесь инициализировать работу программ из программных файлов (типа exe, com).
    8. Научитесь выполнять основные файловые операции в используемой ОС (копирование, перемещение, удаление, переименование файлов).

Пользовательский интерфейс

Дружественный пользовательский интерфейс

А теперь познакомьтесь с новым для вас понятием "пользовательский интерфейс".

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

Форму взаимодействия программы с пользователем называют пользовательским интерфейсом . Удобная для пользователя форма взаимодействия называется дружественным пользовательским интерфейсом.

Объектно-ориентированный интерфейс

Интерфейс современных системных и прикладных программ носит название объектно-ориентированного интерфейса. Примером операционной системы, в которой реализован объектно-ориентированный подход, является Windows.

Операционная система работает с множеством объектов, к числу которых относятся: документы, программы, дисководы, принтеры и другие объекты, с которыми мы имеем дело, работая в операционной системе.

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

Документы и программы - это информационные объекты. А такие объекты, как дисководы и принтеры, являются аппаратными (физическими) объектами. С объектом операционная система связывает:

    графическое обозначение;

    свойства;

    поведение.

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

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

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

Контекстное меню

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

Меню - это выводимый на экран список, из которого пользователь может выбирать нужный ему элемент.

Рис. 2.12. Контекстное меню документа

В меню на рис. 2.12 все пункты, кроме последнего, относятся к действиям, которые можно выполнить с документом. Выбор нужного пункта меню производится с помощью клавиш управления курсором или манипулятора (например, мыши). Если выбрать пункт меню "Свойства", то на экран будет выведен список свойств данного объекта.

Вопросы и задания

    1. Что такое пользовательский интерфейс?
    2. Чем характеризуется объект (с точки зрения объектно-ориентированного подхода)?
    3. Каким образом можно узнать свойства объекта или выполнить действие над ним?

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

Файловые системы: определение

Согласно распространенному определению, файловая система - это совокупность алгоритмов и стандартов, задействуемых с целью организации эффективного доступа пользователя ПК к данным, размещенным на компьютере. Некоторые специалисты считают ее частью Другие IT-эксперты, признавая тот факт, что она непосредственно связана с ОС, полагают, что файловая система - независимый компонент управления компьютерными данными.

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

Принципы работы файловых систем

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

Согласно общепринятому в среде IT-экспертов определению, это область данных фиксированной величины, выражаемая в базовых единицах измерения информации - байтах. Располагается файл на дисковом носителе, как правило, в виде нескольких связанных между собой блоков, имеющих конкретный "адрес" доступа. Файловая система определяет эти самые координаты и "сообщает" их, в свою очередь, ОС. Которая понятным образом транслирует соответствующие данные пользователю. Происходит обращение к данным с целью считывания их, модифицирования, создания новых. Конкретный алгоритм работы с "координатами" файлов может быть разным. Он зависит от типа компьютера, ОС, специфики хранящихся данных и прочих условий. Потому, есть различные виды файловых систем. Каждая из них оптимизирована для использования в конкретной ОС или для работы с определенными типами данных.

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

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

Разновидности

Какие виды файловых систем можно назвать самыми распространенными? Вероятно, в первую очередь те, что используются самой популярной ОС для ПК в мире - Windows. Основные файловые системы Windows - это FAT, FAT32, NTFS и их различные модификации. Наряду с компьютерами популярность обрели смартфоны и планшеты. Большинство из них, если говорить о глобальном рынке и не рассматривать различия в технологических платформах, управляется ОС Android и iOS. Эти ОС задействуют свои алгоритмы работы с данными, отличные от тех, которыми характеризуются файловые системы Windows.

Стандарты, открытые для всех

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

Структура файловой системы

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

Один из ключевых - Он являет собой изолированную область данных, в которой могут размещаться файлы. Структура каталогов - иерархическая. Что это значит? Один или несколько каталогов могут размещаться в другом. Который, в свою очередь, входит в состав "вышестоящего". Самым "главным" считается корневой каталог. Если говорить о принципах, на базе которых работает файловая система Windows - 7, 8, XP или же другой версии, - корневым каталогом считается логический диск, обозначаемый буквой - как правило, C, D, E (но можно настроить любую, что есть в английском алфавите). Что касается, к примеру, ОС Linux, то там корневым каталогом выступает магнитный носитель в целом. В этой операционной системе и других ОС, основанных на ее принципах - к таковым относится Android - логические диски не используются. Можно ли хранить файлы без каталогов? Да. Но это не очень удобно. Собственно, комфорт в пользовании ПК - одна из причин внедрения в файловых системах принципа распределения данных по каталогам. Называться, кстати, они могут по-разному. В Windows каталоги именуются папками, в Linux - в основном так же. Но традиционное, используемое в течение многих лет название каталогов в этой ОС - "директории". Как и в предшествующих Windows и Linux ОС - DOS, Unix.

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

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

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

Имена файлов и каталогов в разных системах

Если условиться, что файлы - это все же составные элементы соответствующих им систем, то стоит рассмотреть их базовую структуру. Что можно отметить в первую очередь? Для удобства организации доступа к ним в большинстве современных систем управления данными предусмотрена двухуровневая структура именования файлов. Первый уровень - это название. Второй - расширение. Возьмем для примера музыкальный файл Dance.mp3. Dance - это название. Mp3 - расширение. Первое призвано раскрывать для пользователя суть содержания файла (а для программы быть ориентиром для быстрого доступа). Второе обозначает тип файла. Если он Mp3, то нетрудно догадаться, что речь идет о музыке. Файлы с расширением Doc - это, как правило, документы, Jpg - картинки, Html - веб-страницы.

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

Общее правило для всех ОС и соответствующих им систем управления данными - в одном каталоге не могут находиться файлы с одинаковыми наименованиями. В Linux при этом присутствует некая "либерализация" этого правила. В одном каталоге могут быть файлы с одинаковыми буквами, но в разном регистре. Например, Dance.mp3 и DANCE.mp3. В ОС Windows это невозможно. Эти же правила установлены также и в аспекте размещения каталогов внутри других.

Адресация файлов и каталогов

Адресация файлов и каталогов - важнейший элемент соответствующей системы. В ОС Windows ее пользовательский формат может выглядеть так: C:/Documents/Music/ - это доступ к каталогу Music. Если нас интересует какой-то конкретный файл, то адрес может выглядеть так: C:/Documents/Music/Dance.mp3. Почему "пользовательский"? Дело в том, что на уровне программно-аппаратного взаимодействия компонентов компьютера структура доступа к файлам гораздо более сложная. Файловая система определяет местоположение файловых блоков и взаимодействует с ОС по большей части в рамках скрытых от пользователя операций. Однако у пользователя ПК крайне редко возникает необходимость пользоваться иными форматами "адресов". Практически всегда доступ к файлам осуществляется в указанном стандарте.

Сравнение файловых систем для Windows

Мы изучили общие принципы функционирования файловых систем. Рассмотрим теперь особенности самых распространенных их видов. В Windows чаще всего используются такие файловые системы, как FAT, FAT32, NTFS, а также exFAT. Первая в этом ряду считается устаревшей. Она, вместе с тем, долгое время была неким флагманом индустрии, но по мере роста технологичности ПК ее возможности перестали удовлетворять запросам пользователей и потребностям в ресурсах со стороны программного обеспечения.

Призванная заменить FAT файловая система - это FAT32. Как считают многие IT-эксперты, сейчас она самая популярная, если говорить о рынке ПК под управлением Windows. Она чаще всего используется при хранении файлов на жестких дисках и флешках. Также можно отметить, что эта система управления данными достаточно регулярно используется в модулях памяти различных цифровых устройств - телефонах, фотоаппаратах. Основное преимущество FAT32, которое выделяют IT-эксперты, таким образом, это универсальность. Несмотря на то что создана была данная файловая система компанией Microsoft, работать с данными в рамках заложенных в ней алгоритмов могут большинство современных ОС, включая те, что инсталлированы на указанные типы цифровой техники.

Есть у системы FAT32 и ряд недостатков. Прежде всего можно отметить ограничение на размер одного взятого файла - он не может быть больше 4 Гб. Также в системе FAT32 нельзя встроенными средствами Windows задать логический диск, размер которого был бы больше 32 Гб. Но это можно сделать, установив дополнительное специализированное ПО.

Другая популярная система управления файлами, что разработана Microsoft - это NTFS. Как считают некоторые IT-эксперты, по большинству параметров она превосходит FAT32. Но этот тезис справедлив, если речь идет о работе компьютера под управлением Windows. Система NTFS не настолько универсальна, как FAT32. Особенности ее функционирования делают использование данной файловой системы не всегда комфортным, в частности, в мобильных устройствах. Одно из ключевых преимуществ NFTS - надежность. Например, в тех случаях, когда у жесткого диска внезапно отключается питание, вероятность того, что файлы повредятся, сводится к минимуму, благодаря предусмотренным в NTFS алгоритмам дублирования доступа к данным.

Одна из новейших файловых систем от Microsoft - exFAT. Наилучшим образом она адаптирована для флешек. Базовые принципы работы в ней те же, что и в FAT32, но присутствует также и значимая модернизация в некоторых аспектах: например, нет никаких ограничений по размеру единичного файла. Вместе с тем система exFAT, как отмечают многие IT-эксперты, в числе тех, что обладают низкой универсальностью. На компьютерах под управлением ОС, отличных от Windows, работа с файлами при использовании exFAT может быть затруднена. Более того, даже в некоторых версиях самой Windows, таких как XP, данные на дисках, отформатированных по алгоритмам exFAT, могут не читаться. Потребуется установка дополнительного драйвера.

Отметим, что по причине задействования достаточно широкого спектра файловых систем в ОС Windows у пользователя могут возникать периодические сложности в аспекте совместимости различных устройств с компьютером. В ряде случаев, например, требуется установить драйвер файловой системы WPD (Windows Portable Devices - технологии, используемой при работе с переносными устройствами). Иногда его может не оказаться под рукой у пользователя, вследствие чего внешний носитель ОС может не распознать. Файловая система WPD может потребовать дополнительных программных средств адаптации к операционной среде на конкретном компьютере. В ряде случаев пользователь будет вынужден обращаться к IT-специалистам для решения проблемы.

Как определить, какая именно файловая система - exFAT или NTFS, а может быть, FAT32 - оптимальна для использования в конкретных случаях? Рекомендации IT-специалистов в целом следующие. Можно задействовать два основных подхода. Согласно первому следует разграничивать типичные файловые системы жестких дисков, а также те, что лучше адаптированы к флеш-накопителям. FAT и FAT32, как считают многие специалисты, лучше подходят для "флешек", NTFS - для винчестеров (в силу технологических особенностей работы с данными).

В рамках второго подхода значение имеет величина носителя. Если речь идет об использовании сравнительно небольшого объема диска или флешки, отформатировать их можно в системе FAT32. Если диск большего размера, то можно попробовать exFAT. Но только в том случае, если не предполагается использование носителей на других компьютерах, особенно тех, где стоят не самые свежие версии Windows. Если речь идет о больших жестких дисках, в том числе и внешних, то их целесообразно форматировать в NTFS. Примерно таковы критерии, по которым может быть выбрана оптимальная файловая система - exFAT или NTFS, FAT32. То есть использовать какую-либо из них следует, учитывая размер носителя, его тип, а также версию ОС, на котором накопитель преимущественно используется.

Файловые системы для Mac

Другая популярная программно-аппаратная платформа на мировом рынке компьютерной техники - Macintosh от Apple. ПК данной линейки работают под управлением операционной системы Mac OS. Каковы особенности организации работы с файлами в компьютерах Mac? В самых современных ПК от Apple используется файловая система Mac OS Extended. Ранее в компьютерах Mac работа с данными управлялась в соответствии со стандартами HFS.

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

Файловая система в Android-устройствах

Самая популярная ОС для мобильных устройств - виде электронной техники, не уступающей по популярности ПК, - это Android. Каким образом осуществляется управление файлами на девайсах соответствующего типа? Отметим прежде всего, что данная операционная система - фактически "мобильная" адаптация ОС Linux, которая, благодаря открытому программному коду, может быть модифицирована с перспективой использования на самом широком спектре устройств. Поэтому управление файлами в мобильных девайсах под управлением Android осуществляется в целом по тем же принципам, что и в Linux. Некоторые из них мы отметили выше. В частности, управление файлами в Linux осуществляется без деления носителя на логические диски, как это происходит в Windows. Что еще интересного заключает в себе файловая система Android?

Корневым каталогом в Android, как правило, выступает область данных, именуемая /mnt. Соответственно, адрес нужного файла может выглядеть примерно так: /mnt/sd/photo.jpg. Кроме того, есть еще одна особенность системы управления данными, что реализована в данной мобильной ОС. Дело в том, что флеш-память девайса, как правило, классифицирована на несколько разделов, таких как, например, System или Data. При этом, изначально заданный размер каждого из них изменить нельзя. Приблизительную аналогию касательно данного технологического аспекта можно обнаружить, вспомнив, что нельзя (если не использовать специального ПО) менять размер логических дисков в Windows. Он должен быть фиксированным.

Еще одна интересная особенность организации работы с файлами в Android - соответствующая операционная система, как правило, записывает новые данные в конкретную область диска - Data. Работа, к примеру, с разделом System при этом не осуществляется. Поэтому, когда пользователь задействует функцию сброса программных настроек смартфона или планшета до уровня "заводских", то на практике это означает, что те файлы, что записаны в область Data, попросту стираются. Раздел System же, как правило, остается неизменным. Более того, какие-либо корректировки содержимого в System пользователь, не обладая специализированным ПО, осуществлять не может. Процедура, связанная с обновлением системной области носителя в Android-устройстве, называется перепрошивкой. Это не форматирование, хотя обе операции часто осуществляются одновременно. Как правило, перепрошивка применяется с целью установки на мобильное устройство более новой версии ОС Android.

Таким образом, ключевые принципы, на базе которых работает файловая система Android - отсутствие логических дисков, а также жесткое разграничение доступа к системным и пользовательским данным. Нельзя сказать, что данный подход принципиально отличается от того, что реализован в Windows, однако, как считают многие IT-эксперты, в ОС от Microsoft для пользователей присутствует несколько большая свобода в работе с файлами. Впрочем, как полагают некоторые специалисты, это нельзя считать однозначным преимуществом Windows. "Либеральный" режим в аспекте управления файлами задействуют, конечно же, не только пользователи, но и компьютерные вирусы, к которым Windows очень восприимчива (в отличие от Linux и ее "мобильной" реализации в виде Android). В этом, как считают эксперты, заключается одна из причин того, что вирусов для Android-устройств столь немного - чисто с технологической точки зрения они не могут в полной мере функционировать в операционной среде, работающей по принципам строгого контроля доступа к файлам.