Многоуровневая файловая система



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

Уровень физического размещения данных (ФФС). Речь при этом не идет о конкретном физическом устройстве, например, жестком магнитном диске, а об абстрактном поле данных, множестве логических записей. Существует большое количество таких физических файловых систем, таких какFAT, NTFS, CDFS, ext, ufs, hfsи т.д.

Уровень драйверов. Каждый драйвер отображает множество логических записей физической ФС на конкретный физический носитель. Например, секторы жесткого магнитного диска.

Логическая ФС

ЛФС Windowsпредставляет собой лес файловых систем. Каждое дерево соответствует логическому диску. По традиции имена дисков в Windows представлены буквами латинского алфавита (Например, c: d: и т.д.). Жесткой связи между физическими носителями (дисками) и логическими дисками (томами) нет. Один физический диск может быть разбит на несколько логических, и наоборот, один логический диск может объединять несколько физических дисков.

Иерархическая структура файловой системы.

Иерархическая структура ФС представлена на рис. 12.

 

Рис. 12. Иерархическая структура ФС

Каталог самого верхнего уровня называется корневым каталогом, или корнем (root).

Имя файла в ЛФС может содержать от 1 до 255 символов UNICODE, что позволяет использовать не только латинские, но и буквы национальных алфавитов. Также разрешается использовать некоторые специальные символы – подчеркивание, пробел, скобки и несколько других. В ЛФС Windows не различаются заглавные и строчные буквы. Полное имя файла содержит полный путь от имени логического диска до файла. Имена каталогов определяются символами \.

Пример: d:\fotos\nature\foto1.jpg

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

Метаинформация о файле в ЛФС Windowsхранится в каталоге вместе с именем файла.

Физическая файловая система.

Задача физической файловой системы (ФФС) – отобразить файлы данных и связанные с ними метаданные на устройство хранения.

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

Блок (сектор) – это единица чтения записи данных на устройстве хранения. Для жестких дисков размер блока ранее был 512 байтов. Это делается для совместимости со старыми версиями файловых систем.

Все доступные блоки чередуются от 0 до М-1, где М – это общее число блоков на устройстве хранения. Драйвер устройства обеспечивает чтение или запись любого блока с номером 0<=K<=M-1.

Основные требования к ФФС:

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

Ø Эффективность использования памяти. Для реализации ФФС понадобятся вспомогательные структуры данных, которые будут размещаться в той же памяти. Будем оценивать эти дополнительные накладные расходы для конкретных ФФС.

Ø Надежность. Надежность ФФС – это устойчивость файловой системы к программным и/или аппаратным сбоям.

Ø Деградация. Деградация ФС – это ухудшение свойств ФС во времени, в процессе эксплуатации.

Примеры ФФС:

Ø ФФС FAT сама распространенная ФС. Большинство цифровых фотоаппаратов и смартфонов используют ФФС FAT или ее расширение exFAT.Практически все современные ОС могут работать с ФФС FAT.

Ø ФС EXT2. Разработана для ОС Linuxв 1993 году. Основные решения основаны на файловой системе ufs (UnixFileSystem)и bffs (BerkleyFastFileSystem).Является одной из самых быстрых ФС.

Ø NTFS. Данная ФС была разработана в фирме Microsoftв рамках разработки ОС нового поколения WindowsNTв начале 90-х годов прошлого века. Название расшифровывается как New Technology File System.

Логические файловые системы

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

ЛФС Unix весьма сильно отличается от привычной ЛВС Windows.

Во-первых, ЛФС представляет собой дерево, элементами которого являются либо каталоги, либо файлы

Ø Каталог с именем / является корнем дерева ЛФС, обычно в нем находятся несколько каталогов. Основные из них:

Ø bin – каталог, где располагаются основные системные утилиты – ls, ps, cat, cp, mkdir и другие;

Ø etc – каталог для основных конфигурационных файлов. Например, там расположен файл passwd, содержащий список всех пользователей системы

Ø dev – Unix часто называют файло-центрированой системой, так как почти все объекты в ней – это файлы. Файлами представляются все физические устройства, подсоединенные к компьютеру – жесткие диски, разъемы USB, клавиатура, мышь и т.д.

Ø usr – каталог для программ для пользователей. Там расположен компиляторы С/С++ и их библиотеки, там находятся система GUI для Unix – XWindow и т.д.

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

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

ü Примеры правильных имен: file1, file_1, “file 1”

ü Примеры неправильных имен: file+1, file*1

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

Пример: /home/sychov/file1

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

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

ü        имя текущего каталога;

ü        имя родительского по отношению к текущему каталога.

Приведем примеры относительных имен файла. Будем считать, что текущий каталог процесса - /home/sychov, тогда

ü file1 относится к файлу с именем file1 в текущем каталоге;

ü aa/file1       относится к файлу с именем file1 в каталоге aa от текущего каталога;

ü ../popov/file1 относится к файлу с именем file1 в домашнем каталоге пользователя с именем popov;

ü ./file1 тоже самое, что и просто file1;

Монтирование

Вопрос. Как прочесть файл с USB диска? Т.е. при запуске системы построилось дерево ЛФС Unix. Где искать файлы нового диска?

Ответ. Для этого предусмотрена операция MOUNT. Команда mount позволяет смонтировать все дерево файлов нового диска как содержимое некоторого каталога в общем дереве ЛФС.

Ø Формат командыmount

$mount –t <typeFS><device><directory>

Ø Автоматическое монтирование. Современные ОС поддерживают технологию Plug&Play, т.е. автоматическое распознавание и установку новых устройств при подключении. Таким образом при подключении USB диска, он будет распознан и автоматически смонтирован в заранее определенный каталог. Так работают большинство современных версий Linux.

Ø Размонтирование диска. После использования диск может быть размонтирован командой unmount.

Метаинформация

Для каждого файла в ФС хранится метаинформация – т.е. информация о файле: размер, дата создания, владелец, права доступа и т.д. В Unix для этого используется индексный узел (indexnode)

В индексном узле много различных атрибутов. Но есть одна важная особенность ЛФС Unix, в нем не хранится имя файла.

Имя файла находится в каталоге. Логически каталог содержит список имен файлов, находящихся в этом каталоге. Для каждого имени файла в каталоге содержится номер индексного узла, где хранится мета информация о файле.

Жесткая ссылка

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

Команды

ü $ ln file1 file2

Команда создаст новое имя файла file2 для существующего файла file1

ü $ rmfile1

Команда удалит одно из имен файла. Сам файл будет удален только тогда, когда число имен файла станет нулевым. Для этого в индексном узле предусмотрен атрибут nlinks – число связей, т.е. имен файла.

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

Мы уже упоминали, что в каждом каталоге Unix есть два файла:

ü  текущий каталог

ü  родительский каталог

Эти имена являются жесткими ссылками на соответствующие файлы – каталоги.

Типы файлов

С точки зрения ОС Unix файл данных – это просто массив байтов. Такой файл называется обычным и имеет тип regular. Кроме этого, ФС Unix поддерживает и другие типы файлов. Например,любой каталог – это файл, содержащий имена файлов в этом каталоге.

Полный список типов файлов

ü regular – обычный файл данных;

ü directory – каталог;

ü link – «мягкая» ссылка. В этом файле хранится имя другого файла;

ü pipe – специальный файл для передачи информации. Длина всегда 0;

ü socket – аналогичен предыдущему, но используется по другому;

ü device – файл устройства. Все устройства в Unix рассматриваются как файлы.

Физическая файловая система

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

Логически объединенные файлы из одного каталога совсем не обязаны соседствовать на диске. Принципы размещения файлов, каталогов и системой информации на реальном устройстве описываются физической организацией файловой системы.

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

Критериями эффективности организации хранения данных являются:

ü Скорость доступа к данным;

ü Объем адресной информации файла;

ü Степень фрагментированности дискового пространства;

ü Максимально возможный размер файла.

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

Достоинство:

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

Недостаток:

При редактировании размер файла изменяется, что приведет к фрагментации используемого пространства.


Дата добавления: 2018-08-06; просмотров: 1838; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!