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

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 восстанавливает только системную информацию

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