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

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

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

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

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

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

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

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

Твердотельные носители, такие, как флеш-диски, своим интерфейсом данных похожи на обычные жёсткие диски, но имеют свои проблемы и недостатки. Когда проходит время поиска они нуждаются в особой обработке такими алгоритмами как, Wear leveling и Error detection and correction.

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

· exFAT — Расширенная версия FAT, используемая для флеш-дисков. Запатентована Microsoft, часто называется как FAT64 — ограничение 264 байт (16 эксабайт).

· FFS2 — Продолжение файловой системы FFS1, Одна из ранних файловых систем для флеш-карт. Разработана и запатентована Microsoft в начале 1990х годов. U.S. Patent 5392427 (англ.)

· TFAT — Транзакционная версия FAT файловой системы.

· JFFS — Оригинальная лог-структурированная Linux файловая система для NOR-флеш-носителей.

· JFFS2 — Продолжение JFFS для NAND- и NOR-флеш-носителей.

· LogFS — Предназначена для замены JFFS2, лучшая расширяемость. Находится на ранней стадии разработки.

· Non-Volatile File System — файловая система для флеш-дисков, разработанная Palm, Inc..

· YAFFS — Лог структурированная файловая система, предназначенная для NAND-флеш, но может использоваться в NOR-флеш-дисках.

ExFAT

exFAT (от англ. Extended FAT — «расширенная FAT») — проприетарная файловая система, предназначенная главным образом для флэш-накопителей. Впервые представленная Microsoft для встроенных устройств в Windows Embedded CE 6.0.

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

Основными преимуществами перед всеми текущими версиями FAT является:

· Теоретический лимит на размер файла 264 байт (16 эксбибайт).

· Максимальный размер кластера увеличен до 225 байт (32 мебибайта).

· Улучшено распределение свободного места за счёт введения бит-карты свободного места, что уменьшает фрагментацию диска.

· Устранён лимит на количество файлов в одной директории.

· Введена поддержка списка прав доступа.

· Введена поддержка транзакций (опциональная возможность, должна поддерживаться устройством).

Поддержка exFAT имеется в Windows XP с Service Pack 2 и 3 с обновлением KB955704, Windows Vista с Service Pack 1, Windows Server 2008, Windows 7.

Технология ReadyBoost в Windows Vista не совместима с устройствами с файловой системой exFAT.

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

Лицензионный статус не ясен. Однако известно, что Microsoft успешно запатентовала файловую систему FAT, и в феврале 2009 года подала в суд на компанию TomTom, обвиняя её в их нарушении.

Существует также сторонняя реализация exFAT для Windows XP/ Windows Server 2003, однако она предназначена для непосредственной интеграции в дистрибутив продукта без возможности ручной установки драйвера. Данный порт выполнен на базе драйвера Windows Vista.

В декабре 2009 года Microsoft начала лицензировать файловую систему exFAT для сторонних производителей.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: