Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билетики.pdf
Скачиваний:
1
Добавлен:
05.06.2025
Размер:
6.66 Mб
Скачать

64. Файловые операции. Процедура открытия файла.

Системный вызов open в ОС UNIX работает с двумя аргументами: символьным именем открываемого файла и режимом открытия файла. Режим открытия говорит системе,

какие операции будут выполняться над файлом в последовательности операций до закрытия файла по системному вызову close, например: только чтение, только запись или чтение и запись.

При открытии файла ОС сначала выполняет преобразование первого аргумента системного вызова, то есть символьного имени файла, в его уникальное числовое имя, которым в традиционных файловых системах UNIX является номер индексного дескриптора.

Открытие файла

Системный вызов open работает с двумя аргументами: именем файла и режимом открытия.

Режим открытия определяет операции с файлом до его закрытия.

Символьное имя файла преобразуется в уникальный числовой индексный дескриптор.

Структура виртуального дескриптора (vnode)

Файловая система копирует характеристики файла в оперативную память.

Структура vnode включает поля индексного дескриптора и дополнительные поля.

ОС хранит одну копию vnode для каждого файла, с которым работает хотя бы один процесс.

Структура файла (file)

ОС создает новую структуру file при каждом открытии файла.

Структура file содержит поля для режима открытия, указателя на vnode, текущего смещения и счетчика ссылок.

Переменная offset запоминает текущее положение указателя в файле. Управление указателем

Прикладной программист может управлять положением указателя с помощью вызова lseek.

ОС создает новую структуру file и помещает ее в дважды связанный список.

Дескриптор файла

Системный вызов open возвращает дескриптор файла, который имеет локальное значение для процесса.

Дескриптор используется во всех операциях с файлом до его закрытия.

При неудачной попытке открытия файла переменной fd присваивается значение -1.

65. Организация контроля доступа к файлам.

Организация контроля доступа к файлам

Файлы — частный случай разделяемых ресурсов.

Доступ к файлам контролируется операционной системой.

Другие разделяемые ресурсы: принтеры, модемы, память, процессы. Система контроля доступа ОС

ОС предоставляет средства для задания прав пользователей.

В UNIX устройства представлены как файлы.

В Windows NT используется унифицированная структура — объект безопасности. Субъекты доступа

Субъекты доступа: пользователи и группы пользователей.

Индивидуальные права доступа позволяют гибко управлять ресурсами.

Объединение пользователей в группы упрощает администрирование.

Владельцы объектов доступа

Владельцем может быть пользователь или группа пользователей.

Администратор системы имеет все права, но не обязательно является владельцем.

Подходы к определению прав доступа

Избирательный доступ: владелец определяет допустимые операции.

Мандатный доступ: система определяет права в зависимости от группы пользователя.

Мандатные системы надежны, но менее гибки.

Механизм контроля доступа

Пользователи и группы имеют символьное имя и числовой идентификатор.

Идентификационные данные хранятся в специальных файлах или базах данных.

Процесс-оболочка связывает идентификаторы с процессами.

Операции доступа к файлам

Набор операций может быть большим или укрупненным.

В UNIX три операции: читать, писать, выполнить.

В Windows NT два уровня операций: стандартные и индивидуальные. Матрица прав доступа

Права доступа описываются матрицей.

Матрица хранится в списках управления доступом (ACL).

ACL хранится на диске в индексном дескрипторе.

Не все файловые системы поддерживают ACL.

Структура списка ACL

Список ACL состоит из элементов управления доступом (ACE)

Каждый элемент соответствует одному идентификатору Характеристики безопасности

Список ACL с идентификатором владельца называется характеристиками безопасности Пример запроса на запись

Процесс с идентификаторами 3, 14, 52 и 72 пытается записать файл

Владелец файла имеет идентификатор 17

Процесс проверки доступа

Операционная система находит характеристики безопасности файла

Сравнивает идентификаторы процесса с идентификаторами владельца и элементов

ACE

Разрешение операции записи

Идентификатор группы 52 совпадает с идентификатором элемента ACE

Пользователю 52 разрешена операция чтения, поэтому ОС разрешает запись Особенности операционных систем

Схема хранения информации о правах доступа и проверки имеет особенности в каждой ОС

Примеры ОС: UNIX и Windows NT

66. Отказоустойчивость файловых систем.

Отказоустойчивость файловых систем

Файловые системы обеспечивают сохранность данных при крахе системы.

Данные, записанные на диск, остаются нетронутыми при перезапуске ОС.

Коды и данные ОС хранятся в файлах, что облегчает перезапуск.

Методы повышения устойчивости

Использование избыточных дисков и алгоритмов управления массивами.

Восстанавливаемые файловые системы для борьбы с нарушением целостности служебной информации.

Восстанавливаемость файловых систем

Гарантирует завершение или отмену операций при отказе питания или крахе ОС.

Последствия сбоя зависят от выполняемой операции и порядка выполнения подопераций.

Некорректность файловой системы может быть вызвана нарушением работы дискового кэша.

Кэширование данных

Данные временно хранятся в буферах оперативной памяти.

Менеджер дискового кэша вытесняет блоки на диск при необходимости.

Приложения могут запрашивать операцию сквозной записи.

Протоколирование транзакций

Транзакции — неделимые работы, выполняемые полностью или не выполняемые вовсе.

Протоколирование изменений позволяет отменить незавершенные транзакции.

Упреждающее протоколирование записывает изменения в журнал транзакций.

Журнал транзакций используется для отката и повторения транзакций при необходимости.

67. Процедура самовосстановления NTFS.

Файловая система NTFS и её восстанавливаемость

NTFS восстанавливает только системную информацию

Сохранность пользовательских файлов не гарантируется