Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Файловые системы




Любое компьютерное приложение получает, хранит и выводит данные. Во время работы процесс может хранить ограниченное количество данных в собственном адресном пространстве, поскольку его емкость ограничена рамками виртуального адресного пространства. Для некоторых приложений, например систем резервирования авиабилетов, систем банковского учета и др., одного только виртуального адресного пространства будет недостаточно.

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

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

Таким образом, необходимо хранить данные на устройствах компьютеров (диски, ленты и др.) с соблюдением следующих требований:

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

Решение этих проблем состоит в хранении информации организованной в файлы.

Файл — в общем случае, это именованная совокупность данных, хранящаяся на каком-либо носителе информации.

При рассмотрении отдельных файлов и их совокупностей используются следующие понятия:

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

Запись (record) — набор связанных между собой полей, которые могут быть обработаны как единое целое некоторой прикладной программой.

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

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

Обычно единственным способом работы с файлами является использование системы управления файлами или иначе — файловой системы (ФС). Файловая система — это часть операционной системы, включающая:

· совокупность всех файлов на носителе информации (магнитном или оптиче­ском диске, магнитной ленте и др.);

· наборы структур данных, используемых для управления файлами (каталоги и дескрипторы файлов, таблицы распределения свободного и занятого простран­ства на диске и др.);

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

Задачи, решаемые файловой системой, во многом определяются способом органи­зации вычислительного процесса (наиболее простые - в однопрограммных и однополь­зовательских ОС, наиболее сложные - в сетевых ОС).

В многопрограммных, многопользовательских ОС задачами файловой системы являются:

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

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

    1. Создание, удаление, чтение и изменение файлов.
    2. Контролируемый доступ к файлам других пользователей.
    3. Управление доступом к своим файлам.
    4. Реструктурирование файлов в соответствии с решаемой задачей.
    5. Перемещение данных между файлами.
    6. Резервирование и восстановление файлов в случае повреждения.
    7. Доступ к файлам по символьным именам.

Объекты файловой системы

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

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

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

Специальные файлы — это фиктивные файлы, ассоциированные с устройствами ввода-вывода, которые используются для унификации механизма доступа к последовательным устройствам ввода-вывода, таким как терминалы, принтеры и др. (например, MS DOS рассматривает монитор и клавиатуру как файлы со стандартным именем con — консоль, а принтер — как файл рrn). Блочные специальные файлы используются для моделирования дисков.

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

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

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

В зависимости от правил, установленных разработчиками файловой системы на имя файла накладываются ограничения по длине и используемым в имени символам. Кроме того, в файловой системе могут присутствовать зарезервированные имена, которые нельзя присваивать файлам (например, для файловой системы NTFS одним из таких имён будет являться $MFT). В некоторых файловых системах имя файла может состоять из нескольких полей (например, в MS DOS имя файла состоит из собственно имени и расширения).


 


Поделиться:

Дата добавления: 2015-09-13; просмотров: 80; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты