Занятие 18. Файлы, файловые системы, работа с файлами и каталогами

План занятия:

  • Понятие файла
  • Понятия файловой системы
  • Типы файлов
  • Разделы
  • Каталоги
  • Древовидная структура каталогов

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

Понятие файла

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

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

Понятия файловой системы

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

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

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

К главным задачам файловой системы можно отнести:

· организацию ее логической структуры и ее отражение на физическую организацию размещения данных на диске;

· поддержку программного интерфейса файловой системы;

· обеспечение устойчивости против сбоев;

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

Типы файлов

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

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

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

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

Разделы

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

Раздел - это логическое устройство, что с точки зрения ОС функционирует как отдельный диск. Такое устройство может отвечать всем характеристикам физического диска (в этом случае говорят, что диск содержит один раздел); чаще всего он соответствует части диска (такую ​​часть называют еще физическим разделом); бывает и так, что подобные логические устройства сочетают несколько физических разделов, находящихся, возможно, на разных дисках (такие устройств называют логическими томами - logical volumes).

Каждый раздел может иметь свою файловую систему (и, возможно, использоваться различными ОС). Для разделения дискового пространства на разделы используют специальную утилиту, которую часто называют fdisk. Для генерации файловой системы на разделе нужно использовать операцию высокоуровневого форматирования диска. В некоторых ОС под томом (volume) понимают раздел с установленной на нем файловой системой.

Реализация разделов позволяет отделить логическое отражение дискового пространства от физического и повышает гибкость использования файловых систем.

Каталоги

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

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

Древовидная структура каталогов

Базовой идеей организации данных с помощью каталогов является то, что они могут содержать другие каталоги. Вложенные каталоги называют подкаталогами (subdirecto-ries). Таким образом формируют дерево каталогов. Первый каталог, созданный в файловой системе, установленной в разделе (корень дерева каталогов), называют корневым каталогом (root directory).



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: