Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 19:

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

Ключевые термины

Network File System (NFS) – широко распространенная система общего доступа к файлам через локальную сеть.

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

Атрибуты файла – общие свойства, описывающие содержимое файла.

Блок – логическая единица информации (часть) файла, как правило, объединяющая несколько записей, с целью оптимизации операций ввода-вывода.

Блок управления файлом (File control block - FCB) – структура в памяти, содержащая информацию о файле и используемая операционной системой.

Директория (справочник, папка) - directory, folder – структура во внешней памяти, содержащая символьные имена файлов и других директорий и ссылки на них.

Дополнение к файлу объектного кода (ДФОК):в системе "Эльбрус" - файл, содержащий в унифицированном виде таблицы именованных сущностей, определенных в программе и ее процедурах (метаданные).

Заголовок файла – головная запись файла, в которой содержатся его атрибуты.

Запись (record) – элементарная единица, часть файла, в терминах которых выполняются операции обмена с файлом.

Защита (Protection) – управляющая информация, задающая полномочия чтения, изменения и исполнения файла.

Контейнер (в системе "Эльбрус") – хранилище файлов на одном или нескольких дисках.

Монтирование – подсоединение отдельного поддерева еще не смонтированной файловой системы к какой-либо вершине (точке монтирования) общего дерева доступных файловых систем.

Набор данных (data set) - термин фирмы IBM для обозначения файла.

Общий доступ (sharing) – возможность доступа к файлам и директориям различным пользователям, в том числе – по локальной сети.

Относительный путь - путь доступа к файлу относительно некоторой текущей директории.

Память файла - его записи, содержащие собственно хранимую в нем информацию.

Путь (path) – многослоговое имя файла или директории, состоящее из имени корневой директории (или логического диска) и последовательности имен директорий последующих уровней.

Раздел (partition) – смежная область дисковой памяти, имеющая свое логическое имя (обычно одна из первых букв латинского алфавита).

Резервное копирование (back-up) копирование файлов и директорий на внешние носители – ленту (стример), flash-память, внешний переносной жесткий диск, компакт-диск (CD, DVD), с целью их сохранности.

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

Cправочник внешних ссылок (СВС) – в системе "Эльбрус": справочник, имеющийся у каждого файла и используемый для хранения его внешних ссылок на другие файлы; элементы СВС адресуются по номерам, а не по именам.

Точка монтирования (mount point) – узел в дереве файловых систем, к которому подсоединяется новая файловая система при монтировании.

Файл (file) – смежная область логического адресного пространства, как правило, хранящаяся во внешней памяти.

Файл объектного кода (ФОК) – в системе "Эльбрус": файл, в котором хранится двоичный код исполняемой программы.

Файловая система поддерево директорий на некоторой машине, расположенных в одном разделе.

Краткие итоги

Файл – смежная область логического адресного пространства, хранящаяся, как правило, во внешней памяти. В файле могут храниться данные или программа. Файл делится на записи постоянной или переменной длины. Возможны файлы сложной структуры, интерпретируемые программами, их создавшими (например, документ в Microsoft Word). Файлы интерпретируют ОС и обрабатывающие их программы.

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

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

Тип файла в большинстве ОС указывается с помощью расширения его имени.

Различаются прямой (по номеру блока) и последовательный (с помощью сдвига текущей позиции) доступ к файлам. Последовательный доступ может быть смоделирован операциями прямого доступа.

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

Директория – системная структура во внешней памяти, содержащая ссылки на файлы или другие директории.

Файловая система в "Эльбрусе" отличается тем, что файл может быть создан без явной ссылки на него из справочника (директории). Файлы и справочники хранятся в контейнерах – хранилищах из одного или нескольких дисков. Файлы могут ссылаться друг на друга через справочники внешних ссылок, имеющися у каждого файла. Недостатки файловой системы "Эльбруса" – сложность структуры файлов, большое число атрибутов, зависимость операций над файлами от типа внешнего устройства.

Файлы и директории в файловой системе хранятся в разделах – смежных областях дисковой памяти, имеющих свои логические имена.

Основные операции над директорией: поиск файла, создание файла, удаление файла, создание поддиректории, вывод содержимого директории, переименование файла, создание символической ссылки, обход файловой системы.

Различные способы логической организации директорий: одноуровневая, двухуровневая, древовидная, в виде ациклического графа, в виде произвольного графа. Рекомендуется древовидная структура директорий, так как она позволяет организовать поддиректории для каждого пользователя, использовать файлы с одинаковыми именами в директориях различных пользователей и организовывать директории тематически. Структура директорий в виде ациклического графа возникает вследствие совместного использования узлов несколькими поддиректориями. Структура директорий в виде произвольного графа может привести к наличию циклов, обнаружение которых – очень неэффективная и нежелательная операция.

Монтирование файловой системы – это ее подсоединение к узлу уже существующих, активных и используемых файловых систем (точке монтирования).

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

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

Для реализации файловой системы ОС организует блок управления файлом, содержащий основные атрибуты файла.

Реализация системы файлов имеет иерархическую структуру, на верхнем уровне которой – пользовательские программы, на нижнем – драйверы и устройства ввода-вывода.

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

Набор для практики

Вопросы

  1. Что такое файл?
  2. Какого типа информация может храниться в файле?
  3. Какую структуру может иметь файл?
  4. Какие программы интерпретируют содержимое файла?
  5. Каковы основные атрибуты файла?
  6. Каковы основные операции над файлом?
  7. Каким образом система определяет тип файла?
  8. Какие расширения имен используются в операционных системах?
  9. Какие методы доступа к файлам Вам известны?
  10. Какие операции определены над файлами прямого доступа?
  11. Какие операции определены над файлами последовательного доступа?
  12. Что такое индексный файл и для чего он используется?
  13. Что такое директория?
  14. Каковы особенности, достоинства и недостатки файловой системы "Эльбруса"?
  15. Что такое раздел?
  16. Каковы основные операции над директорией?
  17. Каковы цели логической организации директорий?
  18. Какая организация директорий является наиболее предпочтительной и почему?
  19. Какие проблемы возникают при организации директорий в виде произвольного графа?
  20. Что такое монтирование файловых систем?
  21. Что такое точка монтирования?
  22. Что такое общий доступ к файлам и почему он необходим?
  23. Что такое NFS?
  24. Что такое защита файлов?
  25. Какие полномочия защиты и для каких пользователей рассматриваются в UNIX?
  26. Что такое блок управления файлом?
  27. Какие уровни абстракции можно выделить в реализации файловых систем?
  28. Какие структуры в памяти создает ОС при открытии файла и для управления операциями обмена?

Упражнения

  1. Реализуйте набор основных операций над файлами, используя низкоуровневые примитивы ввода-вывода.
  2. Реализуйте операции последовательного доступа к файлам, используя операции прямого доступа.
  3. Реализуйте индексные файлы и операции ускоренного поиска информации по основным файлам с использованием индексных файлов.
  4. Реализуйте структуру директорий и основные операции над ней, используя операции над файлами. Храните все ссылки в символической форме.
  5. Разработайте и реализуйте алгоритм поиска циклических ссылок в структуре директорий.

Темы для курсовых работ, рефератов, эссе

  1. Обзор концепции файла и типов файлов в файловых системах (реферат).
  2. Обзор расширений имен файлов (реферат).
  3. Обзор методов доступа к файлам (реферат).
  4. Обзор операций над директориями и методов реализации директорий в файловых системах (реферат).
  5. Обзор концепции монтирования и методов монтирования файловых систем в операционных системах (реферат).
  6. Обзор методов защиты файлов в операционных системах (реферат).
  7. Реализация набора основных операций над файлами, используя низкоуровневые примитивы ввода-вывода (курсовая работа).
  8. Реализация операций последовательного доступа к файлам, используя операции прямого доступа (курсовая работа).
  9. Реализация индексных файлов и операций ускоренного поиска информации по основным файлам с использованием индексных файлов (курсовая работа).
  10. Реализация структуры директорий и основных операций над ней, используя операции над файлами. Храните все ссылки в символической форме (курсовая работа).
  11. Разработка и реализация алгоритма поиска циклических ссылок в структуре директорий (курсовая работа).
Василий Четвертаков
Василий Четвертаков
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Константин Леденев
Константин Леденев
Россия
Олег Равков
Олег Равков
Россия