ПЕРМСКАЯ ГОСУДАРСТВЕННАЯ СЕЛЬСКОХОЗЯЙСТВЕННАЯ
АКАДЕМИЯ ИМЕНИ АКАДЕМИКА Д.Н. ПРЯНИШНИКОВА
Факультет агрономический
Реферат
Тема:
Основные файловые
системы
Выполнила:
Проверила:
Пермь 2013 год
Оглавление
Введение
В настоящее время на одном диске в среднем
записывается несколько десятков тысяч
файлов. Как разобраться во всем этом многообразии
с тем, чтобы точно адресоваться к файлу?
Назначение файловой системы – эффективное
решение указанной задачи.
Развитие файловых систем персональных
компьютеров определялось двумя факторами
- появлением новых стандартов на носители
информации и ростом требований к характеристикам
файловой системы со стороны прикладных
программ (разграничение уровней доступа,
поддержка длинных имен файлов в формате
UNICODE). Первоначально, для файловых систем
первостепенное значение имело увеличение
скорости доступа к данным и минимизация
объема хранимой служебной информации.
Впоследствии с появлением более быстрых
жестких дисков и увеличением их объемов,
на первый план вышло требование надежности
хранения информации, которое привело
к необходимости избыточного хранения
данных.
Эволюция файловой системы была напрямую
связана с развитием технологий реляционных
баз данных. Файловая система использовала
последние достижения, разработанные
для применения в СУБД: механизмы транзакций,
защиты данных, систему самовосстановления
в результате сбоя.
Развитие файловых систем привело к изменению
самого понятия "файл" от первоначального
толкования как упорядоченная последовательность
логических записей, до понятия файла,
как объекта, имеющего набор характеризующих
его атрибутов (включая имя файла, его
псевдоним, время создания и собственно
данные), реализованного в NTFS.
Я попытаюсь разобраться в файловых системах.
За свою 20 летнюю историю файловая система
прошла путь от простой системы, взявшей
на себя функции управления файлами, до
системы, представляющей собой полноценную
СУБД, обладающую встроенным механизмом
протоколирования и восстановления данных.
В отличие от попыток ввести стандарт
на протокол, описывающий правила доступа
к удаленным файловым системам (CIFS, NFS),
не стоит ожидать появления подобного
стандарта, описывающего файловые системы
для жестких дисков. Это можно объяснить
тем, что файловая система жестких дисков
все еще продолжает оставаться одной из
главных частей операционной системы,
влияющей на ее производительность. Поэтому
каждый производитель операционных систем
будет стремиться использовать файловую
систему, "родную" для его ОС.
Дальнейшая эволюция файловых систем
пойдет по пути совершенствования механизмов
хранения данных, оптимизации хранения
мультимедийных данных, использования
новых технологий, применяемых в базах
данных (возможность полнотекстового
поиска, сортировка файлов по различным
атрибутам).[3]
2. Понятие файловой
системы
Файловая
система — порядок, определяющий способ
организации, хранения и именования данных
на носителях информации ИТ-оборудования
(использующего для многократной записи
и хранения информации портативные флеш-карты
памяти в портативных электронных устройствах:
цифровых фотоаппаратах, мобильных телефонах
и т. д) и компьютерной техники. Она определяет
формат содержимого и физического хранения
информации, которую принято группировать
в виде файлов. Конкретная файловая система
определяет размер имени файла (папки),
максимальный возможный размер файла
и раздела, набор атрибутов файла. Некоторые
файловые системы предоставляют сервисные
возможности, например, разграничение
доступа или шифрование файлов.
Файловая система связывает
носитель информации с одной стороны и
API для доступа к файлам — с другой. Когда
прикладная программа обращается к файлу,
она не имеет никакого представления о
том, каким образом расположена информация
в конкретном файле, так же, как и на каком
физическом типе носителя (CD, жёстком диске,
магнитной ленте, блоке флеш-памяти или
другом) он записан. Всё, что знает программа
— это имя файла, его размер и атрибуты.
Эти данные она получает от драйвера файловой
системы. Именно файловая система устанавливает,
где и как будет записан файл на физическом
носителе (например, жёстком диске).[2]
Файловая
система — это то, на чем держится далеко
не идеальный, но маломальский порядок
на наших жестких дисках. Носители информации
способны лишь хранить, записывать или
считывать биты данных из определенных
секторов, а за доступ к информации отвечает
именно файловая система. Этому термину
можно дать несколько определений, каждое
из которых верно.
Файловая система не обязательно
напрямую связана с физическим носителем
информации. Существуют виртуальные файловые
системы, а также сетевые файловые системы,
которые являются лишь способом доступа
к файлам, находящимся на удалённом компьютере.
Функционирование любой файловой системы
можно представить многоуровневой моделью
(рисунок 1), в которой каждый уровень предоставляет
некоторый интерфейс (набор функций) вышележащему
уровню, а сам, в свою очередь, для выполнения
своей работы использует интерфейс (обращается
с набором запросов) нижележащего уровня.
Задачей символьного уровня является
определение по символьному имени файла
его уникального имени. В файловых системах,
в которых каждый файл может иметь только
одно символьное имя (например, MS-DOS), этот
уровень отсутствует, так как символьное
имя, присвоенное файлу пользователем,
является одновременно уникальным и может
быть использовано операционной системой.[5]
Рис.1 Общая модель файловой системы
3.Задачи файловой
системы
Основные функции любой файловой
системы нацелены на решение следующих
задач:
программный интерфейс работы
с файлами для приложений;
отображения логической модели
файловой системы на физическую организацию
хранилища данных;
организация устойчивости файловой
системы к сбоям питания, ошибкам аппаратных
и программных средств;
содержание параметров файла,
необходимых для правильного его взаимодействия
с другими объектами системы (ядро, приложения
и пр.).
В многопользовательских системах
появляется ещё одна задача: защита файлов
одного пользователя от несанкционированного
доступа другого пользователя, а также
обеспечение совместной работы с файлами,
к примеру, при открытии файла одним из
пользователей, для других этот же файл
временно будет доступен в режиме «только
чтение».
ФС позволяет оперировать не
нулями и единицами, а более удобными и
понятными объектами — файлами. Ради
удобства пользователей (программе удобнее
работать с числовыми индексами, но программы,
как известно, пишутся людьми) в работе
с файлами используются их символьные
идентификаторы — имена. Содержимое
же файлов (0 и 1) записано в кластеры — мельчайшие
единицы данных, которыми оперирует файловая
система, размер их кратен 512 байтам. Для
организации информации кроме имени файла
используются также каталоги, как
некая абстракция, позволяющая группировать
файлы по определенному критерию. По сути,
каталог — это файл, содержащий информацию
о «вложенных» в него каталогах и файлах.[4]
4. Классификация
файловых систем
По предназначению файловые
системы можно классифицировать на нижеследующие
категории.
Для носителей с произвольным
доступом (например, жёсткий диск): FAT32,
HPFS, ext2 и др. Поскольку доступ к дискам
в разы медленнее, чем доступ к оперативной
памяти, для прироста производительности
во многих файловых системах применяется
асинхронная запись изменений на диск.
Для этого применяется либо журналирование,
например в ext3, ReiserFS, JFS, NTFS, XFS, либо механизм
softupdates и др. Журналирование широко распространено
в Linux, применяется в NTFS. Softupdates — в BSD системах.
Для носителей с последовательным
доступом (например, магнитные ленты):
QIC и др.
Для оптических носителей —
CD и DVD: ISO9660, HFS, UDF и др.
Виртуальные файловые системы:
AEFS и др.
Сетевые файловые системы: NFS,
CIFS, SSHFS, GmailFS и др.
Дляфлэш-памяти: YAFFS, ExtremeFFS.
Немного выпадают из общей классификации
специализированные файловые системы:
ZFS (собственно файловой системой является
только часть ZFS), VMFS (т. н. кластерная файловая
система, которая предназначена для хранения
других файловых систем) и др.[5]
5. Система организации
информации в файловой системе
Вся информация о файлах хранится
в особой области раздела — таблице файлов.
Таблица файлов позволяет ассоциировать
числовые идентификаторы файлов и дополнительную
информацию о них (дата изменения, права
доступа, имя и т. д.) с непосредственным
содержимым файла, хранящимся в другой
области раздела.Раздел — это
определенная область диска, созданная
во время операции разметки диска. Каждый
раздел содержит один (редко — несколько)
отформатированный том. Том — область
раздела со своей файловой системой, своей
таблицей файлов и областью данных. Один
или несколько разделов составляют диск.В начале
диска (см. рис. 2) находится особая область — MBR (MasterBootRecord),
содержащая программную логику, необходимую
BIOS для загрузки системы с жесткого диска. Таблица разделов
(partitiontable) также расположена в начале диска,
ее задача — хранить информацию о разделах:
начало раздела, его длина, какой раздел
является загрузочным. На загрузочном
разделе расположен загрузочный сектор
(bootsector), хранящий программу загрузки операционной
системы.
Рис. 2 Система организации
информации
Такова в общих чертах система организации
информации от кластеров и до разделов
диска. Современные файловые системы,
кроме непосредственно хранения и изменения
файлов, следят за сохранностью структуры
данных и корректностью файловых операций,
позволяют шифровать и сжимать информацию,
оптимизируют поиск и сортировку файлов,
а также предлагают множество других сервисных
функций.
6. Виды файловых
систем
6.1 Файловая система FAT представляет собой
таблицу размещения файлов, в которой
указываются: непосредственно адреса
участков логического диска, предназначенные
для размещения файлов; свободные области
дискового пространства; дефектные области
диска.
Рис. 3 Структура
файловой системы FAT
В этой таблице каждому
блоку, предназначенному для хранения
данных, соответствует 16-битовое значение.
Если блок свободен, то значение будет
нулевым. Если же блок принадлежит файлу,
то значение равно адресу следующего блока
этого файла. Если это последний блок в
файле, то значение — OxFFF.
6.2 Файловая система FAT 32
Файловая система FAT
32 является полностью самостоятельной
32-разрядной файловой системой и имеет
более совершенную структуру. AT 32 намного
эффективнее расходует дисковое пространство.
Кластеры в этой файловой системе меньше,
чем кластеры в предыдущих версиях FAT.
Следовательно, для дисков размером до
8 Гб FAT 32 может использовать кластеры размером
4 Кб. Таблица размещения файлов в FAT 32 может
содержать до
кластеров (в 32-разрядном
коде, используемом для представления
номера кластера, фактически используются
только 28 разрядов). Система FAT 32 также
может перемещать корневой каталог и использовать
резервную копию FAT вместо стандартной.
Расширенная загрузочная запись позволяет
создавать копии важных структур данных.
Это повышает устойчивость файловой системы
к нарушениям структуры таблицы размещения
данных. Корневой каталог представлен
в виде обычной цепочки кластеров и может
находиться в произвольном месте диска.
Файловая система FAT 32 имеет ряд усовершенствований
структуры корневого каталога. Для представления
длинных имен используются элементы корневого
каталога.
Недостатки
FAT 32:
1. Низкая защита от
сбоев системы;
2. Не эффективная работа
с файлами больших размеров;
3. Ограничение по максимальному
объему раздела и файла;
4. Снижение быстродействия
при фрагментации;
5. Снижение быстродействия
при работе с каталогами, содержащими
большое количество файлов.
6.3. Файловая система HPFS
Файловая система HPFS
(высокопроизводительная файловая система)
впервые появилась в операционной системе
OS/2. HPFS является файловой системой для
многозадачного режима работы, поддерживает
длинные имена файлов, и обеспечивает
высокую производительность при работе
с дисками большого объема. Она, как и FAT,
имеет древовидную структуру каталогов,
но в ней еще предусмотрены автоматическая
сортировка каталогов и специальные расширенные
атрибуты, упрощающие обеспечение безопасности
на файловом уровне и создание множественных
имен. Расширенные атрибуты позволяют
хранить дополнительную информацию о
файле. Например, каждому файлу может быть
сопоставлено его индивидуальное графическое
изображение (значок).
По сравнению с FAT HPFS
обладает более высокой производительностью,
надежностью, и эффективнее использует
дисковое пространство. Еще одна особенность
заключается в том, что пространство, освобожденное
стертым файлом, обычно используется не
сразу и файл можно восстановить.