ext2

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

ext2 или 2я расширенная файловая система — файловая система для ядра Linux. Она была разработана Rémy Card'ом в качестве замены для extended file system. Она достаточно быстра для того, чтобы служить эталоном в тестах производительности файловых систем. Она не является журналируемой файловой системой и это её главный недостаток. Развитием ext2 стала журналируемая файловая система ext3, полностью совместимая с ext2.

Содержание

История

На заре развития Linux использовала файловую систему ОС Minix. Эта файловая система была довольно стабильна, но была 16-разрядной и как следствие имела жёсткое ограничение в 64 Мегабайта на раздел. Также присутствовало ограничение имени файла: оно составляло 14 символов. Эти и не только ограничения повлекли появление в апреле 1992 года «расширенной файловой системы» (extended file system), решавшей 2 главные проблемы Minix. Новая файловая система расширила ограничения на размер файла до 2 гигабайт и установила предельную длину имени файла в 255 символов. Но она всё равно имела проблемы: не было поддержки раздельного доступа, временных меток модификации данных.

Решением всех проблем стала новая файловая система, разработанная в январе 1993 года. В ext2 были сразу реализованы соответствующие стандарту POSIX списки контроля доступа ACL и расширенные атрибуты файлов.

Логическая организация файловой системы ext2

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

Все типы файлов имеют символьные имена. В иерархически организованных файловых системах обычно используются три типа имен — файлов: простые, составные и относительные. Не является исключением и «вторая расширенная файловая система». Ограничения на простое имя состоят в том что, его длина не должна превышать 255 символов, а также в имени не должны присутствовать символ NUL и ‘/’. Ограничения на символ NUL связаны с представлением строк на языке Си, а на символ ‘/’ с тем, что он используются как разделительный символ между каталогами. Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла. В файловой системе ext2 файл может входить в несколько каталогов, а значит, иметь несколько полных имен; здесь справедливо соответствие «один файл — много полных имен». В любом случае полное имя однозначно определяет файл.

Атрибутами файловой системы ext2 являются:

  • Тип и права доступа к файлу;
  • Владелец, группа;
  • Информация о разрешённых операциях доступа к файлу;
  • Времена создания, последнего доступа, последнего изменения и время последнего удаления;
  • текущий размер файла;
  • тип файла;
  • число блоков, занимаемых файлом;
  • ACL
  • другие

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

Физическая организация файловой системы ext2

Структура дискового раздела

Как и в любой файловой системе UNIX, в составе ext2 можно выделить следующие составляющие:

Всё пространство раздела диска разбивается на блоки фиксированного размера, кратные размеру сектора — 1024, 2048 и 4096 байт. Размер блока указывается при создании файловой системы на разделе диска. Меньший размер блока позволяет экономить место на жёстком диске, но также ограничивает максимальный размер файловой системы. Все блоки имеют порядковые номера. С целью уменьшения фрагментации и количества перемещений головок жёсткого диска при чтении больших массивов данных блоки объединяются в группы блоков.

Базовым понятием файловой системы является индексный дескриптор (информационный узел), information node, или inode. Это специальная структура, которая содержит информацию об атрибутах и физическом расположении файла.

Файл:Структурная схема файловой системы ext2.png
Обобщенная структурная схема ФС ext2

Каждая группа блоков имеет одинаковое строение. Суперблок — основной элемент файловой системы ext2. Он содержит общую информацию о файловой системе:

  • общее число блоков и индексных дескрипторов в файловой системе;
  • число свободных блоков и индексных дескрипторов в файловой системе;
  • размер блока файловой системы;
  • количество блоков и индексных дескрипторов в группе;
  • размер индексного дескриптора;
  • идентификатор файловой системы.

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

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

Система адресации данных

Система адресации данных — это одна из самых существенных составных частей файловой системы. Именно система адресации позволяет находить нужный файл среди множества как пустых, так и занятых блоков на диске. Файловая система ext2 использует следующую схему адресации блоков файла. Для хранения адреса файла выделено 15 полей, каждое из которых состоит из 4 байт. Если размер файла меньше или равен 12 блоков, то номера этих кластеров непосредственно перечисляются в первых двенадцати полях адреса. Если размер файла превышает 12 блоков, то следующее 13-е поле содержит адрес кластера, в котором могут быть расположены номера следующих блоков файла. Таким образом, 13-й элемент адреса используется для косвенной адресации. При максимальном размере блока равном 4096 байт, 13-й элемент, может содержать до 1024 номеров следующих кластеров данных файла. Если размер файла превышает 12+1024 блоков, то используется 14-е поле, в котором находится номер блока, содержащего 1024 номеров блоков, каждый из которых хранят 1024 номеров блоков данных файла. Здесь применяется уже двойная косвенная адресация. И наконец, если файл включает более 12+1024+1048576 = 1049612 блоков, то используется последнее 15-е поле для тройной косвенной адресации.

Таким образом, описанная выше система адресации, позволяет при максимальном размере блока 4 Кб иметь файлы размера до 2 терабайт. или больше

См. также

Ссылки

cs:Ext2 da:Ext2 de:Ext2 en:Ext2 eo:Ext2 es:Ext2 eu:Ext2 fr:Ext2 gl:Ext2 he:EXT2 it:Ext2 ja:Ext2 lt:EXT2 ms:Ext2 nl:Ext2 pl:Ext2 pt:Ext2 sk:Ext2 sv:Ext2 tr:Ext2 uk:Ext2 zh:Ext2

Источник — «http://www.sbup.com/wiki/Ext2»
Личные инструменты

Served in 0.206 secs.