Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сппо_лекция_04.doc
Скачиваний:
20
Добавлен:
24.09.2019
Размер:
330.24 Кб
Скачать

23 Лекция 04. Файловые системы

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

Существует большое количество файловых систем, созданных для разных уст­ройств внешней памяти и разных операционных систем. В них используются, соответственно, разные принципы размещения данных на носителе. Это системы FAT, FAT32 и NTFS.

Функции файловой системы и иерархия данных

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

Благодаря системам управления файлами пользователям предоставляются следу­ющие возможности:

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

  • работа с недисковыми периферийными устройствами как с файлами;

  • обмен данными между файлами, между устройствами, между файлом и уст­ройством (и наоборот);

  • работа с файлами путем обращений к программным модулям системы управ­ления файлами (часть API ориентирована именно на работу с файлами);

  • защита файлов от несанкционированного доступа.

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

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

Любая система управления файлами не существует сама по себе — она разрабатывается для работы в конкретной операционной системе. В ка­честве примера можно сказать, что всем известная файловая система FAT (File Allocation Table — таблица размещения файлов) имеет множество реализаций как система управления файлами. Так, система, получившая это название и разрабо­танная для первых персональных компьютеров, называлась просто FAT (нынче ее называют FAT 12'). Хотя ее разрабатывали для работы с дискетами, некоторое время она использовалась при работе с жесткими дисками. Потом ее доработали для ра­боты с жесткими дисками большего объема, и новая реализация получила назва­ние FAT 16. Это название файловой системы мы употребляем и по отношению к подсистеме управления файлами самой системы MS DOS, однако реализацию системы управления файлами для OS/2, которая использует основные принципы системы FAT, называют super-FAT; основное отличие — возможность поддержи­вать для каждого файла расширенные атрибуты. Есть версия системы управления файлами с принципами FAT и для Windows 95/98, есть реализация для Win­dows NT и т. д. Другими словами, для работы с файлами, организованными в соот­ветствии с некоторой файловой системой, для каждой операционной системы должна быть разработана соответствующая система управления файлами. И эта система управления файлами будет работать только в той операционной системе, для которой создана, но при этом обеспечит доступ к файлам, созданным с помо­щью системы управления файлами другой операционной системы, но работаю­щей по тем же основным принципам файловой системы.

В качестве примера снова можно привести всем известную файловую систему FAT, поддерживаемую абсолютным большинством операционных систем, работающих на современных персональных компьютерах. В MS DOS, OS/2, Windows 95/98/ ME, Windows NT/2000/XP, Linux, FreeBSD и других можно работать с файлами, организованными по принципам FAT. Однако программные модули соответству­ющих систем управления файлами не взаимозаменяемы. Кроме того, все эти сис­темы управления файлами имеют свои индивидуальные особенности и ограниче­ния. Иногда только из контекста ясно, о чем идет речь — о принципах работы файловой системы или о ее конкретной реализации. Другими словами, для работы с файлами, организованными в соответствии с некоторой файловой системой, для каждой операционной системы должна быть разработана соответствующая систе­ма управления файлами; и эта система управления файлами будет работать толь­ко в той операционной системе, для которой она и создана. Таким образом, файло­вая система это множество именованных наборов данных, организованное по принятым спецификациям, которые определяют способы получения адресной информации, необходимой для доступа к этим файлам.

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

Информация, с которой работает человек, обычно структурирована. Это, прежде всего, позволяет более эффективно организовать хранение данных, облегчает их поиск, предоставляет дополнительные возможности в именовании. Аналогично, и при работе с файлами желательно ввести механизмы структурирования. Проще всего организовать иерархические отношения. Для этого достаточно ввести поня­тие каталога (directory). Каталог содержит информацию о данных, организован­ных в виде файлов. Другими словами, в каталоге должны содержаться дескрипто­ры файлов. Если файлы организованы на блочном устройстве, то именно с помощью каталога система управления файлами будет находить адреса тех блоков, в кото­рых размещены искомые данные. Причем очевидно, что каталогом может быть не только специальная системная информационная структура, которую часто назы­вают корневым каталогом, но и сам файл. Такой файл-каталог должен иметь спе­циальное системное значение; система управления файлами должна его выделять на фоне обычных файлов. Файл-каталог часто называют подкаталогом (subdi­rectory). Если файл-каталог содержит информацию о других файлах, то посколь­ку среди них также могут быть файлы-каталоги, мы получаем возможность стро­ить почти ничем не ограниченную иерархию.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]