<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Ext2</id>
	<title>Ext2 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Ext2"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Ext2&amp;action=history"/>
	<updated>2026-07-16T14:05:22Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=Ext2&amp;diff=47991&amp;oldid=prev</id>
		<title>imported&gt;Alex NB OT: унификация языковых шаблонов</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=Ext2&amp;diff=47991&amp;oldid=prev"/>
		<updated>2025-11-15T11:11:24Z</updated>

		<summary type="html">&lt;p&gt;унификация языковых шаблонов&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{Карточка файловой системы&lt;br /&gt;
  |name                   = ext2&lt;br /&gt;
  |full_name              = Second extended file system&lt;br /&gt;
  |developer              = {{не переведено|Кар, Реми|Реми Кар|en|Rémy Card}}&lt;br /&gt;
  |introduction_os        = [[Linux]]&lt;br /&gt;
  |introduction_date=1993-01&lt;br /&gt;
  |partition_id           = &amp;lt;tt&amp;gt;Apple_UNIX_SVR2&amp;lt;/tt&amp;gt; ([[Apple Partition Map]])&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;0x83&amp;lt;/tt&amp;gt; ([[Master Boot Record]])&amp;lt;br&amp;gt;&amp;lt;tt&amp;gt;[[Basic Data Partition|EBD0A0A2-B9E5-4433-87C0-68B6B72699C7]]&amp;lt;/tt&amp;gt; ([[GUID Partition Table|GPT]])&lt;br /&gt;
  |directory_struct       = [[Отношение (реляционная модель)|Таблица]]&lt;br /&gt;
  |file_struct            = [[Битовая карта]] (свободное место), [[Отношение (реляционная модель)|Таблица]] ([[метаданные]])&lt;br /&gt;
  |bad_blocks_struct      = [[Отношение (реляционная модель)|Таблица]] (используется та же таблица, что и для файлов)&lt;br /&gt;
  |max_filename_size      = 255 байт&lt;br /&gt;
  |max_files_no           = 10&amp;lt;sup&amp;gt;18&amp;lt;/sup&amp;gt;&lt;br /&gt;
  |max_volume_size        = 2-32 [[Терабайт|ТБ]]&lt;br /&gt;
  |max_file_size          = 16 [[Гигабайт|ГБ]] - 2 [[Терабайт|ТБ]]&lt;br /&gt;
  |filename_character_set = Любой байт, кроме NULL и &amp;#039;/&amp;#039;&lt;br /&gt;
  |dates_recorded         = Время модификации (mtime), время изменения метаданных (ctime), время последнего доступа (atime)&lt;br /&gt;
  |date_range             = 14 декабря 1901 г. - 18 января 2038 г.&lt;br /&gt;
  |date_resolution        = 1 [[секунда]]&lt;br /&gt;
  |forks_streams          =&lt;br /&gt;
  |attributes             =&lt;br /&gt;
  |file_system_permissions = [[POSIX]]&lt;br /&gt;
  |compression            = нет (доступна через патчи)&lt;br /&gt;
  |encryption             = нет&lt;br /&gt;
  |OS                     = [[Linux]], [[BSD]],Mac OS X (через [[Installable File System|IFS]])&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Second Extended File System&amp;#039;&amp;#039;&amp;#039; (дословно: &amp;#039;&amp;#039;«вторая расширенная файловая система»&amp;#039;&amp;#039;), сокращённо &amp;#039;&amp;#039;&amp;#039;ext2&amp;#039;&amp;#039;&amp;#039; (иногда &amp;#039;&amp;#039;&amp;#039;ext2fs&amp;#039;&amp;#039;&amp;#039;) — [[файловая система]] [[ядро операционной системы|ядра]] [[Linux (ядро)|Linux]].&lt;br /&gt;
Была разработана {{не переведено|Кар, Реми|Реми Каром|en|Rémy Card}} взамен существовавшей тогда [[ext]]. По скорости и производительности работы она может служить эталоном в [[тест производительности|тестах производительности]] файловых систем. Так, в тестах на скорость последовательного чтения и записи, проведённых [[Dell|The Dell TechCenter]], файловая система ext2 обгоняет [[ext3]] и уступает лишь более современной [[ext4]] в тесте на чтение&amp;lt;ref name=&amp;quot;dell-techcenter&amp;quot;&amp;gt;{{cite web&lt;br /&gt;
 |title       = A Comparison of Ext2, Ext3 and Ext4 Performance&lt;br /&gt;
 |url         = http://www.delltechcenter.com/page/A+Comparison+of+Ext2,+Ext3+and+Ext4+Performance&lt;br /&gt;
 |lang        = en&lt;br /&gt;
 |work        = The Dell TechCenter&lt;br /&gt;
 |date        = 2010-03-29&lt;br /&gt;
 |access-date  = 2010-11-07&lt;br /&gt;
 |archive-url  = https://www.webcitation.org/61CZ9al3v?url=http://www.delltechcenter.com/page/A+Comparison+of+Ext2,+Ext3+and+Ext4+Performance&lt;br /&gt;
 |archive-date = 2011-08-25&lt;br /&gt;
 |url-status     = dead&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Главный недостаток ext2 (и одна из причин демонстрации столь высокой производительности) заключается в том, что она не является [[журналируемая файловая система|журналируемой файловой системой]]. Он был устранён в файловой системе [[ext3]] — следующей версии [[ext|Extended File System]], полностью совместимой с ext2. Это основная причина, почему EXT2 до сих пор поддерживается в Anaconda и Ubiquity.&lt;br /&gt;
&lt;br /&gt;
Файловая система ext2 по-прежнему используется на [[флеш-карта]]х и [[Твердотельный накопитель|твердотельных накопителях]] (SSD), так как отсутствие журналирования является преимуществом при работе с накопителями, имеющими ограничение на количество циклов записи.&lt;br /&gt;
&lt;br /&gt;
== История ==&lt;br /&gt;
На заре развития [[Linux (ядро)|Linux]] использовала [[файловая система Minix|файловую систему ОС Minix]]. Она была довольно стабильна, но оставалась 16-разрядной и, как следствие, имела жёсткое ограничение в 64 [[Мегабайт]]а на раздел. Также присутствовало ограничение на максимальную длину имени файла: оно составляло 14 символов.&lt;br /&gt;
Эти и другие ограничения послужили стимулом к разработке «[[ext|расширенной файловой системы]]» ({{lang-en|Extended File System}}), решавшей две главные проблемы Minix. Новая файловая система была представлена в апреле [[1992 год]]а. Ext расширила ограничения на размер [[файл]]а до 2 [[гигабайт]]&amp;lt;ref name=&amp;quot;ibm-ext4&amp;quot;&amp;gt;{{cite web&lt;br /&gt;
 |title       = Анатомия ext4. Знакомимся с четвертой расширенной файловой системой&lt;br /&gt;
 |url         = http://www.ibm.com/developerworks/ru/library/l-anatomy-ext4/&lt;br /&gt;
 |author      = M. Тим Джонс&lt;br /&gt;
 |date        = 2009-06-30&lt;br /&gt;
 |work        = IBM developerWorks&lt;br /&gt;
 |access-date  = 2010-07-06&lt;br /&gt;
 |archive-url  = https://www.webcitation.org/61CZAHFWC?url=http://www.ibm.com/developerworks/ru/library/l-anatomy-ext4/&lt;br /&gt;
 |archive-date = 2011-08-25&lt;br /&gt;
 |url-status     = dead&lt;br /&gt;
}}&amp;lt;/ref&amp;gt; и установила предельную длину [[имя файла|имени файла]] в 255 байт.&lt;br /&gt;
&lt;br /&gt;
Тем не менее, оставалось ещё много нерешённых проблем: не было поддержки раздельного доступа, временных меток модификации данных. Именно эти проблемы послужили инициативой для создания следующей версии расширенной файловой системы ext2 ({{lang-en|Second Extended File System}}), разработанной в январе [[1993 год]]а. В ext2 были также реализованы соответствующие стандарту [[POSIX]] списки контроля доступа [[ACL]] и расширенные [[атрибут файла|атрибуты файлов]].&lt;br /&gt;
&lt;br /&gt;
== Логическая организация файловой системы ext2 ==&lt;br /&gt;
[[Файл:The net hierarhy of the catalogs.svg|thumb|right|Сетевая иерархия каталогов [[файловая система|файловой системы]] ext2]]&lt;br /&gt;
[[граф (математика)|Граф]], описывающий [[Каталог (файловая система)|иерархию каталогов файловой системы]] ext2, представляет собой сеть. Причиной такой организации является то, что один [[файл]] может входить сразу в несколько каталогов ([[жёсткая ссылка]]).&lt;br /&gt;
&lt;br /&gt;
Все типы файлов имеют символьные имена. В иерархически организованных файловых системах обычно используются три типа [[имя файла|имен]]: простые, составные и относительные. Не является исключением и ext2. Ограничения на простое имя состоят в том, что его длина не должна превышать 255 байт, а также в имени не должны присутствовать символ [[NUL]] и [[косая черта|слеш]]. Ограничения на символ NUL связаны с представлением строк в языке [[Си (язык программирования)|Си]], а на символ слеш — с тем, что он используются как разделительный символ между каталогами.&lt;br /&gt;
&lt;br /&gt;
Полное имя представляет собой цепочку простых символьных имен всех [[Каталог (файловая система)|каталогов]], через которые проходит путь от корня до данного [[файл]]а. В [[файловая система|файловой системе]] ext2 файл может входить в несколько каталогов, а значит, иметь несколько полных имен; здесь справедливо соответствие «один файл — много полных имен». В любом случае полное имя однозначно определяет файл.&lt;br /&gt;
&lt;br /&gt;
[[Атрибут файла|Атрибутами]] файловой системы ext2 являются:&lt;br /&gt;
* [[тип файла|тип]] и [[права доступа]] к файлу,&lt;br /&gt;
* владелец, группа доступа,&lt;br /&gt;
* информация о разрешённых операциях ([[ACL]]),&lt;br /&gt;
* время создания, дата последнего доступа, дата последнего изменения и время последнего удаления,&lt;br /&gt;
* размер файла,&lt;br /&gt;
* спецификация файла:&lt;br /&gt;
** обычный файл,&lt;br /&gt;
** [[Каталог (файловая система)|каталог]],&lt;br /&gt;
** файл байт-ориентированного устройства,&lt;br /&gt;
** файл блочно-ориентированного устройства,&lt;br /&gt;
** [[именованный канал]],&lt;br /&gt;
** [[символическая ссылка]],&lt;br /&gt;
* число занимаемых [[файловая система|блоков]],&lt;br /&gt;
* другие.&lt;br /&gt;
&lt;br /&gt;
Атрибуты файлов хранятся не в каталогах, как это сделано в ряде простых [[файловая система|файловых систем]], а в специальных [[таблица]]х. В результате каталог имеет очень простую структуру, состоящую всего из двух частей: номера индексного дескриптора и имени файла.&lt;br /&gt;
&lt;br /&gt;
== Внутренняя организация файловой системы ext2 ==&lt;br /&gt;
&lt;br /&gt;
=== Структура дискового раздела ===&lt;br /&gt;
Как и в любой [[файловая система|файловой системе]] [[UNIX]], в составе ext2 можно выделить следующие составляющие:&lt;br /&gt;
* блоки и группы блоков;&lt;br /&gt;
* [[индексный дескриптор]];&lt;br /&gt;
* суперблок.&lt;br /&gt;
&lt;br /&gt;
Всё пространство [[Раздел диска|раздела]] [[жёсткий диск|диска]] разбивается на блоки фиксированного размера, кратные размеру [[Сектор диска|сектора]]: 1024, 2048, 4096 или 8192 байт. Размер блока указывается при создании файловой системы на разделе диска. Меньший размер блока позволяет сэкономить место на жёстком диске, но также ограничивает максимальный размер файловой системы. Все блоки имеют порядковые номера. С целью уменьшения фрагментации и количества перемещений головок жёсткого диска при чтении больших массивов данных блоки объединяются в группы блоков.&lt;br /&gt;
&lt;br /&gt;
Базовым понятием файловой системы является индексный дескриптор, или [[inode]] ({{lang-en|information node}}). Это специальная структура, которая содержит информацию об атрибутах и физическом расположении файла. Индексные дескрипторы объединены в таблицу, которая содержится в начале каждой группы блоков.&lt;br /&gt;
&lt;br /&gt;
=== Суперблок ===&lt;br /&gt;
[[Файл:Структурная_схема_файловой_системы_ext2.png|thumb|right|Обобщенная структурная схема ФС ext2]] Суперблок — основной элемент [[файловая система|файловой системы]] ext2. Он содержит общую информацию о файловой системе:&lt;br /&gt;
* общее число блоков и индексных дескрипторов в файловой системе,&lt;br /&gt;
* число свободных блоков и индексных дескрипторов в файловой системе,&lt;br /&gt;
* размер блока файловой системы,&lt;br /&gt;
* количество блоков и индексных дескрипторов в группе блоков,&lt;br /&gt;
* размер индексного дескриптора,&lt;br /&gt;
* идентификатор файловой системы (магическое число 0xEF53 для семейства файловых систем ext),&lt;br /&gt;
* дата последней проверки файловой системы,&lt;br /&gt;
* количество произведённых монтирований,&lt;br /&gt;
* флаг состояния файловой системы&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;{{Cite web|url=http://e2fsprogs.sourceforge.net/ext2intro.html|title=Design and Implementation of the Second Extended Filesystem|author=Remy Card, Theodore Ts&amp;#039;o, Stephen Tweedie|work=|date=|publisher=e2fsprogs.sourceforge.net|lang=en|access-date=2016-10-08|archive-url=https://web.archive.org/web/20120204044824/http://e2fsprogs.sourceforge.net/ext2intro.html|archive-date=2012-02-04|url-status=dead}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Суперблок находится в 1024 байтах от начала раздела. В следующем блоке после суперблока располагается глобальная дескрипторная таблица — описание групп блоков, представляющее собой массив, содержащий общую информацию обо всех группах блоков раздела.&lt;br /&gt;
&lt;br /&gt;
От целостности суперблока напрямую зависит работоспособность файловой системы. [[Операционная система]] создаёт несколько резервных копий суперблока на случай повреждения [[Раздел диска|раздела]]. С помощью флага состояния операционная система определяет текущее состояние файловой системы. Если файловая система монтируется на чтение, то флаг состояния будет указывать, что файловая система целостна (состояние «clean»). Если файловая система монтируется на чтение и запись, то в флаг состояния заносится информация о том, что файловая система используется (состояние «not clean»), а после размонтирования файловой системы флаг состояния снова должен указывать на целостность файловой системы&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;. Флаг состояния помогает определять возможные повреждения файловой системы. Например, если питание компьютера было неожиданно отключено, то флаг состояния будет указывать на некорректное завершение работы с файловой системой. При следующей загрузке компьютера операционная система должна будет проверить файловую систему на ошибки, если флаг состояния не указывает на целостность файловой системы.&lt;br /&gt;
&lt;br /&gt;
=== Группы блоков ===&lt;br /&gt;
Все блоки раздела ext2 объединяются в группы блоков. Для каждой группы создаётся отдельная запись в глобальной дескрипторной таблице, в которой хранятся основные параметры:&lt;br /&gt;
* номер блока в битовой карте блоков,&lt;br /&gt;
* номер блока в битовой карте [[inode]],&lt;br /&gt;
* номер блока в таблице [[inode]],&lt;br /&gt;
* число свободных блоков в группе,&lt;br /&gt;
* число [[индексный дескриптор|индексных дескрипторов]], содержащих каталоги.&lt;br /&gt;
Битовая карта блоков — это структура, каждый бит которой показывает, отведён ли соответствующий ему блок какому-либо файлу. Если бит равен 1, то блок занят. Аналогичную функцию выполняет битовая карта индексных дескрипторов, которая показывает, какие именно индексные дескрипторы заняты, а какие нет.&lt;br /&gt;
Ядро [[Linux]], используя число индексных дескрипторов, содержащих каталоги, пытается равномерно распределить inode каталогов по группам, а inode файлов старается по возможности переместить в группу с родительским каталогом. Все оставшееся место, обозначенное в таблице как [[Данные (вычислительная техника)|данные]], отводится для хранения файлов.&lt;br /&gt;
&lt;br /&gt;
=== Каталоги ===&lt;br /&gt;
[[Каталог (файловая система)|Каталоги]] могут содержать внутри себя другие каталоги или файлы. Физически каталог представляет собой специальный файл, содержащий записи произвольной длины. Каждая запись хранит в себе следующие данные&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;:&lt;br /&gt;
* номер [[Inode|индексного дескриптора]] файла,&lt;br /&gt;
* размер записи,&lt;br /&gt;
* длину имени файла,&lt;br /&gt;
* имя файла.&lt;br /&gt;
Подобная организация каталога позволяет хранить в нём длинные имена файлов без потери места на диске.&lt;br /&gt;
&lt;br /&gt;
Когда операционная система пытается найти расположение файла (или каталога) на диске, она по очереди загружает в память содержимое каждого каталога, указанного в [[Путь к файлу|пути к файлу]] (или каталогу), чтобы по имени найти индексный дескриптор следующего каталога, указанного в пути&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;. Обход каталогов продолжается, пока необходимый файл или каталог не будет найден.&lt;br /&gt;
&lt;br /&gt;
=== Система адресации данных ===&lt;br /&gt;
[[Файл:Система_адресации_файловой_системы_ext2.png|thumb|right|Система адресации ФС ext2]]&lt;br /&gt;
&lt;br /&gt;
Система адресации данных — это одна из самых важных составляющих файловой системы. Именно она позволяет находить нужный [[файл]] среди множества как пустых, так и занятых блоков на [[диск]]е.&lt;br /&gt;
&lt;br /&gt;
Файловая система ext2 использует следующую схему адресации блоков файла. Для хранения адреса файла выделено 15 полей, каждое из которых состоит из 4 [[байт]]. Если файл умещается в 12 блоков, то номера соответствующих [[Кластер (единица хранения данных)|кластеров]] непосредственно перечисляются в первых двенадцати полях адреса. Если размер файла превышает 12 блоков, то следующее поле содержит адрес кластера, в котором могут быть расположены номера следующих блоков файла. Таким образом, 13-е поле используется для косвенной адресации.&lt;br /&gt;
&lt;br /&gt;
При максимальном размере блока в 4096 байт кластер, соответствующий 13-му полю, может содержать до 1024 номеров следующих блоков файла. Если размер файла превышает 12+1024 блоков, то используется 14-е поле, в котором находится адрес кластера, содержащего 1024 номеров кластеров, каждый из которых ссылается на 1024 блока файла. Здесь применяется уже двойная косвенная адресация. И наконец, если файл включает более 12+1024+1048576 блоков, то используется последнее 15-е поле для тройной косвенной адресации.&lt;br /&gt;
&lt;br /&gt;
Данная система адресации позволяет при максимальном размере блока в 4096 байт иметь файлы, размер которых превышает 2 [[терабайт|TB]].&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Список файловых систем]]&lt;br /&gt;
* [[Сравнение файловых систем]]&lt;br /&gt;
* [[ext|Extended File System]]&lt;br /&gt;
* [[ext3|Файловая система ext3]]&lt;br /&gt;
* [[ext4|Файловая система ext4]]&lt;br /&gt;
* [[R.saver]] — программа для доступа к ext2 из-под [[Windows]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* {{статья&lt;br /&gt;
  |автор    = Крис Касперски&lt;br /&gt;
  |заглавие = «Война миров: ext2 vs ext3»&lt;br /&gt;
  |ссылка   = http://www.xakep.ru/magazine/xa/086/108/2.asp&lt;br /&gt;
  |язык     = ru&lt;br /&gt;
  |издание  = Хакер&lt;br /&gt;
  |тип      = журнал&lt;br /&gt;
  |год      = 2006&lt;br /&gt;
  |номер    = 86&lt;br /&gt;
  |страницы = 108&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* {{cite web&lt;br /&gt;
 |url         = http://www.nongnu.org/ext2-doc/&lt;br /&gt;
 |title       = Документация по ext2&lt;br /&gt;
 |lang        = en&lt;br /&gt;
 |archive-url  = https://www.webcitation.org/61CZB10ld?url=http://www.nongnu.org/ext2-doc/&lt;br /&gt;
 |archive-date = 2011-08-25&lt;br /&gt;
 |url-status     = dead&lt;br /&gt;
}}&lt;br /&gt;
* {{cite web&lt;br /&gt;
 |url         = http://e2fsprogs.sourceforge.net/ext2.html&lt;br /&gt;
 |title       = Инструменты пользователя для ext2&lt;br /&gt;
 |lang        = en&lt;br /&gt;
 |archive-url  = https://www.webcitation.org/61CZBRWvf?url=http://e2fsprogs.sourceforge.net/ext2.html&lt;br /&gt;
 |archive-date = 2011-08-25&lt;br /&gt;
 |url-status     = dead&lt;br /&gt;
}}&lt;br /&gt;
* {{cite web&lt;br /&gt;
 |url         = http://ext2fsd.sourceforge.net/&lt;br /&gt;
 |title       = Драйвер для MS Windows NT/2000/XP (ext2fsd)&lt;br /&gt;
 |lang        = en&lt;br /&gt;
 |archive-url  = https://www.webcitation.org/61CZBtcaN?url=http://ext2fsd.sourceforge.net/&lt;br /&gt;
 |archive-date = 2011-08-25&lt;br /&gt;
 |url-status     = dead&lt;br /&gt;
}}&lt;br /&gt;
* {{cite web&lt;br /&gt;
 |url         = http://sourceforge.net/projects/ext2fsx/&lt;br /&gt;
 |title       = Драйвер для Mac OS X&lt;br /&gt;
 |lang        = en&lt;br /&gt;
 |archive-url  = https://www.webcitation.org/61CZCJ9um?url=http://sourceforge.net/projects/ext2fsx/&lt;br /&gt;
 |archive-date = 2011-08-25&lt;br /&gt;
 |url-status     = dead&lt;br /&gt;
}}&lt;br /&gt;
* [https://www.opennet.ru/docs/RUS/ext2fs_lowlevel/ Низкоуровневое устройство файловой системы EXT2]{{ref|ru}}&lt;br /&gt;
&lt;br /&gt;
{{Файловые системы}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Файловые системы]]&lt;br /&gt;
[[Категория:Linux]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Alex NB OT</name></author>
	</entry>
</feed>