Linux Kernel (Ядро линукса) (часть 3)


Суперблок

В файловой системе Ext2 суперблок диска хранится в структуре ext2_super_ block Типы u8, ui6 и u32 обозначают целые без знака длиной 8, 16 и 32 бита соответственно, а типы s8,
si б и s32 — целые со знаком соответствующей длины. Чтобы явно задать
порядок хранения байтов слова или двойного слова на диске, ядро пользуется
типами 1е1б, 1е32, Ье1б и Ье32. Первые два типа обозначают прямой
порядок байтов (младшие байты имеют большие адреса), в то время как последние два типа обозначают обратный порядок байтов (старшие байты имеют большие адреса).

Поле s inodes count хранит количество индексных дескрипторов, а поле s biocks count — количество блоков в файловой системе Ext2.
Поле s iog biock size выражает размер блока в виде степени двойки, используя 1024 байта в качестве единицы измерения. Так, 0 обозначает 1024-байтовые блоки, 1 — блоки по 2048 байт и т. д. В настоящее время поле s iog frag size равно полю s iog biock size, потому что фрагментация еще не реализована.
ПОЛЯ s_blocks_per_group, s_frags_per_group И s_inodes_per_group Хранят соответственно количество блоков, фрагментов и индексных дескрипторов в группе блоков.

Некоторые блоки на диске зарезервированы для суперпользователя (или ка- кого-нибудь другого пользователя или группы пользователей, заданных в полях s def resuid И s def resgid). Эти блОКИ ПОЗВОЛЯЮТ системному администратору продолжать пользоваться файловой системой, даже когда для обычных пользователей не останется свободных блоков.

Поля s_mnt_count, s_max_mnt_count, s_lastcheck И s_checkinterval обеспечивают автоматическую проверку файловой системы на этапе загрузки. Они заставляют программу e2fsck выполняться после того, как будет выполнено заданное количество монтирований файловой системы, или по истечении заданного интервала времени после последней проверки. (Оба типа проверок можно задать одновременно.) Проверка непротиворечивости файловой системы выполняется также на этапе загрузки, если файловая система не была корректно размонтирована (например, из-за краха системы) или если ядро обнаружило в ней ошибки. Поле s state содержит ноль, если файловая система смонтирована или не была корректно размонтирована, единицу, если она была размонтирована корректно, и двойку, если файловая система содержит ошибки.

Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | Следующая страница




Возможно, Вас также заинтересует:

ОС Knoppix - это Linux без про...

ВведениеЕсли вы цените свое время, умеете считать деньги и знаете стоимость информации, то эта книга...

Linux Kernel (Ядро линукса) (ч...

Спин-блокировкаСпин-блокировка необходима в многопроцессорной системе, потому что могут возникнуть...

Linux Kernel (Ядро линукса) (ч...

Копирование при записи В системах Unix первых поколений создание процесса было реализовано довольно...

Linux Kernel (Ядро линукса) (ч...

Буферы блоков и головы буферовУ каждого буфера есть дескриптор голова буфера, имеющий тип buffer...