Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР 4 Файловая система.Доступ к файлам.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
522.75 Кб
Скачать

7

Лабораторная работа № 4

Файловая система. Доступ к файлам

Функции файловой системы

Файловая система - это компонент ОС, который отвечает за сохранение данных в массовую память (жёсткий диск, флеш-память, оптические носители, и тд.).

Основными задачами файловой системы являются:

  • Хранение информации

  • Структурирование файлов

  • Обеспечение прав доступа к данным

  • Защита данных

  • Создание однородной среды для разных носителей информации

Для большинства приложений центральным элементом является файл. За исключением приложений реального времени и некоторых других специализированных приложений, ввод данных в приложение осуществляется посредством файлов; выходные данные почти всех приложений также сохраняются в виде файлов для долговременного хранения и последующего обращения к ним пользователей и других программ.

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

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

Системы управления файлами

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

Основные задачи системы управления файлами:

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

  • Гарантированные корректности данных, содержащихся в файле

  • Оптимизация производительности, как с точки зрения системы (пропускная способность), так и с точки зрения пользователя (время отклика)

  • Поддержка ввода-вывода для различных типов устройств и хранения информации

  • Минимизация или исключение возможных потерь или повреждений данных

  • Обеспечение стандартизированного набора подпрограмм интерфейса ввода-вывода

  • Обеспечение поддержки коллективного пользования несколькими пользователями многопользовательской системы

Что касается первого пункта – соответствия пользовательским требованиям, - то спектр этих требований зависит от разнообразия приложений и от среды, в которой используется компьютерная система. Ниже приведен минимальный набор требований для диалоговой системы общего назначения.

Каждый пользователь должен иметь следующие возможности:

  1. Создавать, удалять, читать и изменять файлы

  2. Иметь контролируемый доступ к файлам других пользователей

  3. Управлять доступом к своим файлам

  4. Реструктурировать файлы таким способом, который наиболее подходит для решения стоящих перед ним задач

  5. Перемещать данные между файлами

  6. Резервировать и восстанавливать файлы в случае повреждения

  7. Иметь доступ к файлам по символьным именам

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

На рис.1 представлена типичная схема организации программного обеспечения. Естественно, что различные системы организованны по-разному, однако приведенная организация типична. На нижнем уровне драйверы устройств непосредственно связаны с периферийными устройствами или их контроллерами либо каналами. Драйвер устройства отвечает за начальные операции ввода-ввывода устройства и за обработку завершения запроса ввода-вывода. Драйверы устройств обычно рассматриваются как часть операционной системы.

Смешаннный файл

Последовательный

Индексно-последовательный

Индексированный

Хэшированный

Логический ввод/вывод

Диспетчер базового ввода/вывода

Базовая файловая система

Драйвер диска

Драйвер стримера

Рисунок 1 – Архитектура файловой системы

Следующий уровень называется базовой файловой системой, или уровнем физического ввода-вывода. Это первичный интерфейс с окружением компьютерной системы. Он оперирует блоками данных, которыми обменивается с дисковой системой, магнитной лентой или другим носителем. Поэтому он связан с размещением и буферизацией блоков в оперативной памяти. На этом уровне не выполнятся работа с содержимым блоков данных или структурой файлов. Базовая файловая система рассматривается как часть операционной системы.

Диспетчер базового ввода/вывода отвечает за начало и завершение файлового ввода-вывода. На этом уровне поддерживаются управляющие структуры, связанные с устройством ввода-вывода, планированием и статусом файлов.

Логический ввод/вывод предоставляет пользователям и приложениям доступ к записям.

Рассмотрим пять фундаментальных способов организации файлов:

  • Смешанный файл

  • Последовательный файл

  • Индексно-последовательный файл

  • Индексированный файл

  • Файл прямого доступа (хешированный)

Рисунок 2 – Типы файлов

Смешанный файл

Наименее сложная форма организации файла может быть названа смешанной. Данные накапливаются в порядке своего поступления. Каждая запись состоит из одного пакета данных. Такая форма упрощает накопление всей массы данных и их хранение. Записи могут иметь как различные поля, таи и одинаковые поля, расположенные в различном порядке. Поэтому каждое поле должно описывать само себя, включая как значение, так и имя. Длина каждого поля должна быть указанна неявным образом посредством применения разделителя, либо явно включена как подполе.

Поскольку смешанный файл не имеет никакой структуры, то доступ к записи осуществляется путем полного перебора всех записей файла. Т.е. если необходимо найти запись, содержащую определенное поле с определенным значением, проверяется каждая запись до тех пор, пока не будет найдена искомая или пока весь файл не будет пересмотрен. Файлы этого типа рационально используют дисковое пространство при работе с данными различного размера и структуры; он хорошо подходит для полного перебора, но недостаточно прост при обновлении данных. В большинстве случаев этот файл непригоден.