Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Dr-xr-xr-x 69 root root 0 Мар 30 2004 proc




Drwxr-xr-x 2 root root 4096 Апр 29 2003 opt

Drwxr-xr-x 2 root root 4096 Апр 29 2003 misc

Drwxr-xr-x 2 root root 4096 Апр 29 2003 initrd

558145 drwxr-xr-x 9 root root 4096 Мар 18 17:50 lib

11 drwx------ 2 root root 16384 Мар 18 17:22 lost+found

590977 drwxr-xr-x 5 root root 4096 Мар 18 14:06 mnt

180577 drwxr-x--- 17 root root 4096 Мар 30 11:25 root

640225 drwxr-xr-x 2 root root 8192 Мар 18 17:54 sbin

213409 drwxrwxrwt 9 root root 4096 Мар 30 11:24 tmp

229825 drwxr-xr-x 15 root root 4096 Мар 18 17:30 usr

32833 drwxr-xr-x 17 root root 4096 Мар 18 17:36 var

 

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

 

Следует также обратить внимание на размер большинства каталогов. Его минимальное значение – 4 Кб, что соответствует стандартному размеру одного логического блока. Поскольку каталог по существу является таблицей соответствия имен файлов и их индексных дескрипторов, подавляющее большинство каталогов вполне вмещаются в этот объем. Лишь три каталога в рассматриваемом примере имеют большие размеры: для каталога /lost+found (потерянные и найденные) зарезервировано 16 Кб – на тот случай, если при проверке файловой системы будет обнаружено большое количество испорченных файлов, каталог /sbin содержит большое количество утилит, а каталог /dev вмещает очень большое число специальных файлов. Каталог /proc, имеющий нулевой размер, является псевдокаталогом, он расположен в оперативной памяти и места на дисковом пространстве не занимает.

Следует обратить внимание на большое число жестких ссылок на каталоги. Так, у каталога /proc в приведенном примере 69 имен! С учетом того, что пользователям запрещено создание жестких ссылок на каталоги, это выглядит странно. Ответ можно найти, воспользовавшись командой ls –la /. Она отображает в двух верхних строках списка скрытую ссылку каталога на свое же имя, обозначаемую как «.», и ссылку на родительский каталог, обозначаемую как «..». Даже если в каталоге нет подкаталогов, эти две жесткие ссылки все равно будут существовать и отображаться. Шестьдесят девять имен у каталога /proc в рассмотренном примере – это ссылка каталога на себя, ссылка на родительский (корневой) каталог и 67 подкаталогов, каждый из которых ссылается на родительский каталог /proc. Более подробно структура файловых записей в каталоге будет рассмотрена ниже.

Блоки объединяются в группы блоков. Группы блоков в файловой системе и блоки внутри группы нумеруются последовательно, начиная с единицы (рис. 4.2). Первый блок на диске имеет номер 0 и принадлежит группе с номером 1. Полная группа содержит 32768 блоков. Последняя группа блоков может быть неполной. Начало каждой группы блоков имеет адрес, который может быть получен как (номер группы – 1)* (число блоков в группе).

 

Загрузчик ФС Группа блоков 1 Группа блоков 2 ……. Группа блоков N

 

Рис. 4.2. Группы блоков на логическом разделе Linux

 

Первые 1024 байта логического раздела Linux отведены на размещение загрузчика LILO или GRUB, и при размере блока в 1 Кб загрузчик занимает полный блок. Каждая группа блоков имеет одинаковое строение. Ее структура представлена на рис. 4.3.

 

Суперблок (дублируется)
Описатели групп блоков (дублируются)
Битовая карта блоков
Битовая карта индексных дескрипторов
Таблица индексных дескрипторов
Область блоков данных

 

Рис. 4.3. Структура группы блоков

 

Суперблок является начальной точкой файловой системы. Он имеет размер 1024 байта, но нужной информацией заполнен всего на четверть – остальная часть суперблока дополняется нулями. Что касается остатка логического блока при его размере в 4 кБ, то он может быть заполнен «мусором» или использоваться в качестве стеганографического контейнера. Наличие копий суперблока в некоторых группах объясняется чрезвычайной важностью этого элемента файловой системы. Дубликаты суперблока используются при восстановлении файловой системы после сбоев. Тем не менее некоторые системные утилиты (например, mount – утилита монтирования файловой системы) не умеют использовать резервные копии и при повреждении первого экземпляра суперблока сообщают об ошибке.

Информация, хранимая в суперблоке, используется для организации доступа к остальным данным на диске. В суперблоке определяется размер файловой системы, максимальное число файлов в разделе, объем свободного пространства и содержится много иной важной информации. При запуске ОС суперблок копируется в оперативную память, и все изменения файловой системы записываются на диск только периодически. Это позволяет повысить производительность системы, так как многие пользователи и процессы постоянно обновляют файлы. В ходе лабораторных работ нетрудно будет убедиться в том, что измененные и даже удаленные файлы продолжают существовать на диске в своем прежнем виде еще длительное время. При выключении системы суперблок обязательно должен быть записан на диск. При внезапном выключении питающего напряжения в структуре файловой системы на диске возникнут несоответствия, что приведет к запуску программы fsck при очередной загрузке компьютера. Суперблок имеет структуру, изображенную в табл. 4.1.

 

Таблица 4.1

Размер поля, байт Смещение от начала блока, байт Назначение  
        Число индексных дескрипторов в файловой системе
      4h Число блоков в файловой системе
      8h Число зарезервированных блоков
      Ch Число свободных блоков
      10h Число свободных индексных дескрипторов
      14h Номер первого блока, содержащего данные
      18h Индикатор размера логического блока: 0 = 1 Кб; 1 = 2 Кб; 2 = 4 Кб
      1Ch Индикатор размера фрагментов (если фрагментация блоков предусмотрена)
      20h Число блоков в каждой группе блоков
      24h Число фрагментов в каждой группе блоков
      28h Число индексных дескрипторов в каждой группе блоков
      2Ch Время последнего монтирования файловой системы (в секундах с полуночи 1 января 1970 года)
      30h Время последней записи в файловую систему
      34h Число монтирований файловой системы. Если этот счетчик достигает значения, указанного в следующем поле, файловая система при перезапуске проверяется, а счетчик обнуляется
      36h Предельное число монтирований файловой системы
      38h «Магическое число» (0xEF53), указывающее, что файловая система принадлежит к ex2fs или ext3fs
               

 

Окончание таблицы 4.1

Размер поля, байт Смещение от начала блока, байт Назначение  
    3Ah Флаги, указывающие текущее состояние файловой системы (1 – проверенная файловая система, 2 – ФС содержит ошибки, 4 – обнаружены зависшие узлы)
    3Ch Реагирование на сообщение об ошибках в суперблоке (1 – продолжение работы, 2 – перемонтирование в режиме для чтения, 3 – паника системы)
    3Eh Дополнительная версия
    40h Время последней проверки файловой системы
    44h Максимальный период времени между принудительными проверками файловой системы
    48h Указание на тип операционной системы, в которой создана файловая система
    4Ch Основная версия файловой системы
    50h UID пользователя, которому разрешено использовать зарезервированные блоки
    52h GID группы, которой разрешено использовать зарезервированные блоки
    54h Первый незарезервированный индексный дескриптор
    58h Размер индексного дескриптора (00 80h или 0100h)
    5Ah Группа блоков, в которую входит данный суперблок (для резервных копий)
    5Ch Флаги совместимых функций
    60h Флаги несовместимых функций
    64h Флаги совместимых функций только для чтения
    68h Идентификатор файловой системы
    78h Имя тома
    88h Путь последнего монтирования
    C8h Битовая карта использования алгоритма
    CCh Количество блоков, предварительно выделяемых файлам
    CDh Количество блоков, предварительно выделяемых каталогам
    CEh Не используется
    D0h Идентификатор журнала
    E0h Индексный дескриптор журнала
    E4h Журнальное устройство (в случае использования внешнего журнала)
    E8h Начало списка «зависших» индексных дескрипторов
    ECh Заполнение до 1024 байта
           

 

Содержание некоторых полей нуждается в разъяснении. Обычно для журнала транзакций в файловой системе ext3fs отводится один большой файл в пределах основного раздела. Но в целях защищенного резервирования на сервере может быть предусмотрен и внешний журнал.

Файл логически стирается при удалении его последнего имени (жесткой ссылки). Но если к этому времени файл будет открыт каким-нибудь процессом, то удаления не происходит, а его индексный дескриптор помещается в список «зависших» inode. При штатном завершении работы системы происходит освобождение открытых файлов, и те из них, которые объявлены удаленными, стираются. Автоматическая проверка файловой системы при загрузке выявляет файлы с неестественными характеристиками и сопровождается помещением их в каталог /lost+found. Поэтому после загрузки системы список «зависших» индексных дескрипторов в суперблоке должен быть пустым.

На рисунке 4.4 показано, как выглядит фрагмент суперблока при выводе информации с помощью команды блочного копирования dd с перенаправлением вывода в программу xxd, выводящую дамп памяти в шестнадцатеричном и символьном виде.

dd if=/dev/hda7 bs=1024 skip=1 count=1|dd bs=80 count=1|xxd

При отсутствии утилиты xxd можно воспользоваться командой hexdump -C.

 




Поделиться с друзьями:


Дата добавления: 2015-03-31; Просмотров: 671; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.