• Посудомоечные машины miele

    посудомоечные машины miele

    mit-partner.ru

  • Магазин необычных подарков

    Магазин подарков Удиви. Необычные подарки в любую точку России от магазин необычных подарков.

    udivishop.ru





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


Регистрация типа файловой системы

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

Каждая зарегистрированная файловая система представлена в виде объекта fiie system typeВсе объекты, представляющие типы файловых систем, объединены в однонаправленный список. Переменная file systems указывает на его первый элемент, а поле next описанной структуры указывает на следующий элемент списка. Спин-блокировка чтения/записи file_system_lock защищает список от попыток одновременного обращения.

Поле fs supers является головой (первым пустым элементом) списка суперблоков, соответствующих смонтированным файловым системам данного типа. Ссылки на соседние элементы списка хранятся в поле s instances суперблока.

Поле get sb указывает на специфичную для файловой системы функцию, которая создает новый объект-суперблок и инициализирует его (читая информацию с диска, если это необходимо). Поле kiii sb указывает на функцию, уничтожающую суперблок.

Поле fs fiags содержит некоторые флагиПри инициализации системы функция register_fiiesystem вызывается для каждой файловой системы, указанной на этапе компиляции. Эта функция заносит соответствующий объект fiie system type в список типов файловых систем.

Функция register fiiesystemo также вызывается при загрузке модуля, реализующего файловую систему. В этом случае регистрация файловой системы может быть аннулирована ВЫЗОВОМ функции unregister_filesystem, КОГДа модуль выгружается.

Функция get sb type , принимающая название файловой системы в качестве параметра, просматривает список зарегистрированных файловых систем, изучая поля name их дескрипторов, и возвращает указатель на соответствующий объект f iie system type, если таковой обнаруживается.

Предыдущая страница | 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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | Следующая страница




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

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

ВведениеЕсли вы цените свое время, умеете считать деньги и знаете стоимость информации, то эта книга для вас. А так как к книге прилагается компакт- диск с готовой к работе операционной системой Knoppix Live CD, то лишь достаточно вставить его в привод и перегрузить компьютер,...

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

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

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

Копирование при записи В системах Unix первых поколений создание процесса было реализовано довольно неуклюже: получив системный вызов fork о, ядро в буквальном смысле дублировало все адресное пространство родителя и присваивало копию процессу-потомку. Такая операция...

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

Буферы блоков и головы буферовУ каждого буфера есть дескриптор голова буфера, имеющий тип buffer head. Этот дескриптор содержит всю информацию, необходимую ядру для работы с блоком, так что перед обработкой блока ядро обязательно проверяет голову...