Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

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

Определение 1

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

В понятие "файловая система" включается:

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

К каждому компьютеру можно подключить сразу несколько устройств внешней памяти. Основное устройство внешней памяти компьютера − это жёсткий диск. Если жёсткие диски имеют достаточно большую ёмкость, то каждый из них можно разделить на несколько логических разделов, что даст некоторое преимущество:

  • есть возможность хранить операционную систему в одном логическом разделе, а данные — в другом, это позволяет переустанавливать операционную систему, не затрагивая данные;
  • в различных логических разделах одного жёсткого диска можно установить разные операционные системы;
  • изменение одних логических разделов не затрагивает другие разделы.

Каждое устройство внешней памяти, которое подключается к компьютеру, а также каждый из логических разделов жёсткого диска получает логическое имя.

В операционной системе Windows принято давать устройствам внешней памяти логические имена, состоящие из одной латинской буквы и знака двоеточия:

«Файловая система» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
  • для дисководов гибких дисков (дискет) — $A:$ и $B:$ (в настоящее время на современных компьютерах не используется);
  • для жёсткого диска и его логических разделов — $C:, D:, E:$ и т. д.;
  • для оптического дисковода — имена, которые следуют после имени последнего имеющегося на компьютере жёсткого диска или раздела жёсткого диска по алфавиту (например, $F:$);
  • для флеш-памяти, подключаемой к компьютеру, — имя, которое следует за последним именем оптического дисковода (например, $G:$).

В операционной системе Linux существуют иные правила поименования дисков и их разделов. Например:

  • логические разделы, которые принадлежат первому жёсткому диску, получают имена hda1, hda2 и т. д.;
  • логические разделы, которые принадлежат второму жёсткому диску, получают имена hdb1, hdb2 и т. д.

Имена файлов

При идентификации файлов учитываются ограничения операционной системы (ОС) как на длину имени, так и на используемые символы. Ещё совсем недавно в файловой системе FAT длина имени ограничивалась известной схемой $8.3$ (где собственно имя состоит из $8$ символов, а из $3$ символов состоит его расширение), а в ОС UNIX System $V$ имена не могут содержать более $14$ символов. Но современные файловые системы, как правило, могут поддерживать длинные имена файлов, т.к. при работе с длинными символьными именами можно давать файлам мнемонические названия, по которым даже через достаточно длительный отрезок времени можно будет вспомнить, что содержат эти файлы. Например, Windows в своей файловой системе NTFS устанавливает, что длина имени файла может быть до $255$ символов, не учитывая завершающего нулевого символа, причём в именах разрешается использовать пробелы и буквы национальных алфавитов. Расширение имени файла записывается после точки и содержит обычно $3-4$ символа.

В ОС MS Windows нельзя использовать символы: \, /,:, *, ?, ", , |в имени файла. В Linux эти символы, кроме «/», допустимы, но лучше их не использовать, так как некоторые из них могут иметь специальный, не соответствующий символу смысл, а также могут быть не совместимы с другими ОС.

В отличие от Windows ОС Linux различает строчные и прописные буквы в именах файлов: например, PROBA.txt, proba.txt и PrObA.txt — это три разных файла в Linux.

Типы файлов

Файлы бывают разных типов: обычные, специальные файлы, файлы-каталоги.

Обычный файл может быть как текстовым, так и двоичным. Текстовый файл состоит из строк символов, которые представлены в кодовой таблице. Это может быть документ, исходный текст программы и т.п. Текстовый файл можно прочитать на экране, а можно распечатать на принтере. Двоичный файл имеет сложную внутреннюю структуру, например, объектного кода программы или архивного файла. Любая операционная система должна уметь распознавать хотя бы один тип файла − свой собственный исполняемый файл.

Определение 3

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

Определение 4

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

Определение 5

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

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

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

Так, значения характеристик файлов могут содержаться непосредственно в каталоге, как это было сделано в файловой системе MS-DOS, но каталог может и ссылаться на таблицу, которая содержит эти характеристики, как это реализовано в ОС UNIX (см. Рисунок 1)

Структура каталогов: а - структура записи каталога MS-DOS (32 байта); б - структура записи каталога ОС UNIX

Рисунок 1. Структура каталогов: а - структура записи каталога MS-DOS (32 байта); б - структура записи каталога ОС UNIX

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

Иерархически каталоги могут представлять дерево или сеть. Если файлу разрешено входить только в один каталог, то каталоги образуют дерево, если файл может входить сразу в несколько каталогов, то каталоги образуют сеть. Каталоги в MS-DOS образуют структуру под названием дерево, а в UNIX'е – сетевую структуру. Каталоги имеют символьные имена, как, впрочем, и любые другие файлы, каталог однозначно инициируется составным именем, которое содержит цепочку символьных имен всех каталогов, Через эту цепочку имён и проходит полный путь от корня до данного каталога.

Каталоги жёстких дисков и/или их логических разделов в ОС Linux не являются корневыми каталогами (не принадлежат верхнему уровню файловой системы). Они встраиваются («монтируются») в каталог mnt. Другие устройства внешней памяти (гибкие, оптические и флеш-диски) встраиваются в каталог media. Каталоги mnt и media, в свою очередь, встраиваются в единый корневой каталог, который обозначается знаком « / » (прямой слэш).

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

Рисунок 2. Логическая организация файловой системы, где а - одноуровневая; б - иерархическая (дерево); в - иерархическая (сеть)

Определение 6

Файловая структура диска — это совокупность всех файлов на дисках и взаимосвязей между ними.

Файловая структура может быть простой и иерархической (многоуровневой).

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

Простая файловая структура

Рисунок 3. Простая файловая структура

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



Рисунок 4.

Графическое изображение иерархической файловой структуры носит название дерево. В MS Windows каталоги могут образовать несколько отдельных деревьев, если они расположены на разных дисках; а в Linux все каталоги объединяются в одно дерево, общее для всех дисков (см. Рисунок 5).

Иерархическая файловая структура в ОС Linux

Рисунок 5. Иерархическая файловая структура в ОС Linux

Древовидные иерархические структуры можно изображать как вертикально, так и горизонтально.

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

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

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

В ОС Linux путь к файлу надо указывать, начиная с имени единого корневого каталога; причём, после имени каждого подкаталога, в отличие от ОС MS Windows, ставится прямой слэш.

Путь к файлу и имя файла, записанные последовательно, составят полное имя файла. В системе не может быть двух файлов, которые имели бы одинаковые полные имена.

Пример 1

Пример полного имени файла в ОС Windows: Е:\Фото\реки\Катунь.jpeg Пример полного имени файла в ОС Linux: /home/phizik/text

Работа с файлами

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

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

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

Если нужно найти файл, имя которого известно приблизительно, удобнее всего использовать маску имени файла. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, которые допускаются в именах файлов, среди них могут встречаться такие символы: «?» (вопросительный знак) — что означает ровно один произвольный символ; символ «*» (звездочка) означает абсолютно любую (в том числе и пустую) последовательность символов произвольной длины.

Пример 2

По маске $m*.txt$ будут найдены все файлы, имена которых начинаются с буквы $«m»$, с расширением $txt$, , в том числе и файл $m.txt$. По маске $m?.*$ будут найдены файлы с любыми возможными расширениями и именами, состоящими из двух букв и начинающимися с буквы $«m»$. Ещё пример. Надо определить, какое из указанных имен файлов удовлетворяет маске:

\[*56?*9.d?t\]
  1. $5699.dtp$
  2. $151619.dot$
  3. $2256789.dtt$
  4. $11569.dot$

Решение



Рисунок 6.

Дата написания статьи: 26.05.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot