Основы современных операционных систем Лекция 19

Содержание

Слайд 2

(C) В.О. Сафонов, 2010

Интерфейс с системой файлов

Понятие файла
Методы доступа
Структура директорий
Монтирование файловых систем
Общий

(C) В.О. Сафонов, 2010 Интерфейс с системой файлов Понятие файла Методы доступа
доступ к файлам
Защита

Слайд 3

(C) В.О. Сафонов, 2010

Понятие файла

Смежная область логического адресного пространства
Типы:
Данные
числовые
символьные
двоичные
Программа

(C) В.О. Сафонов, 2010 Понятие файла Смежная область логического адресного пространства Типы:

Слайд 4

(C) В.О. Сафонов, 2010

Структура файла

Последовательность слов или байтов (UNIX)
Простая структура - последовательность

(C) В.О. Сафонов, 2010 Структура файла Последовательность слов или байтов (UNIX) Простая
записей
Строки
Записи фиксированной длины
Записи переменной длины
Сложная структура
Отформатированный документ
Загрузочный модуль; PE-файл (.NET), class-файл (Java)
Сложная структура может быть смоделирована записями путем добавления соответствующих управляющих символов.
Интерпретируют файлы:
Операционная система
Программа

Слайд 5

(C) В.О. Сафонов, 2010

Атрибуты файлов

Имя (Name) – информация в символьной форме, воспринимаемая

(C) В.О. Сафонов, 2010 Атрибуты файлов Имя (Name) – информация в символьной
человеком.
Тип (Type) – необходим для систем, которые поддерживают различные типы файлов (Эльбрус: тип файла – число; 0 – данные, 2 – код, 3 – текст и т.д.). В MS DOS, Windows, UNIX тип файла принято кодировать расширением имени.
Размещение (Location) – указатель на размещение файла на устройстве.
Размер (Size) – текущий размер файла.
Защита (Protection) – управляющая информация о том, кто может читать, изменять и исполнять файл.
Время, дата, идентификация пользователя.
Информация о файлах хранится в структуре директорий.

Слайд 6

(C) В.О. Сафонов, 2010

Операции над файлом

Создание - Create
Запись - Write
Чтение - Read
Поиск

(C) В.О. Сафонов, 2010 Операции над файлом Создание - Create Запись -
позиции внутри файла - Seek
Удаление - Delete
Сокращение - Truncate
Open(Fi) – поиск в структуре директорий на диске элемента Fi, и перемещение содержимого элемента в память.
Close (Fi) – переместить содержимое элемента Fi из памяти в структуру директорий на диске.

Слайд 7

(C) В.О. Сафонов, 2010

Типы файлов – имена и расширения

(C) В.О. Сафонов, 2010 Типы файлов – имена и расширения

Слайд 8

(C) В.О. Сафонов, 2010

Методы доступа к файлам

Последовательный доступ
read next
write next
reset
rewrite
Прямой доступ
read

(C) В.О. Сафонов, 2010 Методы доступа к файлам Последовательный доступ read next
n
write n
position to n
read next
write next
rewrite n
n = относительный номер блока

Слайд 9

(C) В.О. Сафонов, 2010

Файл последовательного доступа

(C) В.О. Сафонов, 2010 Файл последовательного доступа

Слайд 10

(C) В.О. Сафонов, 2010

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

(C) В.О. Сафонов, 2010 Моделирование последовательного доступа для файла с прямым доступом

Слайд 11

(C) В.О. Сафонов, 2010

Пример индексного файла и относительного файла

(C) В.О. Сафонов, 2010 Пример индексного файла и относительного файла

Слайд 12

(C) В.О. Сафонов, 2010

Структура директорий

Совокупность узлов, содержащих информацию обо всех файлах
Как структура

(C) В.О. Сафонов, 2010 Структура директорий Совокупность узлов, содержащих информацию обо всех
директорий, так и файлы хранятся на диске.
Резервное копирование (back-up) обеих этих структур выполняется на ленту (стример), flash-память, внешний жесткий диск, CD и др.

Слайд 13

(C) В.О. Сафонов, 2010

Файловая система в “Эльбрусе”

Файлы, контейнеры, справочники
Файл – заголовок и

(C) В.О. Сафонов, 2010 Файловая система в “Эльбрусе” Файлы, контейнеры, справочники Файл
память.
В заголовке – порядка 200 (!) атрибутов файла
Возможно создание файла и управление им без присваивания ему имени, т.е. без отображения в справочниках (директориях)
Файлы могут ссылаться друг на друга (по файловой ссылке, а не по имени) через справочники внешних ссылок (СВС)
Недостатки: сложная структура файлов, большое число атрибутов, зависимость логической структуры файла от типа устройства

Слайд 14

(C) В.О. Сафонов, 2010

Типичная организация файловой системы

(C) В.О. Сафонов, 2010 Типичная организация файловой системы

Слайд 15

(C) В.О. Сафонов, 2010

Операции над директорией

Поиск файла
Создание файла
Удаление файла
Создание поддиректории
Вывод содержимого директории
Переименование

(C) В.О. Сафонов, 2010 Операции над директорией Поиск файла Создание файла Удаление
файла
Создание символической ссылки
Обход файловой системы (traverse – обход дерева)
Ср. с “Эльбрусом”: в нем создание файла – отдельная операция, не связанная с директорией (справочником) вообще

Слайд 16

(C) В.О. Сафонов, 2010

Цели логической организации директорий

Эффективность – быстрый поиск файла.
Именование –

(C) В.О. Сафонов, 2010 Цели логической организации директорий Эффективность – быстрый поиск
удобство для пользователей.
Два пользователя могут называть два разных файла одним и тем же именем.
Один и тот же файл может иметь несколько различных имен.
Логическая группировка файлов по назначению, свойствам и т.д. (почта, Java-код, игры и др.)

Слайд 17

(C) В.О. Сафонов, 2010

Одноуровневая организация для всех пользователей – проблемы с группировкой

(C) В.О. Сафонов, 2010 Одноуровневая организация для всех пользователей – проблемы с группировкой и именованием
и именованием

Слайд 18

(C) В.О. Сафонов, 2010

Двухуровневая организация

Имя пути
Возможность иметь одинаковые имена файлов для различных

(C) В.О. Сафонов, 2010 Двухуровневая организация Имя пути Возможность иметь одинаковые имена
пользователей
Эффективный поиск
Нет возможности группировки

Слайд 19

(C) В.О. Сафонов, 2010

Древовидная структура директорий

(C) В.О. Сафонов, 2010 Древовидная структура директорий

Слайд 20

(C) В.О. Сафонов, 2010

Древовидная структура директорий

Эффективный поиск
Возможность группировки
Текущая директория (рабочая директория)
cd /spell/mail/prog
type

(C) В.О. Сафонов, 2010 Древовидная структура директорий Эффективный поиск Возможность группировки Текущая
list

Слайд 21

(C) В.О. Сафонов, 2010

Древовидная структура директорий

Абсолютный или относительный путь (первый может создавать

(C) В.О. Сафонов, 2010 Древовидная структура директорий Абсолютный или относительный путь (первый
проблемы при переносе на другие компьютеры, сборке и др.)
Создание нового файла выполняется в текущей директории.
Удаление файла
rm
Создание новой поддиректории выполняется в текущей директории.
mkdir
Пример: если текущая директория /mail
mkdir count

Слайд 22

(C) В.О. Сафонов, 2010

Структура директорий в виде ациклического графа (с разделяемыми директориями

(C) В.О. Сафонов, 2010 Структура директорий в виде ациклического графа (с разделяемыми директориями и файлами)
и файлами)

Слайд 23

(C) В.О. Сафонов, 2010

Структура директорий в виде ациклического графа (продолжение)

Два различных имени

(C) В.О. Сафонов, 2010 Структура директорий в виде ациклического графа (продолжение) Два
у одного файла (директории) - aliasing
Если в dict удалить list ⇒ подвисшая ссылка (dangling pointer).
Решения:
Обратные ссылки (с целью удаления всех ссылок).
Счетчики ссылок.

Слайд 24

(C) В.О. Сафонов, 2010

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

(C) В.О. Сафонов, 2010 Структура директорий в виде произвольного графа

Слайд 25

(C) В.О. Сафонов, 2010

Структура директорий в виде произвольного графа (прод.)

Как гарантировать отсутствие

(C) В.О. Сафонов, 2010 Структура директорий в виде произвольного графа (прод.) Как
циклов?
Допускать только ссылки на файлы, а не на поддиректории.
Сборка мусора.
Каждый раз при создании новой ссылки запускать алгоритм проверки отсутствия циклов.

Слайд 26

(C) В.О. Сафонов, 2010

Монтирование файловых систем (mounting)

Файловая система должна быть смонтирована, прежде

(C) В.О. Сафонов, 2010 Монтирование файловых систем (mounting) Файловая система должна быть
чем к ней будет обеспечен доступ.
Файловая система монтируется в некоторую точку монтирования (mount point).
Монтирование (с абстрактной точки зрения) – подсоединение отдельного дерева (еще не смонтированной файловой системы) к какой-либо вершине (точке монтирования) общего дерева смонтированных и доступных файловых систем
UNIX: команды mount; automount; autodirect

Слайд 27

(C) В.О. Сафонов, 2010

Дерево смонтированных систем (а) и еще не смонтированная файловая

(C) В.О. Сафонов, 2010 Дерево смонтированных систем (а) и еще не смонтированная файловая система (b)
система (b)

Слайд 28

(C) В.О. Сафонов, 2010

Точка монтирования

(C) В.О. Сафонов, 2010 Точка монтирования

Слайд 29

(C) В.О. Сафонов, 2010

Общий доступ к файлам (sharing)

В многопользовательских системах общий доступ

(C) В.О. Сафонов, 2010 Общий доступ к файлам (sharing) В многопользовательских системах
к файлам необходим.
Общий доступ может быть обеспечен через некоторую систему защиты (protection).
В распределенных системах файлы могут использоваться совместно через сеть.
Network File System (NFS) – распространенный метод общего доступа к файлам.
Solaris: /net/hostname/filesystem; hostname – имя машины; filesystem – имя файловой системы на ней, для которой разрешен общий доступ (выполнена команда share)

Слайд 30

(C) В.О. Сафонов, 2010

Защита (protection)

Создатель файла должен иметь возможность управлять:
Списком допустимых операций

(C) В.О. Сафонов, 2010 Защита (protection) Создатель файла должен иметь возможность управлять:
над файлом
Списком пользователей, которым они разрешены
Типы доступа:
Read
Write
Execute
Append
Delete
List

Слайд 31

(C) В.О. Сафонов, 2010

Списки доступа и группы (UNIX)

Режимы доступа: read, write, execute
Три

(C) В.О. Сафонов, 2010 Списки доступа и группы (UNIX) Режимы доступа: read,
класса пользователей:
RWX
a) owner access 7 ⇒ 1 1 1 RWX
b) group access 6 ⇒ 1 1 0
RWX
c) public access 1 ⇒ 0 0 1
Системный администратор создает группу (например, JAVA) и включает в нее нескольких пользователей.
Для конкретного файла (например, game) или поддиректории определяются соответствующие полномочия доступа
Для директории “X” означает возможность входа в нее (cd)

Слайд 32

(C) В.О. Сафонов, 2010

Реализация файловых систем

Структура файловых систем
Реализация файловых систем
Реализация директорий
Методы

(C) В.О. Сафонов, 2010 Реализация файловых систем Структура файловых систем Реализация файловых
размещения файлов
Управление свободной памятью
Эффективность и производительность
Восстановление
Файловые системы на основе журналов транзакций (Log-Structured)
NFS

Слайд 33

(C) В.О. Сафонов, 2010

Структура файловой системы

Структура файла
Файл - логическая единица распределения памяти
Файл

(C) В.О. Сафонов, 2010 Структура файловой системы Структура файла Файл - логическая
– совокупность взаимосвязанной информации
Файловая система располагается во внешней памяти (на дисках)
Файловая система организована по уровням.
Блок управления файлом (File control block) – структура в памяти, содержащая информацию о файле.

Слайд 34

(C) В.О. Сафонов, 2010

Многоуровневая файловая система

(C) В.О. Сафонов, 2010 Многоуровневая файловая система

Слайд 35

(C) В.О. Сафонов, 2010

Типовая структура блока управления файлом

(C) В.О. Сафонов, 2010 Типовая структура блока управления файлом

Слайд 36

(C) В.О. Сафонов, 2010

Структуры ОС в памяти для управления файловой системой (открытие,

(C) В.О. Сафонов, 2010 Структуры ОС в памяти для управления файловой системой (открытие, чтение)
чтение)
Имя файла: Основы-современных-операционных-систем-Лекция-19.pptx
Количество просмотров: 166
Количество скачиваний: 0