Файловая система. Организация данных на магнитных носителях
Ядром операционной системы является модуль, который обеспечивает управление файлами – файловая система.
Основная задача файловой системы – обеспечение взаимодействия программ и физических устройств ввода/вывода (накопителей на жестких дисках, магнитных лентах и т.д.). Она также определяет структуру хранения файлов и каталогов на диске, правила задания имен файлов, допустимые атрибуты файлов, права доступа и др. Обычно файловую систему воспринимают и как средство управления файлами и как общее хранилище файлов.
Функциональные возможности файловой системы можно условно разделить на группы:
1) функции для работы с файлами: создание, удаление, переименование, изменение атрибутов (свойств файлов), определение структуры файлов;
2) функции для работы с данными: чтение, запись, поиск данных, хранящихся в файлах и т.п.;
3) оптимизация операций ввода/вывода.
Файл – это поименованная последовательность любых данных, стандартная структура которой обеспечивает ее размещение в памяти машины, представляющая собой наименьшую единицу хранения информации. Файл может содержать программу, числовые данные, текст, закодированное изображение и др. В каком-то смысле файл является синонимом понятия документа.
Основным атрибутом файла является его имя. Имя файла – это символьная строка, правила построения которой зависят от конкретной файловой системы. Например, в файловой системе FAT, используемой в MS DOS, длина имени файла не может превышать 11 символов[5][1], три из которых предназначены для расширения[6][2]. Расширение отделяется от имени точкой. Расширение имени файла является необязательным атрибутом и, как правило, информирует о типе данных, хранимых в файле, поэтому его иногда называют типом файла. Например, bat, com, exe – исполняемые файлы, для их выполнения можно указать только имя. Именно эти файлы могут быть «стартовыми» файлами компьютерных игр, текстовых редакторов и т.п.; txt – текстовые файлы.
Помимо имени атрибутами файла являются: текущий размер и максимальный размер файла; длина записи; время создания, последнего доступа и последнего изменения; владелец файла; создатель файла; пароль для доступа, признак «только чтение» и др.
Файловая система, с одной стороны, – это часть ОС, предназначенная для организации работы с хранящимися на диске данными и обеспечения совместного использования файлов несколькими пользователями и процессами, с другой стороны, – сами файлы, хранящиеся на устройствах ввода/вывода. Драйверфайловой системыобеспечивает доступ к информации, записанной на магнитный диск, по имени файла и распределяет пространство на магнитном диске между файлами.
Выделяют различные типы файловых систем, например, FAT, NTFS, CDFS.
1) Файловая система FAT (File Allocation Table) разрабатывалась для гибких дисков, и представляет собой таблицу размещения файлов MS DOS и Windows 9x. Существует несколько ее разновидностей FAT12, FAT16, FAT32. Система имеет низкую отказоустойчивость, и при отключении питания велика вероятность потери данных. Ее преимуществом является поддержка большинством ОС.
2) NTFS(New Technology File System), разработанная Microsoft специально для Windows NT, поддерживает длинные имена файлов (до 255 символов); гарантирует сохранность данных в случае копирования даже при программно-аппаратном сбое или отключении электропитания; превосходит FAT по скорости работы и по эффективности использования ресурсов; обеспечивает построение компьютерных систем от рабочей станции до сервера класса мэйнфреймов; предоставляет средства для разграничения доступа и защиты информации. NTFS в именах использует набор символов Unicode[7][3], автоматически для каждого файла генерирует поддерживаемое MS DOS имя (восемь плюс три символа), что дает возможность работать операционным системам MS DOS и OS/2 с файлами NTFS через сеть. Это особенно важно для файловых серверов сети, к которой подключены персональные компьютеры с этими операционными системами.
3) CDFS (Compact Disk File System) – специальную файловую систему для CD-ROM.
Физическая организация данных на носителе зависит от файловой системы. В качестве примера рассмотрим файловую систему FAT. Она предусматривает выделение в процессе форматирования диска специальных областей: системной и данных. Основными компонентами системной области являются: загрузочная запись; таблицы размещения файлов (FAT) (обычно их две – основная и копия) и корневой каталог. Область данных содержит файлы и подкаталоги.
Вся область данных диска делится на кластеры (англ. cluster), которые представляют собой неделимые блоки данных одного размера на диске. Все кластеры пронумерованы. В самом начале диска размещается таблица FAT, содержащая столько записей, сколько кластеров доступно на диске. В ней отмечены используемые кластеры, неиспользуемые, содержащие нулевую информацию, а также поврежденные кластеры, которые помечаются определенным значением, после чего они уже никогда не употребляются.
Таблица FAT содержит сведения о номерах кластеров, в которых размещается файл. Наличие у каждого кластера индивидуального номера позволяет найти область расположения файла, причем необязательно, чтобы его кластеры располагались рядом. Если разные фрагменты файла располагаются в несмежных кластерах, то говорят о фрагментации файла.Каждый кластер файла содержит номер следующего в цепочке его кластеров. Таким образом, достаточно знать номер первого кластера в цепочке, который хранится в оглавлении диска, чтобы по таблице FAT определить номера всех кластеров, содержащих данный файл. Занимаемый файлом объем (<количество кластеров файла> * <размер кластера>) кратен количеству кластеров.
Каждый диск на компьютере имеет уникальное имя. Диски именуются буквами латинского алфавита. Обычно накопителям на гибких магнитных дисках (НГМД) присваиваются имена А: и В:, а винчестеру (НЖМД) – С:. Жесткий диск представляет собой физическое устройство. Для организации эффективной работы с дисковым пространством жесткого магнитного диска рекомендуется разбить его с помощью специальной программы форматирования на ряд разделов – логических дисков, каждый из которых рассматривается системой как отдельный диск и именуется последующими буквами латинского алфавита (D, E и т.д.).
На диске может храниться огромное количество разнообразных файлов. Дляудобства работы с файлами, их систематизации по назначению, содержанию, авторству или другим признакамна диске создаются каталоги, структура которых определяет логическую организацию данных.Каталог – это специальное место на диске, в котором хранятся имена файлов, сведения об их размерах, времени последнего обновления, свойствах и т.д.Каталог самого верхнего уровня – корневой (главный) каталог диска создается автоматически и не имеет имени. В нем находятся имена не только файлов, но и подкаталогов первого уровня (каталоги первого и последующих уровней создаются пользователем). Подкаталог первого уровня может содержать имена файлов и подкаталогов второго уровня и т.д. Каталог, с которым в данный момент работает пользователь, называется текущим.
Имена файлов и их атрибуты хранятся в каталоге. Если в каталоге хранится имя файла, то говорят, что этот файл находится в данном каталоге. Обращение к каталогу, если он не корневой, осуществляется по имени[8][4].
На каждом диске может быть несколько каталогов. В каждом каталоге могут присутствовать файлы и другие каталоги. В зависимости от файловой системы структура каталогов может быть древовидной, когда каталог может входить только в один каталог более высокого уровня (рис. 3.2а), и сетевой, когда каталог может входить в различные каталоги (рис. 3.2б). Сетевая структура реализована в Unix, древовидная – в ОС семейства Windows.
В Windows каталог называется папкой.С папками (каталогами) и файлами могут выполняться операции создания, удаления, копирования и перемещения, а также изменение их свойств и управление доступом.
Дата добавления: 2017-11-04; просмотров: 487;