Управление файловой системой

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

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

Типовые операции с файлами включают:

¨ создание, удаление, чтение в оперативную память, перезапись измененных данных с любого внешнего носителя;

¨ доступ к файлам по символьным именам;

¨ возможность доступа к файлам других пользователей;

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

¨ восстановление файлов в случае повреждения.

Кроме этого, файловая подсистема должна:

¨ обеспечить поддержку различных внешних носителей;

¨ оптимизировать размещение и доступ к файлами;

¨ исключить или минимизировать потери данных;

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

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

Для работы с каталогами и файлами операционная система использует таблицу, в которой заданы адреса их размещения на диске. Эта таблица называется FAT – File Allocation Table. Хотя файл с логической точки зрения представляет собой единый набор данных, физически он может размещаться на диске несколькими блоками. Поэтому таблица FAT позволяет переходить от одного фрагмента файла к другому.

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

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