Файловые системы EXT2FS И EXT3FS

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

Файловые системы EXT2FS и EXT3FS отличаются только наличием журнала транзакций. В остальном они имеют идентичную структуру и могут взаимно преобразовываться на этапе монтирования. В файловой системе Linux основным логическим объектом является файл. Все объекты, включая устройства ввода/вывода информации и каналы межпроцессного взаимодействия, называются файлами. Определено 7 функциональных типов файлов:

>- файлы символических устройств, >- файлы блочных устройств.

Внутренняя структура обычного файла для операционной системы совершенно безразлична, и файл воспринимается ею как структурированная последовательность байт. Для операционных систем семейства UNIX не имеют значения, принятые в ОС Windows* и MS DOS, расширения файлов, по которым можно судить об их типе. Однако одна из утилит, именуемая file, умеет различать довольно много разновидностей файлов по их «магическим» числам и характерному формату.

Дисковое пространство выделяется файлам целыми блоками. Блок является адресуемой единицей дискового пространства и может иметь размер 1024, 2048 или 4096 байт. В ОС Windows* похожей величиной является кластер. Нетрудно заметить, что размер блока кратен размеру одиночного сектора на диске (512 байт). Непосредственно с секторами работать в файловой системе не приходится, но некоторая выводимая утилитами информация может подразумевать под названием «блок» и сектор, и логический блок. Большой размер блока сокращает число обращений к диску при чтении или записи файла, но увеличивает долю нерационально используемого пространства, особенно при наличии большого числа маленьких файлов. В современных дистрибутивах ОС Linux по умолчанию используется размер блока в 4 Кб, что ускоряет процессы подкачки в виртуальной памяти (размер страницы подкачки тоже равен 4 Кб).

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

Просматривая информацию об основных каталогах файловой системы (листинг 5), выведенной с помощью команды Is -li /, следует обратить внимание на то, как сильно различаются номера индексных дескрипторов каталогов. Это косвенно указывает на то, что каталоги распределены по всему диску.

131329

drwxr—хг—х

2

root

root

4096

Map

18

17:42

bin

328321

drwxr—хг—х

4

root

root

4096

Map

18

15:18

boot

196993

drwxr—хг—х

20

root

root

118784

Map

30

10:41

dev

164161

drwxr—хг—х

55

root

root

4096

Map

30

10:47

etc

525313

drwxr—хг—х

2

root

root

4096

Map

30

11:42

home

541729

drwxr—хг—х

2

root

root

4096

Anp

29

2003

initrd

558145

drwxr—хг—х

9

root

root

4096

Map

18

17:50

lib

11

drwx

2

root

root

16384

Map

18

17:22

lost+foun

230275

drwxr—хг—х

2

root

root

4096

Anp

29

2003

misc

590977

drwxr—хг—х

5

root

root

4096

Map

18

14:06

mnt

607393

drwxr—хг—х

2

root

root

4096

Anp

29

2003

opt

1

dr—хг—хг—х

69

root

root

0

Map

30

2004

proc

180577

drwxr—х

17

root

root

4096

Map

30

11:25

root

640225

drwxr—хг—х

2

root

root

8192

Map

18

17:54

sbin

213409

drwxrwxrwt

9

root

root

4096

Map

30

11:24

tmp

229825

drwxr—xr—x

15

root

root

4096

Map

18

17:30

usr

32833

drwxr—xr—x

17

root

root

4096

Map

18

17:36

var

Листинг 5. Информация об основных каталогах файловой системы Linux