Файл – это поименованная конечная последовательность данных на диске.
Часть ОС, работающая с файлами и обеспечивающая хранение данных на дисках и доступ к ним, называется файловой системой.
Месторасположение файла характеризуется двумя адресами:
1) пользовательским: имя файла – это адрес, по которому пользователь может получить доступ к совокупности данных этого файла;
2) аппаратным: номера дорожки, сектора и т. п. определяет физическое месторасположение файла на ВЗУ.
Преобразование пользовательского адреса в аппаратный и обратно осуществляется с помощью файловой системы ОС.
Возможны следующие действия с файлами:
- создание: за файлом закрепляется название и выделяется место на диске;
- открытие: поиск файла на диске и выделение памяти в ОЗУ для обмена данными с файлом;
- закрытие: сохранение текущего состояния файла после действий с ним;
- изменение: модификация содержимого файла;
- копированиеи перемещение файла;
- переименование: закрепление за файлом нового имени;
- удаление: освобождение места на диске, занимаемого файлом.
На любом диске обязательно присутствует корневой каталог. Корневой каталог представляет собой совокупность записей о файлах и других каталогах, которые он содержит.
Каждая запись содержит следующие параметры:
- имя файла;
- расширение файла;
- объем файла в байтах;
- дата и время создания файла;
- дата и время последнего открытия (доступа) файла;
- атрибуты файла: только для чтения; скрытый файл; системный файл; архивированный файл.
Корневой каталог имеет фиксированное место на диске и размер. Все остальные каталоги имеют такую же структуру, но могут храниться в любом месте области данных диска, как и файлы. Каталоги необходимы для упорядоченного хранения файлов.
В ОС Windows каталоги называются папками.
Расширения файлов используются ОС, чтобы определить какую программу необходимо запустить для обработки файла с данным расширением. Расширение определяет тип файла, но не тип – расширение. Основные расширения файлов приведены в таблице.
Тип | Назначение |
EXE, COM | Исполняемые файлы – программы |
DOC, RTF, TXT | Документы |
LNK | Файл ярлыка |
DLL, SYS | Системные файлы |
BMP, JPG, GIF, PNG | Файлы изображений |
MID, MP3, WAV, WMA | Звуковые файлы |
ASF, AVI, MOV, MP4, MPG | Видеофайлы |
От файловой системы требуется выполнение следующих действий:
- определение по имени файла физического расположения его частей;
- определение наличия свободного места и выделение его для вновь создаваемых файлов.
Скорость выполнения этих операций напрямую зависит от самой файловой системы. Разные файловые системы используют различные механизмы для реализации указанных задач и имеют свои преимущества и недостатки.
Файловая система FAT(File Allocation Table – таблица размещения файлов), использующихся в ОС MS-DOS и Windows, представляют собой образ носителя в миниатюре, где детализация ведется до кластерного уровня. Поэтому операция поиска физических координат файла при его большой фрагментации будет затруднительна. Еще хуже обстоит дело с поиском свободного места для больших файлов. Приходится просматривать практически всю таблицу, поэтому быстродействие падает.
Современная файловая система NTFS (New Technology File System – файловая система нового типа) в ОС Windows XP / Vista / 7 использует более компактную форму записи, что ускоряет поиск файла. Поэтому операции с выделением места под файл проходят быстрее. Ключевое преимущество файловой системы NTFS – возможность ограничения доступа к файлам и каталогам.
Microsoft реализовала в Windows 8 новую файловую систему - ReFS (Resilient File System - отказоустойчивая файловая система). Считается, что ReFS обеспечивает лучшую защиту данных на ёмких и быстрых жестких дисках.
В динамичном мире софта есть нечто, что не меняется порой десятилетиями. Актуальная сейчас NTFS (New Technology File System) появилась почти 20 лет назад, в 1993-м, вместе с принципиально новой ОС - Windows NT 3.1. И с тех пор NTFS добросовестно трудится на сотнях миллионов Windows-ПК по всему миру. Но теперь для нее появилась замена: ReFS.
ReFS – и в Windows 10
Согласно предложению МЭК, назвать 260 байт "эксабайт" общепринято, но формально неверно, как приставка экса-, означает умножение на 1018, а не 260. Правильной для 260 является двоичная приставка эксби-. (Tбайт – 1012)
Таким образом, 1 ЭБ = 1018 Б, а 1 ЭиБ = 260 Б.
Архитектура ReFS
Дисковая реализация структур ReFS кардинально отличается от других файловых систем Microsoft. Реализовать свои идеи разработчики Microsoft смогли, применив в ReFS концепцию B+-деревьев (сильно ветвистых деревьев), используемую в базах данных. Папки в файловой системе структурированы в виде таблиц с файлами в качестве записей. Они, в свою очередь, получают определенные атрибуты, добавляемые в качестве подтаблиц, создавая иерархическую древовидную структуру. Даже свободное место на диске организовано в виде таблиц.
"Листьями Каталога" являются типизированные записи. Для объекта-папки существуют три основных типа записей: описатель каталога, индексная запись и описатель вложенного объекта. Все такие записи упакованы в виде отдельного B+-дерева, имеющего идентификатор папки; корень этого дерева является листом B+-дерева "Каталога", что позволяет упаковать в папку практически любое количество записей.
Папки в файловой системе структурированы в виде таблиц с файлами. Они, в свою очередь, получают определенные атрибуты, добавляемые в качестве подтаблиц, создавая иерархическую древовидную структуру. Даже свободное место на диске организовано в виде таблиц.