Мтс

Типы файловых систем — в чем разница между FAT32, NTFS и exFAT. Управление файлами, типы файлов, файловая система, атрибуты файла

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

Что же такое файловая система и для чего она нужна?

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

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

Виды файловых систем?

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

Fat 12

Fat — file allocation table в переводе таблица размещения файлов . Сначала файловая система была 12 разрядной, использовала максимум 4096 кластеров. Разрабатывалась она очень давно, ещё в времена DOS и использовалась для дискет и небольших накопителей объемом до 16 мб. Но на замену пришла более усовершенствованная fat16.

Fat 16

Эта файловая система содержала уже 65525 и поддерживала диски размеров 4.2 Гб, в то время это было роскошью и по этому на то время она хорошо справлялась. Но размер файла не мог превышать 2гб, да и по экономичности не самый лучший вариант, чем больше объем файла, тем больше кластер занимает места. По этому объем более 512 мб использовать не выгодно. В таблице показано сколько занимает размер сектора в зависимости от величины носителя.

Хоть на то время система и справлялась, но в дальнейшем появился ряд недостатков:

1. Нельзя работать с жесткими дисками более 8 Гб.

2. Нельзя создавать файлы более 2 Гб.

3. Корневая папка не может содержать более 512 элементов.

4. Невозможность работать с разделами дисков более 2 Гб.

Fat 32

Современные технологии не стоят на месте и со временем и системы fat 16 стало не хватать и на замену пришла fat 32 . Эта система уже могла поддерживать диски размером до 2 терабайт (2048 гигабайт) и уже экономично использовать дисковое пространство за счет кластеров меньшего размера. Из плюсов ещё то что нет ограничений по использованию файлов в корневой папке и более надежна по сравнению с предыдущими версиями. Но самый большой минус для настоящего времени, то что файлы могут повреждаться и хорошо что это не приведет к . И второй главный минус, что сейчас файлы превышают размер более 4 Гб, а система не поддерживает больший объем одного файла. Что зачастую возникают вопросы у пользователей почему я не могу скачать фильм размером в 7гб, хотя на диске свободно 100гб, вот и вся проблема.

По этому минусов и здесь хватает:

1. Файлы объемом более 4 Гб система, не поддерживает.

2. Система подвержена фрагментации файлов из-за чего система начинает тормозить.

3. Подвержена повреждением файлов.

4. На настоящий момент уже существуют диски более 2 Тб.

NTFS

И вот на замену пришла новая система ntfs (New Technology File System) что в переводе файловая система новой технологии , в которой убраны ряд недостатков, но и минусов хватает. Эта система является последней утвержденной, не считая новой, о которой я расскажу чуть ниже. Система появилась ещё в 90х годах, а утверждена в 2001 году при выходе windows xp и используется по сей день. поддерживает диски размером до 18 Тб, круто да? И при фрагментации файлов скорость теряется не так заметно. Безопасность уже достигла хороших высот, при сбое, повреждение информации маловероятна.

Минусы и здесь будут:

1. Потребляемость оперативной памяти, если у вас оперативной памяти меньше 64 мб, то ставить не рекомендуется.

2. При остатке 10% свободного места на жестком диске система начинает заметно тормозить.

3. Работа с малым объемом накопителя может быть затруднена.

Новая ReFS

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

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

Какую же файловую систему выбрать?

На хорошо производительный компьютер лучше ставить Ntfs , она подойдет производительнее и безопаснее для этих целей. Не рекомендуется ставить на компьютеры у которых объем жесткого диска менее 32ГБ и оперативной памяти 64 Мб. А старушку fat32 можно ставить на флешки с небольшим объемом, т.к. производительность может быть выше. И ещё один момент, что отформатировав флешку для телефона, цифровой камеры и других электронных устройств в формате ntfs у вас могут быть ошибки, т.к. некоторые устройства могут не поддерживать ntfs или же тормозить с ней и выдавать сбои. Так что перед форматированием убедитесь какая файловая система лучше для вашего устройства.

Существуют и другие виды файловых системы, например для Линуксов XFS , ReiserFS (Reiser3) , JFS (Journaled File System) , ext (extended filesystem) , ext2 (second extended file system) , ext3 (third extended filesystem) , Reiser4 , ext4 , Btrfs (B-tree FS или Butter FS) , Tux2 , Tux3 , Xiafs , ZFS (Zettabyte File System) , но это совсем другая история…

Файловая система NTFS
Для различных операционных систем разработано несколько различных файловых систем. На компьютере, работающем под управлением Windows ХР, для организации раздела диска можно выбрать одну из трех файловых систем: NTFS (NT File System), FAT 16 или FAT 32. Улучшенная файловая система NTFS обеспечивает очень высокий уровень быстродействия и безопасности, а также дополнительные возможности, недоступные ни в одной версии файловой системы FAT. Кроме того, в Windows ХР файловая система NTFS обеспечивает разрешения для файлов и папок, шифрование, дисковые квоты и сжатие.
NTFS необходимо использовать, если требуется управлять доступом к файлам и папкам и организовать поддержку учетных записей с ограниченными правами. В случае же применения файловой системы FAT 32 все пользователи будут иметь доступ ко всем файлам на жестком диске, независимо от типа учетной записи (администратор, ограниченные права или стандартные права). NTFS лучше других подходит для работы с большими дисками. К NTFS имеют доступ только компьютеры, работающие под управлением Windows ХР или Windows 2000, а также Windows NT 4.0 с дополнениями.
Файловую систему NTFS рекомендуется выбирать, когда работа в среде нескольких операционных систем не планируется.
Если диск или раздел будет преобразован в формат NTFS, то обратное преобразование в формат FAT 16 или FAT 32 будет проблематичным. Необходимо будет переформатировать диск или раздел, что приведет к уничтожению всех содержащихся в нем данных, включая программы и файлы. Файловые системы FAT 16 и FAT 32
В Windows XP, 7, 8 чаще всего используется одна из разновидностей файловой системы, называемая таблицей размещения файлов - FAT (File Allocation Table).
Файловая система FAT относится к числу архаичных, используемых с времен MS DOS.
FAT 16 нашла также применение в операционных системах семейства Windows для упорядочения файлов и управления ими. FAT 16 представляет собой структуру данных, создаваемую Windows при форматировании тома для файловых систем. Windows хранит в таблице размещения файлов сведения о каждом файле, чтобы при необходимости можно было извлечь необходимый файл. FAT 16 поддерживает длинные имена файлов. К FAT 16 можно получить доступ из систем MS DOS, а также любых версий Windows, Windows NT, Windows 2000, Windows XP, Windows 7, Windows 8 и OS/2.
Том представляет собой область памяти на жестком диске. Том форматируется для определенной файловой системы, такой как FAT или NTFS, и обозначается буквой. Содержимое тома можно просмотреть, щелкнув на его значке в проводнике Windows или в окне "Мой компьютер". Один жесткий диск может содержать несколько томов; тома также могут занимать несколько дисков.

Файловая система FAT 32 является производной от системы FAT 16.
FAT 32 поддерживает меньшие размеры кластеров, что позволяет более эффективно использовать дисковое пространство.
Смысл перехода из системы FAT 16 в FAT 32 состоит в следующем.
"Порции" данных хранятся на дисках в пределах отрезков дисковой памяти определенной величины - кластеров. Если каждый кластер заполняется не до конца, то остаток места пропадает. В файловой системе FAT 16 используются кластеры объемом 32 Кбайт, а в файловой системе FAT 32 каждый кластер занимает пространство всего 4 Кбайт. Таким образом, при неполном заполнении кластеров дисковой памяти будет потеряно меньше. Так же, как и NTFS, система FAT 32 поддерживает работу с дисковой памятью больших объемов. К FAT 32 можно получить доступ из Windows 2000, Windows XP Windows 7, Windows 8.
FAT 16 или FAT 32 целесообразно использовать в том случае, если на ПК планируются работы как в Windows XP, так и в среде систем предыдущих генераций.

Файловые системы. Типы файловых систем. Операции с файлами. Каталоги. Операции с каталогами.

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

Основные цели использования файла.

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

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

Файловая система (ФС) - это часть операционной системы, включающая:

    совокупность всех файлов на диске;

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

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

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

Широко известны следующие файловые системы:

    файловая система операционной системы MS - DOS , в основу которой положена таблица размещения файлов - FAT ( File Allocation Table ).

Таблица содержит сведения о расположении всех файлов (каждый файл делится на кластеры в соответствии с наличием свободного места на диске, кластеры одного файла не обязательно расположены рядом). Файловая система MS-DOS имеет значительные ограничения и недостатки, например, под имя файла отводится 12 байт, работа с жестким диском большого объема приводит к значительной фрагментации файлов;

Основные функции в такой ФС нацелены на решение следующих задач:

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

    программный интерфейс для приложений;

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

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

    OS /2 , называемая HPFS ( High - Performance File System - быстродействующая файловая система).

Обеспечивает возможность иметь имя файла до 254 символов. Файлы, записанные на диск, имеют минимальную фрагментацию. Может работать с файлами, записанными в MS DOS;

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

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

    файловая система операционной системы Windows 95

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

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

Они обеспечивают унифицированный способ доступа к файловым системам ввода-вывода.

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

Типы файлов

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

Обычные файлы , или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных операционных систем (например, UNIX, Windows, OS/2) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает. Например, текстовый редактор создает текстовые файлы, состоящие из строк символов, представленных в каком-либо коде. Это могут быть документы, исходные тексты программ и т. п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют коды символов, они часто имеют сложную внутреннюю структуру, например исполняемый код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы.

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

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

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

Иерархическая структура файловой системы

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

Граф, описывающий иерархию каталогов, может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог (рис. 7.3, б), и сеть - если файл может входить сразу в несколько каталогов (рис. 7.3, в). Например, в MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX - сетевую. В древовидной структуре каждый файл является листом. Каталог самого верхнего уровня называется корневым каталогом, или корнем ( root ).

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

Частным случаем иерархической структуры является одноуровневая организация, когда все файлы входят в один каталог (рис. 7.3, а).

Имена файлов

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

Простое, или короткое, символьное имя идентифицирует файл в пределах одного каталога. Простые имена присваивают файлам пользователи и программисты, при этом они должны учитывать ограничения ОС как на номенклатуру символов, так и на длину имени. До сравнительно недавнего времени эти границы были весьма узкими. Так, в популярной файловой системе FAT длина имен ограничивались схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени), а в файловой системе s5, поддерживаемой многими версиями ОС UNIX, простое символьное имя не могло содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлам легко запоминающиеся названия, ясно говорящие о том, что содержится в этом файле. Поэтому современные файловые системы, а также усовершенствованные варианты уже существовавших файловых систем, как правило, поддерживают длинные простые символьные имена файлов. Например, в файловых системах NTFS и FAT32, входящих в состав операционной системы Windows NT, имя файла может содержать до 255 символов.

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

Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла. Таким образом, полное имя является составным, в котором простые имена отделены друг от друга принятым в ОС разделителем. Часто в качестве разделителя используется прямой или обратный слеш, при этом принято не указывать имя корневого каталога. На рис. 7.3, б два файла имеют простое имя main.exe, однако их составные имена /depart/main.ехе и /user/anna/main.exe различаются.

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

Файл может быть идентифицирован также относительным именем. Относительное имя файла определяется через понятие «текущий каталог». Для каждого пользователя в каждый момент времени один из каталогов файловой системы является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла. При использовании относительных имен пользователь идентифицирует файл цепочкой имен каталогов, через которые проходит маршрут от текущего каталога до данного файла. Например, если текущим каталогом является каталог /user, то относительное имя файла /user/anna/main.exe выглядит следующим образом: anna/ main.exe.

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

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

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

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

    тип файла (обычный файл, каталог, специальный файл и т. п.);

    владелец файла;

    создатель файла;

    пароль для доступа к файлу;

    информация о разрешенных операциях доступа к файлу;

    времена создания, последнего доступа и последнего изменения;

    текущий размер файла;

    максимальный размер файла;

    признак «только для чтения»;

    признак «скрытый файл»;

    признак «системный файл»;

    признак «архивный файл»;

    признак «двоичный/символьный»;

    признак «временный» (удалить после завершения процесса);

    признак блокировки;

    длина записи в файле;

    указатель на ключевое поле в записи;

    длина ключа.

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

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

Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS-DOS (рис. 7.6, а). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R - только для чтения, А - архивный, Н - скрытый, S - системный.

Рис. 7.6. Структура каталогов: а - структура записи каталога MS-DOS (32 байта), б - структура записи каталога ОС UNIX

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла (рис. 7.6, б).

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

Операции над файлами

Большинство современных ОС рассматривают файл как неструктурированную последовательность байт переменной длины. В стандарте POSIX над файлом определены следующие операции:

    int open ( char * fname , int flags , mode _ t mode )

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

Параметр char * fname задает имя файла.int flags - это битовая маска, определяющая режим открытия файла.Файл может быть открыт только на чтение, только на запись и начтение и запись; кроме того, можно открывать существующий файл,а можно пытаться создать новый файл нулевой длины.Необязательный третий параметр mode используется толькопри создании файла и задает атрибуты этого файла.

    off _ t lseek ( int handle , off _ t offset , int whence )

Эта операция перемещает указатель чтения/записи в файле.Параметр offset задает количество байт, на которое нужно сместитьуказатель, а параметр whence - откуда отсчитывать смещение.Предполагается, что смещение можно отсчитывать от начала файла(SEEK_SET), от его конца (SEEK_END) и от текущегоположения указателя (SEEK_CUR). Операция возвращает положениеуказателя, отсчитываемое от начала файла. Таким образом, вызовlseek(handle, 0, SEEK_CUR) возвратит текущее положение указателя,не передвигая его.

    int read(int handle, char * where, size_t how_much)

Операция чтения из файла. Указатель where задает буфер,куда нужно поместитьпрочитанные данные; третий параметр указывает, сколько данных надо считать.Система считывает требуемое число байт из файла, начиная с указателячтения/записи в этом файле, и перемещает указатель к концу считаннойпоследовательности. Если файл кончился раньше, считывается столько данных,сколько оставалось до его конца. Операция возвращает количествосчитанных байт. Если файл открывался только для записи, вызов readвозвратит ошибку.

    int write(int handle, char * what, size_t how_much)

Операция записи в файл. Указатель what задает начало буфера данных;третий параметр указывает, сколько данных надо записать.Система записывает требуемое число байт в файл, начиная с указателячтения/записи в этом файле, заменяя хранившиеся на в этом месте данные,и перемещает указатель к концу записанного блока. Если файл кончился раньше,его длина увеличивается. Операция возвращает количество записанных байт.

Если файл открывался только для чтения, вызов write возвратит ошибку.

    int ioctl(int handle, int cmd, ...) ; int fcntl ( int handle , int cmd , ...)

Дополнительные операции над файлом. Первоначально, по-видимому,предполагалось, что ioctl - это операции над самим файлом,а fcntl - это операции над дескриптором открытого файла,но потом историческое развитие несколько перемешало функции этих системныхвызовов. Стандарт POSIX определяет некоторые операции как наддескриптором, например дублирование (в результате этой операции мы получаемдва дескриптора, связанных с одним и тем же файлом), так и над самим файлом,например, операцию truncate - обрезать файл до заданной длины.В большинстве версий Unix операцию truncate можноиспользовать и для вырезания данных из середины файла. При считывании данныхиз такой вырезанной области считываются нули, а сама эта область незанимает физического места на диске.

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

Большинство реализаций стандарта POSIX предлагает и своидополнительные операции. Так, в Unix SVR 4 этими операциямиможно устанавливать синхронную или отложенную запись и т.д.

    caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int handle, off_t offset)

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

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

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

Примерно та же модель работы с файлами принята в CP / M ,а набор файловых системных вызовов MS DOS фактическископирован с вызовов Unix v 7 . В свою очередь, OS /2 и Windows NT унаследовали принципы работы с файламинепосредственно от MS DOS .

Напротив, в системах, не имеющих Unix в родословной,может использоваться несколько иная трактовка понятия файла.Чаще всего файл трактуется как набор записей. Обычно система поддерживаетзаписи как постоянной длины, так и переменной. Например, текстовый файлинтерпретируется как файл с записями переменной длины, а каждой строке текстасоответствует одна запись. Такова модель работы с файлами в VMS и в ОС линии OS /360 -MVS фирмы IBM.

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

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

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

Как правило, в компьютерных хранилищах используется пара секторов и смещение в секторе для ссылки на любой байт информации в хранилище. Сектор представляет собой группу байтов (обычно 512 байт), минимальную адресуемую единицу физического хранилища. Например, 1040 байт на жестком диске будет упоминаться как сектор № 3 и смещение в секторе 16 байт ([сектор - 512] + [сектор - 512] + ). Эта схема применяется для оптимизации адресации хранилища и использования меньшего числа для ссылки на любую часть информации в хранилище.

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

Каждый файл хранится в «неиспользуемых» секторах и может быть прочитан по известному положению и размеру. Однако, как мы узнаем, какие сектора используются, а какие нет? Где хранятся размер, положение и имя файла? Эти ответы даются файловой системой.

В целом файловая система представляет собой структурированное представление данных и набор метаданных, описывающих сохраненные данные. Файловая система служит для хранения всего хранилища, а также является частью изолированного сегмента хранения - раздела диска. Обычно файловая система управляет блоками, а не секторами. Блоки файловой системы представляют собой группы секторов, которые оптимизируют адресацию хранилища. Современные файловые системы обычно используют размеры блоков от 1 до 128 секторов (512-65536 байт). Файлы обычно хранятся в начале блока и занимают целые блоки.

Огромные операции записи / удаления в файловой системе приводят к фрагментации файловой системы. Таким образом, файлы не сохраняются как целые единицы, а делятся на фрагменты. Например, хранилище целиком занимают файлы размером около 4 блоков (например, коллекция изображений). Пользователь хочет сохранить файл, который займет 8 блоков и, следовательно, удалит первый и последний файлы. Делая это, он очищает пространство на 8 блоков, однако первый сегмент близок к началу хранения, а второй - к концу хранилища. В этом случае файл с 8 блоками разбивается на две части (по 4 блока для каждой части) и занимает «дыры» свободного пространства. Информация об обоих фрагментах как части одного файла хранится в файловой системе.

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

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

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

ОС Microsoft Windows использует две основные файловые системы: FAT, унаследованные от старой DOS с ее более поздним расширением FAT32 и широко используемыми файловыми системами NTFS. Недавно выпущенная файловая система ReFS была разработана Microsoft как файловая система нового поколения для серверов Windows 8, 10.

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

Таблица распределения блоков содержит массив дескрипторов блоков. Значение «ноль» указывает, что блок не используется, а значение отличное от нуля относится к следующему блоку файла или специальному значению для конца файла.

Числа в FAT12, FAT16, FAT32 обозначают количество бит, используемых для перечисления блока файловой системы. Это означает, что FAT12 может использовать до 4096 различных ссылок на блоки, в то время как FAT16 и FAT32 могут использовать до 65536 и 4294967296 соответственно. Фактическое максимальное количество блоков еще меньше и зависит от реализации драйвера файловой системы.

FAT12 использовался для старых дискет. FAT16 (или просто FAT) и FAT32 широко используются для карт флэш-памяти и USB-флеш-накопителей. Система поддерживается мобильными телефонами, цифровыми камерами и другими портативными устройствами.

FAT или FAT32 - это файловая система, которая используется в Windows-совместимых внешних хранилищах или дисковых разделах с размером менее 2 ГБ (для FAT) или 32 ГБ (для FAT32). Windows не может создать файловую систему FAT32 более чем на 32 ГБ (однако Linux поддерживает FAT32 до 2 ТБ).

NTFS (новая технологическая файловая система) была представлена ​​в Windows NT и в настоящее время является основной файловой системой для Windows. Это файловая система по умолчанию для дисковых разделов и единственная файловая система, которая поддерживает разделы диска по 32 ГБ. Файловая система довольно расширяема и поддерживает многие свойства файла, включая контроль доступа, шифрование и т. д. Каждый файл в NTFS хранится в виде файлового дескриптора в таблице основных файлов и содержимом файла. Таблица главного файла содержит всю информацию о файле: размер, распределение, имя и т. д. В первом и последнем секторах файловой системы содержатся параметры файловой системы (загрузочная запись или суперблок). Эта файловая система использует 48 и 64-битные значения для ссылок на файлы, тем самым поддерживая дисковые хранилища с большой емкостью.

ReFS (Resilient File System) - последняя разработка Microsoft, доступная в настоящее время для серверов Windows 8 и 10. Архитектура файловой системы абсолютно отличается от других файловых систем Windows и в основном организована в виде B + -tree. ReFS обладает высокой устойчивостью к отказам из-за новых функций, включенных в систему, а именно, Copy-on-Write (CoW): никакие метаданные не изменяются без копирования; данные записываются на новое дисковое пространство, а не поверх существующих данных. При любых модификациях файлов новая копия метаданных хранится в свободном пространстве для хранения, а затем система создает ссылку из старых метаданных в более новую. Таким образом, система хранит значительное количество старых резервных копий в разных местах, обеспечивая легкое восстановление файлов, если это место для хранения не перезаписано.

Для получения информации о восстановлении данных из этих файловых систем посетите страницу «Шансы для восстановления ».

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

Операционная система Apple MacOS применяет две файловые системы: HFS +, расширение к своей собственной файловой системе HFS, используемой на старых компьютерах Macintosh, и недавно выпущенную APFS.

Файловая система HFS + работает под управлением продуктов Apple, включая компьютеры Mac, iPod, а также продукты Apple X Server. В расширенных серверных продуктах также используется файловая система Apple Xsan, кластерная файловая система, созданная из файловых систем StorNext или CentraVision.

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

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

ОС Linux с открытым исходным кодом нацелена на внедрение, тестирование и использование различных концепций файловых систем.

Самые популярные файловые системы Linux:

  • Ext2, Ext3, Ext4 - «родная» файловая система Linux. Эта файловая система подпадает под активные разработки и улучшения. Файловая система Ext3 - это просто расширение Ext2, которое использует операции записи транзакций с журналом. Ext4 является дополнительной расширенной разработкой Ext3, с поддержкой оптимизированной информации о распределении файлов (экстентов) и расширенных атрибутов файлов. Эта файловая система часто используется как «корневая» файловая система для большинства установок Linux.
  • ReiserFS - альтернативная файловая система Linux для хранения огромного количества небольших файлов. Она имеет хорошие возможности поиска файлов и позволяет компактно распределять файлы, сохраняя хвосты файлов или небольшие файлы вместе с метаданными, чтобы не использовать большие блоки файловой системы для той же цели.
  • XFS - файловая система, созданная компанией SGI и первоначально использовавшаяся для серверов IRIX компании. Теперь спецификации XFS реализованы в Linux. Файловая система XFS имеет отличную производительность и широко используется для хранения файлов.
  • JFS - файловая система, разработанная IBM для мощных вычислительных систем компании. JFS1 обычно обозначает JFS, JFS2 - вторая версия. В настоящее время эта файловая система является с открытым исходным кодом и реализована в большинстве современных версий Linux.

Концепция «жесткой связи », используемая в таких операционных системах, делает большинство файловых систем Linux одинаковыми, поскольку имя файла не рассматривается как атрибут файла и скорее определяется как псевдоним для файла в определенном каталоге. Объект файла можно связать со многими местоположениями, даже размножаться из одного и того же каталога под разными именами. Это может привести к серьезным и даже непреодолимым трудностям при восстановлении имен файлов после удаления файлов или повреждения файловой системы.

Для получения информации о восстановлении данных из этих файловых систем посетите страницу « ».

Файловые системы BSD, Solaris, Unix

Наиболее распространенной файловой системой для этих операционных систем является UFS (Unix File System), также часто называемая FFS (Fast File System).

В настоящее время UFS (в разных версиях) поддерживается всеми операционными системами семейства Unix и является основной файловой системой ОС BSD и операционной системы Sun Solaris. Современные компьютерные технологии, как правило, реализуют замены для UFS в разных операционных системах (ZFS для Solaris, JFS и производных файловых систем для Unix и т. д.).

Для получения информации о восстановлении данных из этих файловых систем посетите страницу « ».

Кластерные файловые системы

Кластерные файловые системы используются в компьютерных кластерных системах. Эти файловые системы поддерживают распределенное хранилище.

Распределенные файловые системы включают:

  • ZFS - «Zettabyte File System» - новая файловая система, разработанная для распределенных хранилищ Sun Solaris OS.
  • Apple Xsan - эволюция компании Apple в CentraVision и более поздних файловых системах StorNext.
  • VMFS - «Файловая система виртуальных машин», разработанная компанией VMware для своего VMware ESX Server.
  • GFS - Red Hat Linux «Глобальная файловая система».
  • JFS1 - оригинальный (устаревший) дизайн файловой системы IBM JFS, используемой в старых системах хранения AIX.

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

Для получения дополнительной информации о восстановлении данных из этих файловых систем посетите страницу « ».

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


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

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

Виды файловой системы

На каждом компьютерном устройстве применим особый тип ФС. Особо распространенные следующие ее типы:

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

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

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

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

Взгляд на файловую систему с точки зрения программирования

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

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

Ниже мы рассмотрим все существующие на сегодня ФС и их достоинства и недостатки.

ФС — FAT

Это самый древний тип файловой системы, который был разработан еще в далеком 1977 году. Она работала с операционкой ОС 86-DOS и не способна работать с жесткими носителями информации, и рассчитана на гибкие их типы и хранение информации до одного мегабайта. Если ограничение размера инфы сегодня не актуально, то иные показатели остались востребованными в неизменном виде.

Эта файловая система использовалась ведущей компанией разработчиком программных приложений – Майкрософт для такой операционки, как ОС MS-DOS 1.0.
Файлы этой системы имеют ряд характерных свойств:

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

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

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

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

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

ФС — NTFS

С операционкой ОС Windows NT работает современная файловая система NTFS, в принципе на нее она и была нацелена. В ее составе действует утилита convert, которая отвечает за конвертацию томов с формата HPFS или FAT, в формат томов NTFS.

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

Эта файловая система позволяет создавать информационные файлы с именами длинной в 255 символов.

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

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

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

ФС — EFS

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

ФС – RAW

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

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

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

ФС – UDF

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

— наименования файлов не должны превышать 255 символов;
— именной регистр может быть как нижним, так и верхним.

Работает она с операционкой Windows XP.

ФС — EXFAT

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

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