Научная литература
booksshare.net -> Добавить материал -> Электротехника -> Мельников В.П. -> "Информационная безопасность и защита информации" -> 111

Информационная безопасность и защита информации - Мельников В.П.

Мельников В.П. Информационная безопасность и защита информации: Учебное пособие для вузов — М.: Академия, 2008. — 336 c.
ISBN 978-5-7695-4884-0
Скачать (прямая ссылка): infbezopas2008.djvu
Предыдущая << 1 .. 105 106 107 108 109 110 < 111 > 112 113 114 115 116 117 .. 143 >> Следующая

• заголовок списка свободных блоков, имеющихся в файловой системе;
• номер следующего элемента в списке свободных блоков;
• размер области индексов;
• число свободных индексов в файловой системе;
• список свободных индексов в файловой системе;
• следующий свободный индекс в списке свободных индексов;
• заблокированные поля для списка свободных блоков и свободных индексов;
• флаг, показывающий, что в суперблок были внесены изменения.
При монтировании файловой системы суперблок записывается в оперативную память и переписывается обратно при размонти-ровании. Для того чтобы обеспечивалась согласованность с данными, хранящимися в файловой системе, ядро периодически (через 30 с) переписывает суперблок на диск (системный вызов sync, запускаемый из процесса update).
Каждый файл в системе имеет уникальный индекс. Индекс — это управляющий блок. В литературе он также называется индексным дескриптором, i-node, или і-узлом. Индекс содержит информацию, необходимую любому процессу для того, чтобы обратиться к файлу, например права собственности на файл, права доступа к файлу, размер файла и расположение данных файла в файловой системе. Процессы обращаются к файлам, используя четко определенный набор системных вызовов и идентифицируя файл строкой символов, выступающих в качестве составного имени файла. Каждое составное имя однозначно определяет файл, благодаря чему ядро системы преобразует это имя в индекс файла.
261
Индексы существуют на диске в статической форме, и ядро считывает их в память прежде, чем начинает с ними работать. Индексы включают в себя следующие поля.
1. Идентификатор владельца файла и идентификатор группы.
2. Тип файла. Файл может быть файлом обычного типа, каталогом, специальным файлом (соответствующими устройствам ввода-вывода символами или блоками, а также абстрактным файлом канала, организующим обслуживание запросов в порядке поступления: «первым пришел — первым вышел»).
3. Права доступа к файлу. Права доступа к файлу разделены между индивидуальным владельцем, группой пользователей, в которую входит владелец файла, и всеми остальными. Суперпользователь (пользователь с именем root) имеет право доступа ко всем файлам в системе. Каждому классу пользователей выделены определенные права на чтение, запись и выполнение файла, которые устанавливаются индивидуально. Поскольку каталоги как файлы не могут быть исполнены, разрешение на исполнение в данном случае интерпретируется как право производить поиск в каталоге по имени файла, а право записи — как право создавать и уничтожать в нем файлы.
4. Временные сведения, характеризующие работу с файлом: время внесения последних изменений в файл, время последнего обращения к файлу, время внесения последних изменений в индекс.
5. Число указателей на индекс, означающее число имен файлов, ссылающихся на данный файл.
6. Таблица адресов дисковых блоков, в которых располагается информация файла. Хотя пользователи трактуют информацию в файле как логический поток байтов, ядро располагает эти данные в несмежных дисковых блоках.
7. Размер файла в байтах.
Обратим внимание на то, что в индексе отсутствует составное имя файла, необходимое для осуществления доступа к файлу.
Содержимое файла меняется только тогда, когда в файл производится запись. Содержимое индекса меняется как при изменении содержимого файла, так и при изменении владельца файла, прав доступа и т.д. Изменение содержимого файла автоматически вызывает коррекцию индекса, однако коррекция индекса еще не означает изменения содержимого файла.
При открытии файла индекс копируется в память и записывается обратно на диск, когда последний процесс, использующий этот файл, закроет его. Копия индекса в памяти, кроме полей дискового индекса, включает в себя следующие поля.
1. Состояние индекса в памяти, отражающее:
• заблокирован ли индекс;
• ждет ли снятия блокировки с индекса какой-либо процесс;
262
• отличается ли представление индекса в памяти от своей дисковой копии в результате изменения содержимого индекса;
• отличается ли представление индекса в памяти от своей дисковой копии в результате изменения содержимого файла;
• находится ли указатель файла в начале.
2. Логический номер устройства файловой системы, содержащей файл.
3. Номер индекса. Так как индексы на диске хранятся в линейном массиве, ядро идентифицирует номер дискового индекса по его местоположению в массиве. В дисковом индексе это поле не нужно.
4. Указатели на другие индексы в памяти.
5. Счетчик ссылок, означающий число активных экземпляров файла (таких, которые открыты).
Многие поля в копии индекса, с которой ядро работает в памяти, аналогичны полям в заголовке буфера, и управление индексами похоже на управление буферами. Индекс также блокируется, в результате чего другим процессам запрещается работать с ним. Эти процессы устанавливают в индексе специальный флаг, информирующий о том, что выполнение обратившихся к индексу процессов следует возобновить, как только блокировка будет снята. Установкой других флагов ядро отмечает расхождение между дисковым индексом и его копией в памяти. Когда ядру нужно будет записать изменения в файл или индекс, ядро перепишет копию индекса из памяти на диск только после проверки этих флагов.
Предыдущая << 1 .. 105 106 107 108 109 110 < 111 > 112 113 114 115 116 117 .. 143 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed