'

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

Понравилась презентация – покажи это...





Слайд 0

Основы современных операционных систем Лекция 19 Сафонов Владимир Олегович Профессор кафедры информатики, Заведующий лабораторией Java-технологии мат-мех. факультета СПбГУ Email: vosafonov@gmail.com Сайт лаборатории: http://polyhimnie.math.spbu.ru/jtl


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

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


Слайд 14

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


Слайд 15

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


Слайд 16

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


Слайд 17

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


Слайд 18

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


Слайд 19

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


Слайд 20

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


Слайд 21

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


Слайд 22

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


Слайд 23

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


Слайд 24

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


Слайд 25

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


Слайд 26

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


Слайд 27

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


Слайд 28

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


Слайд 29

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


Слайд 30

(C) В.О. Сафонов, 2010 31 Списки доступа и группы (UNIX) Режимы доступа: read, write, execute Три класса пользователей: 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)


Слайд 31

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


Слайд 32

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


Слайд 33

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


Слайд 34

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


Слайд 35

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


Слайд 36

(C) В.О. Сафонов, 2010 37 Q & A Вопросы и ответы


×

HTML:





Ссылка: