Различные операционные системы поддерживают различные файловые системы . Ваш съемный диск должен использовать FAT32 для лучшей совместимости, но если Вы планируете хранить большие файлы – то форматируйте в NTFS. Mac форматирует диски в стандарт HFS+, который не работает с Windows. В Linux тоже есть свои файловые системы.

Почему их так много?

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

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

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

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

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

Почему так много файловых систем

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

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

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

Переключение файловых систем

Каждый раздел имеет файловую систему. Иногда вы можете «конвертировать» файловую систему раздела, но это редко возможно. Вместо этого, вероятно, Вам придётся сначала скопировать важные данные из раздела.

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

Таким образом, если у вас есть устройство хранения данных и вы хотите использовать другую файловую систему, просто скопируйте файлы с него, чтобы создать их резервную копию . Затем воспользуйтесь инструментом Управление дисками в Windows, gparted в Linux или дисковой утилитой в Mac OS.

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

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

  • FAT32 : является одной из наиболее старых файловых систем Windows, но он всё ещё используется на съемных носителях – небольших по объему. Большие внешние жесткие диски объемом 1 ТБ или более будут, в любом случае, отформатированы с помощью NTFS. FAT32 имеет смысл использовать только с небольшими устройствами хранения или для совместимости с другими устройствами, такими как цифровые камеры, игровые консоли, приставки и другие устройства, которые поддерживают только FAT32, но NTFS.
  • NTFS : современная версия файловой системы Windows – используется начиная с Windows XP. Внешние диски могут быть отформатированы с помощью FAT32 или NTFS.
  • HFS+ : Mac использует HFS+ для своих внутренних разделов, ей же форматирует внешние диски – для использования внешнего жесткого диска с Time Machine требуется, чтобы атрибуты файловой системы можно было добавлять в резервную копию. Маки также могут читать и записывать файлы в файловые системы FAT32, но Вам понадобится стороннее программное обеспечение для записи в файловые системы NTFS с Mac.
  • Ext2 / Ext3 / Ext4 : Вы будете часто видеть файловые системы ext2, ext3 и ext4 в Linux. Ext2 является более старой файловой системой, и она не имеет важных функций, таких как ведение журнала – если питание гаснет или компьютер аварийно завершает работу во время записи на диск ext2, данные могут быть потеряны. Ext3 добавляет эти характеристики робастности за счет некоторой скорости. Ext4 является более современным и быстрым вариантом – это файловая система используется по умолчанию на большинстве дистрибутивов Linux. Windows и Mac не поддерживают эти файловые системы – вам понадобится сторонний инструмент для доступа к файлам в таких файловых системах. Вместе с тем, Linux может читать и записывать как в FAT32, так и в NTFS.
  • Btrfs : это новая файловая система Linux, которая всё ещё находится в разработке. На данный момент он не является стандартным для большинства дистрибутивов Linux, но, вероятно, однажды заменит Ext4. Цель состоит в том, чтобы предоставить дополнительные функции, которые позволяют Linux масштабировать до больших объемов хранения.
  • Swap : в Linux файловая система «swap», на самом деле, не является файловой системой. Раздел, отформатированный как «swap», может быть использован в качестве пространства подкачки операционной системы – как файл подкачки Windows, но требует специальный раздел.

Существуют и другие файловые системы, особенно в Linux и других Unix-подобных системах.

Типичный пользователь компьютера не должен знать большую часть этого материала – но знание основ поможет Вам понять такие вопросы, как: «почему этот диск в формате Mac не работает с моим ПК на Windows?» и «должен ли я отформатировать этот жесткий диск USB как FAT32 или NTFS?».

В ОС Windows поддерживается представление о файле как о не структурированной последовательности байтов.

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

Именование файлов

Для создания файла и присвоения ему имени в ОС Windows используется Win32-функция CreateFile. Максимальная длина полного имени файла при создании файла равна MAX_PATH со значением 260, но система позволяет использовать имена файлов длиной до 32000 символов в формате Unicode.

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

Атрибуты файлов

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

Атрибуты хранятся в виде пары: <наименование атрибута, значение атрибута> в записи о файле в главной файловой таблице MFT (Master File Table - "главная файловая таблица").

Перечень атрибутов файла NTFS

  • Стандартная информация - флаговые биты (только чтение, архивный), временные штампы.
  • Имя файла. Имя файла хранится в кодировке Unicode.
  • Описатель защиты (управление доступом к файлу).
  • Данные. Неименованный и именованный потоки данных.
  • Идентификатор объекта - 64 - разрядный идентификатор файла, уникальный для данного тома. Файл может быть открыт не только по имени, но и по этому идентификатору.
  • Информация о томе.
  • Информация об индексированнии, используемая для каталогов.
  • Данные EFS (Encryption File System), используемые для шифрования.

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

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

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

Директории. Логическая структура файлового архива

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

В полном имени файла ОС Windows поддерживает обозначения "." - для текущей директории, ".." - для корневого каталога.

Разделы диска. Операция монтирования

В ОС Windows принято разбивать физические диски на логические (это низкоуровневая операция), иногда называемые разделами (partition). Иногда, наоборот, объединяют несколько физических дисков в один логический. Имена логических дисков хранятся в каталоге "\?" пространства имён объектов. Указав букву диска, прикладная программа получает доступ к егэ файловой системе.

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

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

В ОС Windows файловая система интегрирована в систему ввода-вывода.

Кластеры

Обычно диски разбиты на блоки (секторы) размером - 512 б. Но удобнее оперировать блоками более крупного размера - кластера (cluster). Размер кластера равен размеру сектора, умноженному на кластерный множитель (claster factor), и может быть установлен во время операции форматирования диска. По умолчанию это значение равно 4 Кб.

NTFS поддерживает размеры 512, 1024, 2048, 4096, 8196, 16 КБ, 32 КБ, 64 К. Оптимальным является компромиссный размер блока, лежащий в диапазоне от 1-го до 8 Кб. Сжатие томов NTFS не поддерживается для размеров кластеров более 4096 Б. Система различает кластеры диска (volume claster) и кластеры диска, принадлежащие файлу (logical claster).

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

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

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

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

1. как хранятся файлы и каталоги на диске;

2. какие сведения хранятся о файлах и каталогах;

3. как можно узнать, какие участки диска свободны, а какие - нет;

4. формат каталогов и другой служебной информации на диске.

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

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

В операционных системах семейства MS Windows используются следующие файловые системы - FAT, FAT 32, NTFS.

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

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

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

На компьютере под управлением Windows NT в любой из поддерживаемых файловых систем нельзя отменить удаление. Программа отмены удаления пытается напрямую обратиться к оборудованию, что невозможно при использовании Windows NT. Однако если файл находился в FAT-разделе, то, запустив компьютер в режиме MS-DOS, удаление файла можно отменить. Файловая система FAT лучше всего подходит для использования на дисках и разделах размером до 200 МБ, потому что она запускается с минимальными накладными расходами.

Как правило, не стоит использовать файловую систему FAT для дисков и разделов, чей размер больше 200 МБ. Это объясняется тем, что по мере увеличения размера тома производительность файловой системы FAT быстро падает. Для файлов, расположенных в разделах FAT, невозможно установить разрешения. Разделы FAT имеют ограничение по размеру: 4 ГБ под Windows NT и 2 ГБ под MS-DOS.

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

Компьютер, как правило, имеет несколько дисков. Каждому диску присваивается имя, которое задается латинской буквой с двоеточием, например, А:, В:, С: и т.д. Стандартно принято, что А: и В: – это накопители на гибких магнитных дисках, а диски С:, D: и т.д. – жесткие диски, накопители на оптических дисках или электронные диски.

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

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

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

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

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

загрузочного сектора,

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

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

Загрузочный сектор (Boot Record) размещается на каждом диске в логическом секторе с номером 0. Он содержит данные о формате диска, а также короткую программу, используемую в процедуре начальной загрузки операционной системы.

На жестком диске имеется область, которая называется главной загрузочной записью MBR (Master Boot Record) или главным загрузочным сектором. В MBR указывается, с какого логического диска должна производиться загрузка операционной системы.

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

Корневой каталог (Root Directory) всегда находится за копией FAT. В корневом каталоге содержится перечень файлов и директорий, находящихся на диске. Непосредственно за корневым каталогом располагаются данные.

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

Файл

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

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

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

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

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

Поскольку в определении файла нет ограничений на размер, можно представить себе файл, имеющий 0 байтов (пустой файл),и файл, имеющий любое число байтов.

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

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

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

Каждый файл обладает рядом характерных свойств – атрибутов. Важнейшими атрибутами файла являются:

название,

расширение,

время и дата создания.

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



последовательность букв латинского алфавита,

некоторых специальных знаков (~, _, -, $, &, @, %,",!,(>)> {>}. #).

Название может содержать от одного до восьми (1 … 8) символов и выбирается произвольным образом. Желательно подбирать названия файлам так, чтобы пользователь мог легко вспомнить, что именно хранится в этом файле. Например, файл, содержащий отчет за 4-й квартал, можно назвать otchet4, файл с ведомостью на зарплату – vedzarpl, а файл с каким-либо рисунком целесообразно назвать picture.

В операционной системе MS DOS название файла не может содержать

пробелов,

букв русского алфавита,

Кроме того, оно не может содержать более восьми символов. Вообще говоря, это достаточно существенные ограничения. Например, файл, содержащий отчет предприятия за 4-й квартал, который мы назвали otchet4, желательно было бы назвать «Отчет за 4-й квартал», в крайнем случае «Otchet za 4 kvartal», применив так называемую транслитерацию, когда слова одного языка записываются буквами другого. В операционных системах Unix и Windows 9.x сняты ограничения на длину названия, использование пробелов и точек в названии. А в операционной системе Windows 9.x, кроме того, в названии можно использовать русские буквы. Таким образом, файл в Unix может иметь название «Otchet za 4 kvartal», а в Windows 9.x допускается и название «Отчет за 4-й квартал».

Кроме названия каждый файл может иметьили не иметь расширение. Расширение используется для того, чтобы определенным образом охарактеризовать содержимое файла. Например, расширения doc и txt указывают на то, что файл содержит какой-либо документ или текст, а расширение bmp имеет файл, содержащий изображение в формате битовой карты. Расширение, если оно есть, отделяется от названия файла точкой. В операционной системе MS DOS расширение может содержать от одного до трех символов, например, otchet4.doc, vedzarpl.txt, picture.bmp, а в системах Unix и Windows 9.x допускается более трех символов. Если расширения нет, то точка в названии файла не ставится.

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

Таблица 3.1

Некоторые расширения MS DOS и Windows 9.x

Файлы с расширением.сом (common – общий) и.exe (execute – выполнение) содержат программы на машинном языке. Эти файлы часто называют программными файлами. Различия между com-файлами и ехе-файлами касаются их внутренней организации. На способах обращения с файлами эти различия никак не сказываются. Файлы с расширением.bat (batch – пачка) содержат произвольные последовательности команд операционной системы. Такие файлыпринято называть командными файлами. Термин « выполняемый файл» объединяет понятия «программный файл» и «командный файл». Другими словами, «выполняемый файл» означает, что файл содержит либо программу на машинном языке, которая может быть непосредственно выполнена процессором компьютера (файлы с расширениями.ехе и.com), либо последовательность команд операционной системы (файл с расширением.bat), которые тоже выполняются, но только путем обращения к соответствующим программам и средствам операционной системы.

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

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

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

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

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

Символ *, встретившийся в групповом имени, трактуется операционной системой как «любая последовательность любых символов названия». Так, групповому имени а* соответствуют любые названия, начинающиеся с буквы «а»: а1, azbuka, a2z4.

Символ? воспринимается ОС как любой одиночный символ, то есть ему соответствует ровно один произвольный символ имени. Например, шаблону otchet?.doc соответствуют любые имена с расширением.doc, в названии которых за отрезком названия otchet следует ровно один символ, например otchet1.doc, otchet4.doc, otchet%.doc, otchet#.doc и т. д.

Еще несколько примеров:

Txt – файлы с любыми двухбуквенными именами и расширением.txt;

*.bak – файлы с любыми именами и расширением.bak;

prog1.* – файлы с названием progl и любым расширением;

*.* – файлы с любыми названиями и любыми расширениями.

Каталоги

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

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

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

Аналогия между каталогом и оглавлением в книге только частичнаяиз-за того, что кластерывыделяются файлу на диске не сплошным массивом, а в разброс, в то время как в книге все страницы главы размещаются подряд. Представьте себе, одна из глав книги занимает страницы 5, 15, 16, 17, 31, 123, 124 вместо того, чтобы занимать страницы 5, 6, 7, 8, 9, 10, 11 подряд. Такое не сплошноевыделение кластеров файлам организовано для того, чтобы оптимизировать использование свободного пространства диска при многочисленных уничтожениях и записях файлов.

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

Для кластеров существует линейная адресация: все кластеры пронумерованы от 1 до 2n (здесь n – разрядность FAT). Для 16-разрядной FAT количество кластеров на диске составляет 216 = 65536. Не трудно вычислить, что для дисков емкостью 1 Гбайт кластер составляет 32 Кбайта.

Размер современных жестких дисков, как правило, превышает 1 Гбайт. При записи информации на такие диски значительная часть дискового пространства может тратиться впустую, поскольку, например, в случае 16-разрядной FAT файлы размером 31 Кбайт и менее 1 Кбайта занимают каждый одинаковое пространство на диске – 32 Кбайта. Неиспользованное пространство кластера называется «кластерным выступом». Потери на кластерные выступы тем больше, чем большее количество малых файлов записано на диске.

Самый естественный путь для повышения эффективности использования кластеров – это уменьшение их размеров. В настоящее время используется файловая система FAT32, в которой используется 232 кластера.

Рассмотренная выше простая структура каталога, в котором все файлы образуют один общий список, может обеспечить удовлетворительную работу операционной системы только в случае небольших объемов дискаи ограничивает общее число файлов, которые могут быть записаны на диск. Так, на гибких дисках объемом 1,44 Мбайт корневой каталог может содержать сведения не более чем о 224 файлах. А когда объем диска становится достаточно большим и, следовательно, на диске могут быть записаны сотни и тысячи файлов, простая структура каталога приводит к существенному замедлению процесса поиска файла на диске или переполнению каталога.

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

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

Группировка и включение файлов в подкаталог могут производиться по любым критериям. Например, в отдельный подкаталог с названием WINDOWS (рис. 3.3)целесообразно собрать все файлы, имеющие отношение к операционной системе. Точно так же целесообразно сгруппировать в отдельный подкаталог все файлы, необходимые для работы какого-либо текстового редактора или игровой программы. Если на машине по очереди работают несколько пользователей, то имеет смысл организовать отдельные подкаталоги для каждого пользователя. Например, назвать подкаталоги именами: user1, user2, user3,... (user - пользователь), сгруппировав в подкаталоге user1 файлы первого пользователя, в подкаталоге user2 - второго и т.д. Кроме снятия количественных ограничений, связанных с использованием одного каталога, это создает определенную упорядоченность при хранении информации на дисках.

Все подкаталоги, находящиеся в корневом каталоге, относят к первому уровню. На рис. 3.3 подкаталогами первого уровня являются подкаталоги Windows, user1, Program files. Корневой каталог по отношению к включенным в него подкаталогам первого уровня называют родительским , а подкаталоги по отношению к корневому считаются дочерними или вложенными .

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

Рис. 3.3. Древовидная структура каталога

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

В операционных системах с графическим интерфейсом каталоги изображаются в виде папок. На рисунке показано дерево папок одного из дисков. Из рис. 3.4 видно, что в корневом каталоге имеется четыре папки: А, В, С и D. При этом внутри папки А находятся папки А1 и А2. В папке С располагаются папки С1 и С2. В папке А1 находится папка A11, а в последней – папка А111. Крестик на дереве говорит о том, что внутри соответствующих папок находятся другие папки (внутри папок D и А12 находятся папки, которые не видны). На этом рисунке не видны файлы, которые могут находиться как в корневом каталоге, так и в любой папке.

Рис. 3.4. Каталоги в виде папок

Путь к файлу

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

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

Цепочка названий подкаталогов, по которым нужно пройти, начиная от корневого каталога и заканчивая подкаталогом, содержащим файл, называется путем или маршрутом к файлу .

В операционных системах MS DOS и Windows корневой каталог в пути указывается символом \. Этим же символом отделяются друг от друга названия подкаталогов в цепочке, а также имя файла от названия подкаталога, в котором он находится. Этот символ называется back slash – обратный слэш.

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

Файл из подкаталога user1 имеет путь \user1:

\user1\picture.bmp.

А путь к файлам из подкаталога kontakti должен включать названия обоих подкаталогов - \user1\kontakti:

\user1\kontakti\ivanov.doc,

\user1\kontakti\postavki.txt

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

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

ü название устройства,

ü путь к файлу,

ü имя файла.

<имя носителя>\<имя каталога-1>\...\<имя каталога-N>\<собственное имя файла>.

Если, например, каталог, структура которого приведена на рис. 3.3, находится на жестком диске С:, то полная спецификация файла postavki.txt имеет вид:

C:\user1\kontakti\postavki.txt

Если этот каталог находится на гибком диске, то есть на дисковом устройстве А:, то спецификация запишется следующим образом:

A:\user1\kontakti\postavki.txt

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

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

Возможно, вы слышали о файловой системе FAT или NTFS, но знаете ли вы, какая из них используется в вашей системе? В этой статье рассказывается о том, как устроена файловая система и каковы различия между разными файловыми системами. Также я покажу вам, как узнать, какие файловые системы используются на ваших дисках.

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

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

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

О каких файловых системах следует знать?

В основном, ОС Windows использует файловую систему FAT (File Allocation Table), FAT32 и NTFS (New Technology File System).

Если говорить коротко, в NTFS могут храниться файлы размером более 4 ГБ, а разделы могут быть более 32 ГБ. NTFS лучше управляет свободным пространством, чем файловая система FAT или FAT32, и, следовательно, меньше фрагментирует диск. Также NTFS поддерживает некоторые функции по безопасности, включая шифрование файлов «на лету».

В сравнении с NTFS, файловые системы FAT и FAT32 приспособлены к меньшему пространству, менее интенсивно работают с жестким диском, и, следовательно, быстрее работают с небольшими флеш-накопителями. К тому же, FAT и FAT32 являются кросс платформенными файловыми системами. Самый главный недостаток FAT и FAT32 - ограничение в 32 ГБ на размер раздела, а также ограничение в 2 ГБ и 4 ГБ на размер файла соответственно.

Для хранения информации на флеш-накопителях в основном используется новая файловая система exFAT (Extended File Allocation Table), также известная как FAT64. Как и NTFS она поддерживает файлы размером более 4 ГБ и разделы более 32 ГБ, а также ее система управления файлами избегает фрагментации диска. В то же время она является быстрой, оптимизированной для мобильных носителей и обработки media-файлов.

Какие операционные системы работают с этими файловыми системами?

FAT и FAT32 доступны на чтение/запись практических во всех операционных системах. Ранее форматирование диска под файловую систему NTFS было верным способом добиться его неработоспособности вне ОС Windows. Однако сейчас поддержка чтения/записи NTFS встроена во многие дистрибутивы Linux. Также существует хак, который позволяет работать с этой файловой системой в Mac OS X версии 10.6, хотя, кажется, он работает нестабильно, поэтому рекомендуется использовать MacFuse. С другой стороны exFAT требует установки драйверов и в Windows XP и в Linux и поддерживается последними версиями Windows (Vista SP1, Windows 7, 8) и Mac OS X.

Почему важен размер кластера?

Если вы уже форматировали диск, то должны знать о том, что можно выбрать размер кластера (или размер блока размещения).

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

Как узнать тип файловой системы на диске?

Файловая система указана в свойствах диска. Зайдите в Мой компьютер (Computer), кликните правой кнопкой мыши на нужном диске и далее в контекстном меню выберите Свойства (Properties). Во вкладке Общие (General) в строке Файловая система (File system) вы увидите тип файловой системы.

Чтобы узнать размер кластера у диска с файловой системой NTFS, используйте комбинацию клавиш + [R], откроется окно Запуск программы (Run). Удостоверьтесь в том, что вы зашли в систему как пользователь с административными правами. В окне Запуск программы в текстовом поле напечатайте cmd и нажмите OK. Далее введите команду > fsutil fsinfo ntfsinfo и нажмите Enter.

В Windows XP и Windows 7 вы также можете просматривать и изменять размер кластера, используя приложения сторонних разработчиков, например, .

Какую файловую системы вы предпочитаете использовать на дисках и почему? Сталкивались ли вы с проблемами при использовании файловой системы NTFS, и как решали эти проблемы?