![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Файловые системыЛюбое компьютерное приложение получает, хранит и выводит данные. Во время работы процесс может хранить ограниченное количество данных в собственном адресном пространстве, поскольку его емкость ограничена рамками виртуального адресного пространства. Для некоторых приложений, например систем резервирования авиабилетов, систем банковского учета и др., одного только виртуального адресного пространства будет недостаточно. Кроме того, после завершения работы процесса информация, хранящаяся в его адресном пространстве, теряется. В это же время для ряда приложений (например, баз данных) ее надо хранить длительное время, а иногда даже вечно. Исчезновение данных после завершения процесса для таких приложений неприемлемо. Информация должна сохраняться и при аварийном завершении процесса в случае сбоя компьютера. Третья проблема состоит в том, что часто необходимо разным процессам одновременно получать доступ к одним и тем же данным (или части данных). Для решения этой проблемы необходимо отделить информацию от процесса. Таким образом, необходимо хранить данные на устройствах компьютеров (диски, ленты и др.) с соблюдением следующих требований:
Решение этих проблем состоит в хранении информации организованной в файлы.
При рассмотрении отдельных файлов и их совокупностей используются следующие понятия:
В рамках этой терминологии можно переопределить понятие файл как совокупность однородных записей. Файл рассматривается как единое целое приложениями и пользователем. Обращение к файлу осуществляется по его имени. Пользователь (программист) должен иметь удобные средства работы с файлами, включая каталоги-справочники, объединяющие файлы в группы, средства поиска файла по различным признакам, набор команд для создания, модификации и удаления файлов. Файл может быть создан одним пользователем, а затем использоваться другим, при этом создатель файла или администратор могут определить права доступа к нему других пользователей. В некоторых системах управления доступом осуществляется на уровне записи, а иногда и на уровне поля.
Обычно единственным способом работы с файлами является использование системы управления файлами или иначе — файловой системы (ФС). Файловая система — это часть операционной системы, включающая: · совокупность всех файлов на носителе информации (магнитном или оптическом диске, магнитной ленте и др.); · наборы структур данных, используемых для управления файлами (каталоги и дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске и др.); · комплекс системных программных средств, реализующих различные операции над файлами (создание, уничтожение, чтение, запись и др.). Задачи, решаемые файловой системой, во многом определяются способом организации вычислительного процесса (наиболее простые - в однопрограммных и однопользовательских ОС, наиболее сложные - в сетевых ОС). В многопрограммных, многопользовательских ОС задачами файловой системы являются:
Минимальным набором требований к файловой системе со стороны пользователя диалоговой системы общего назначения можно считать следующую совокупность возможностей, предоставляемую пользователю:
Объекты файловой системы Файловые системы поддерживают несколько функционально различных типов файлов, в число которых входят обычные файлы, содержащие информацию произвольного характера (текст, графика, звук и др.), файлы-каталоги, специальные файлы, именованные конвейеры, отображаемые в память файлы и др. Обычные файлы, или просто файлы или регулярные файлы, содержат информацию, которую в них заносит пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство ОС не контролируют содержимое и структуру регулярных файлов, которые в основном являются ASCII-файлами либо двоичными файлами. ASCII-файлы состоят из текстовых строк. Они могут отображаться на экране и выводиться на печать без какого-либо преобразования, и могут редактироваться практически любым текстовым редактором. Двоичные файлы имеют определенную внутреннюю структуру, которая известна программе, использующей данный файл. При выводе двоичного файла на принтер получается случайный набор символов. Каталоги — это системные файлы, обеспечивающие поддержку структуры файловой системы. Они содержат системную справочную информацию о наборе файлов, сгруппированных пользователем по какому-либо неформальному признаку. Во многих ОС в каталог могут входить другие файлы, в том числе другие каталоги, за счет чего образуется древовидная структура, удобная для поиска требуемого файла. Каталоги устанавливают соответствие между именами файлов и их характеристиками, используемыми файловой системой для управления файлами. В число таких характеристик входит тип файла, права доступа к файлу, его распоряжение на диске, размер, дата и время создания и др. Специальные файлы — это фиктивные файлы, ассоциированные с устройствами ввода-вывода, которые используются для унификации механизма доступа к последовательным устройствам ввода-вывода, таким как терминалы, принтеры и др. (например, MS DOS рассматривает монитор и клавиатуру как файлы со стандартным именем con — консоль, а принтер — как файл рrn). Блочные специальные файлы используются для моделирования дисков. Именованные конвейеры (каналы) — циклические буферы, позволяющие выходной файл одной программы соединить со входным файлом другой программы. Отображаемые файлы — это обычные файлы, отображенные на адресное пространство процесса по указанному виртуальному адресу. Файлы относятся к абстрактному механизму. Они предоставляют способ сохранять информацию на запоминающем устройстве и считывать ее позднее снова. При этом от пользователя должны скрываться такие детали, как способ и место хранения информации, а также детали работы устройства. В зависимости от правил, установленных разработчиками файловой системы на имя файла накладываются ограничения по длине и используемым в имени символам. Кроме того, в файловой системе могут присутствовать зарезервированные имена, которые нельзя присваивать файлам (например, для файловой системы NTFS одним из таких имён будет являться $MFT). В некоторых файловых системах имя файла может состоять из нескольких полей (например, в MS DOS имя файла состоит из собственно имени и расширения).
|