Средства управления файловой системой fat

Одной из компонент ОС является файловая система – основное хранилище системной и пользовательской информации. Все современные ОС работают с одной или несколькими файловыми системами, например, FAT (File Allocation Table), NTFS (NT File System), HPFS (High Performance File System), NFS (Network File System), AFS (Andrew File System), Internet File System.

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

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

– совокупность всех файлов на диске;

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

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

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

– определяет возможные способы организации файлов и файловой структуры на носителе;

– реализует методы доступа к содержимому файлов и предоставляет средства работы с файлами и файловой структурой. При этом доступ к данным может быть организован файловой системой как по именам, так и по адресам (номер сектора, поверхности и дорожки носителя);

– отслеживает свободное пространство на носителе.

Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жестком диске или блоке флэш-памяти) он записан. Все, что знает программа – это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

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

3.1.5 Логическая структура диска

Для того чтобы компьютер мог хранить, читать и записывать информацию жесткий диск предварительно должен быть размечен. На нем с помощью соответствующих программ создаются разделы – это и называется "разбить жесткий диск". Без этой разметки на жесткий диск не удастся установить операционную систему (хотя Windows XP и 2000 могут устанавливаться на неразбитый диск, но они такую разметку проводят сами в процессе установки).

Жесткий диск можно разбить на несколько разделов, каждый из которых будет использоваться автономно. Для чего это надо? Один диск может содержать несколько различных операционных систем, расположенных в разных разделах. Внутренняя структура раздела, выделенного какой-либо ОС, полностью определяется этой операционной системой.

Кроме того, существуют и другие причины разбиения диска на разделы, например:

– возможность использования под управлением MS DOS дисков с емкостью большей, чем
32 Мб;

– в случае повреждения диска, пропадает только та информация, которая находилась на этом диске;

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

– каждому пользователю можно выделить свой логический диск.

Операция подготовки диска к работе называется форматированием, или инициализацией. Всё доступное дисковое пространства разбивается на стороны, дорожки и сектора, причем дорожки и стороны нумеруются с нуля, а сектора – с единицы. Совокупность дорожек, находящихся на одинаковом удалении от оси диска или пакета дисков, называется цилиндром. Таким образом физический адрес сектора определяется следующими координатами: номер дорожки (цилиндра – С), номер стороны диска (головки – H), номера сектора – R, т.е. CHR.

В самом первом секторе жесткого диска (C=0, H=0, R=1) содержится главная загрузочная запись Master Boot Record. Эта запись занимает не весь сектор, а только его начальную часть. Главная загрузочная запись является программой – внесистемным загрузчиком.

В конце первого сектора жесткого диска располагается таблица разделов диска – Partition Table. Эта таблица содержит четыре строки, описывающих максимально четыре раздела. Каждая строка в таблице описывает один раздел:

1) активный раздел или нет;

2) номер сектора, соответствующего началу раздела;

3) номер сектора, соответствующего концу раздела;

4) размер раздела в секторах;

5) код операционной системы, т.е. какой ОС принадлежит данный раздел.

Раздел называется активным, если он содержит программу загрузки операционной системы. Первым байтом в элементе раздела идет флаг активности раздела (0 – не активен, 128 (80H) – активен). Он служит для определения, является ли раздел системным (загрузочным), и для необходимости производить загрузку операционной системы с него при старте компьютера. Активным может быть только один раздел. Небольшие программы, называемые менеджерами загрузки (Boot Manager), могут располагаться в первых секторах диска. Они интерактивно запрашивают пользователя, с какого раздела производить загрузку и соответственно корректируют флаги активности разделов. Поскольку в Partition Table четыре строки, то на диске может быть до четырех различных ОС, следовательно, диск может содержать несколько первичных разделов, принадлежащих разным операционным системам.

Пример логической структуры жесткого диска, состоящего из трех разделов, два из которых принадлежат DOS, а один принадлежит UNIX, приведен на рисунке 3.2а.

Каждый активный раздел имеет свою загрузочную запись – программу, которая осуществляет загрузку данной ОС.

На практике диск разбивается чаще всего на два раздела. Размеры разделов, объявление их активными или нет, устанавливаются пользователем в процессе подготовки жесткого диска к работе. Делается это с помощью специальных программ. В DOS эта программа называется FDISK, в версиях Windows-XX – Diskadministrator.

В DOS первичный раздел – Primary Partition, это тот раздел, который содержит загрузчик операционной системы и саму ОС. Таким образом, первичный раздел является активным разделом, используется как логический диск с именем C:.

Операционная система WINDOWS (а именно WINDOWS 2000) изменила терминологию: активный раздел называется системным, а загрузочным называется логический диск, который содержит системные файлы WINDOWS. Загрузочный логический диск может совпадать с системным разделом, но может находиться в другом разделе того же жесткого диска или на другом жестком диске.

Расширенный раздел Extended Partition может разбиваться на несколько логических дисков с именами от D: до Z:.

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

а б
Рисунок 3.2 – Логическая структура диска: а – с тремя разделами; б – с двумя разделами и четырьмя логическими дисками

3.1.6 Файловая структура диска

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

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

С этой целью

(рис.1)

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

1) стартовый сектор;

Читайте также:  320 Кбит с что это

2) таблица размещения файлов FAT- File Allocation Table;

3) корневой каталог – Root Directory;

4) пространство данных.

Размер этих областей зависит от размера логического диска, но общая структура и порядок расположения не меняется.

Стартовый сектор (загрузочная записьBoot Record)

Это своего рода визитная карточка любого диска. Он содержит необходимые ОС сведения для работы с диском. Под него выделяется первый сектор диска на дорожке 00 поверхности 0. Этот сектор содержит короткую программу блока начальной загрузки ОС, независимо от того системный диск или нет. Кроме того в загрузочной записи находятся параметры, описывающие характеристики логического диска:

· размер секторов диска в байтах;

· количество копий FAT (обычно 2);

· количество элементов в корневом каталоге;

· количество секторов на диске;

· указатель типа магнитного носителя информации;

· количество секторов, занимаемых FAT;

· количество секторов на дорожку;

· размер кластера и т.д.

Конец загрузочной записи заканчивается двухбайтовой подписью 55АА.

Таблица размещения файлов FAT

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

По содержимому FAT можно определить физическое расположение на диске всех файлов и каталогов. ОС разбивает всю область диска на участки одинакового размера, называемые кластерами. Размер кластера зависит от емкости диска, но всегда кратен размеру сектора. Несмотря на то, что минимальной порцией информации, передаваемой контроллером диска в процессе записи или чтения файла, является сектор, ОС выделяет место на диске целыми кластерами, если кластер больше сектора, то он занимает последовательные сектора.

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

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

FAT представляет собой таблицу, в которой число элементов, совпадает с числом кластеров на диске. Если на диске какой-то кластер свободен, то в FAT соответствующий ему элемент содержит код 000. Если файл на диске занимает несколько кластеров, то с помощью FAT эти кластеры связываются в цепочку. Например, файлу выделены кластеры №7, №8, №10, №14, №17, №11, №12. Элемент FAT №7 хранит номер следующего кластера, выделенного файлу, т.е. №8. Элемент №8 хранит 10 и т.д., пока не будет достигнут последний кластер, выделенный файлу. В этом последнем кластере записан специальный код FFF – признак конца файла.

FFF FF7
FF7

Рисунок 3.3 – Фрагмент таблицы размещения файлов

Запись в каталоге, соответствующая данному файлу, содержит номер первого кластера (точка входа), выделенного файлу, в нашем примере это №7.

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

Операционная система MS DOS поддерживает 16-битовый формат FAT, а ОС Windows – 32-битовый. Это означает, что для записи адреса элемента таблицы необходимо 16 или 32 бита, соответственно. Отсюда следует, что при 16-битовом формате можно пронумеровать 2 16 =65536 кластеров. В связи с этим ограничением операционные системы не позволяют работать с жесткими дисками размером более 2 Гбайт.

Таблица 3.1 иллюстрирует, какой максимальный размер дискового пространства может обслуживать FAT16 и FAT32.

Таблица 3.1 – Максимальный объём памяти диска при использовании FAT16 и FAT32

Размер диска Размер кластера для 16-битовой FAT Размер кластера для 32-битовой FAT
256-511 Мб 8 Кб Не поддерживается
512-1024 Мб 16 Кб 4 Кб
1024 Мб-2Гб 32 Кб 4 Кб
2 Гб-8 Гб Не поддерживается 4 Кб
8 Гб-16 Гб 8 Кб
16 Гб-32 Гб 16 Кб
Более 32 Гб 32 Кб

К очень негативным явлениям относится фрагментация файлов. По мере удаления старой информации в пространстве данных будут появляться кластеры, помеченные в FAT, как свободные. Вновь образованные файлы заполняют эти кластеры, что приводит к их фрагментации. Чем сильнее фрагментирован файл, тем больше времени уходит на его чтение или запись. Поскольку каждый файл, независимо от своего размера занимает целое число кластеров на диске, и целое число записей в FAT, то последний кластер используется не полностью. Недоступная часть кластера, недоступна и для других кластеров. Чем больше размер кластера, тем больше напрасный расход места на диске.

Более совершенная файловая система – FAT32 с 32-разрядными полями в таблицах размещения файлов, например, в ОС Windows 98/2000, позволяет уменьшать размер кластеров, что сокращает потери дисковой памяти и позволяет работать с жесткими дисками любого объёма. Ряд файловых систем, например, HPFS, WinFAT, сетевая Novell Netware, имеют механизмы дописывания остатков блоков различных файлов в частично заполненные кластеры. Этим обеспечивается более рациональное использование пространства внешней памяти.

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

Не нашли то, что искали? Воспользуйтесь поиском:

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

В файловой системе FAT дисковое пространство любого логического диска делится на две области:

системную область и

Системная область создается и инициализируется при форматировании, а впоследствии обновляется при манипулировании файловой структурой. Системная область состоит из следующих компонентов:

загрузочного сектора, содержащего загрузочную запись (boot record);

зарезервированных секторов (их может и не быть);

таблицы размещения файлов (FAT, File Allocation Table);

корневого каталога (Root directory, ROOT).

Эти компоненты расположены на диске друг за другом.

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

Формирование загрузочной записи происходит при форматировании (например, FORMAT). Формат загрузочного сектора зависит от ОС и даже от версии. Загрузочный сектор является самым первым на логическом диске. Он содержит загрузочную запись (boot record).

Загрузочная запись состоит из двух частей:

• блока параметров диска (disk parameter block)

• программы начальной загрузки ОС (system bootstrap).

Первые два байта загрузочной записи – команда безусловного перехода на системный загрузчик – JMP 3Eh. В третьем байте – NOP (90h). Далее – 8 байтовый системный идентификатор (информация о фирме-разработчике и версии ОС). Обратим внимание – ОС не используется. Затем следует блок параметров диска, а после него – загрузчик ОС.

Блок параметров диска содержит следующую информацию

число секторов в кластере,

число зарезервированных секторов,

количество копий FAT,

максимальное количество элементов ROOT,

количество секторов в таблице FAT,

число секторов на дорожке,

имя файловой системы

и другие параметры

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

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

Таблица размещения файлов

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

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

Читайте также:  Софтбокс своими руками чертежи

для разделов емкостью 16-127 Мбайт – 4 сектора в кластере (размер кластера – 2 Кбайта);

для разделов емкостью 128-255 Мбайт – 8 секторов в кластере (4 Кб);

для разделов емкостью 256-511 Мбайт – 16 секторов в кластере (8 Кб);

для разделов емкостью 512-1023 Мбайт – 32 сектора в кластере (16 Кб);

для разделов емкостью 1024-2047 Мбайт – 64 сектора в кластере (32 Кб).

Разбиение области данных на кластеры вместо использования секторов позволяет:

• уменьшить размер таблицы FAT;

• уменьшить фрагментацию файлов;

• сокращается длина цепочек файла ⇒ ускоряется доступ к файлу.

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

В современных файловых системах (FAT32, HPFS, NTFS) эта проблема решается за счет ограничения размера кластера (максимум 4 Кбайта) Каждый элемент таблицы FAT (12, 16 или 32 бит) соответствует одному кластеру диска и характеризует его состояние: свободен, занят или является сбойным кластером (bad cluster).

• Если кластер распределен какому-либо файлу (т.е., занят), то соответствующий элемент FAT содержит номер следующего кластера файла;

последний кластер файла отмечается числом в диапазоне FF8h – FFFh (FFF8h – FFFFh);

• если кластер является свободным, он содержит нулевое значение 000h (0000h);

• кластер, непригодный для использования (сбойный), отмечается числом FF7h (FFF7h)..

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

Она хранится в двух идентичных экземплярах, которые следуют друг за другом. При разрушении первой копии таблицы используется вторая. Основной недостаток FAT – медленная работа с файлами. При создании файла работает правило – выделяется первый свободный кластер. Это ведет к фрагментации диска и сложным цепочкам файлов. Отсюда следует замедление работы с файлами.

Корневой каталог ROOT

Каждый логический диск имеет свой корневой каталог (ROOT, англ. – корень). Корневой каталог описывает файлы и другие каталоги. Элементом каталога является дескриптор (описатель) файла.Дескриптор каждого файла и каталога включает его

• дату создания или последней модификации (2)

• время создания или последней модификации (2)

• атрибуты (1) (архивный, атрибут каталога, атрибут тома, системный, скрытый, только для чтения)

• длину файла (для каталога – 0 ) (4)

• зарезервированное поле, которое не используется (10)

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

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

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

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

Файловая система VFAT (виртуальная FAT) была предназначена для файлового ввода/вывода в защищенном режиме.

Используется эта файловая система в Windows 95. Поддерживается она также и в Windows NT 4.

VFAT – это «родная» 32-разрядная файловая система Windows95. VFAT использует 32-разрядный код для всех файловых операций, может использовать 32-разрядные драйверы защищенного режима. НО, элементы таблицы размещения файлов остаются 12- или 16-разрядными, поэтому на диске используется та же структура данных (FAT). Т.е. формат таблицы VFAT такой же, как и формат FAT.

Часто говорят, что VFAT – это FAT с поддержкой длинных имен. Существует специальный механизм преобразования длинных имен в короткие и наоборот. Вы помните, что длина имени для DOS подчиняется правилу “8.3”, то есть, длина имени не должна

превышать 8 символов, а расширения – 3. Главной особенностью файловой системы Windows 95 для пользователя является то, что максимальная длина имени файла в Windows 95 может достигать 256 символов, включая пробелы. Ограничением длины имени файла служит путь к файлу: суммарная длина пути и имени файла не может превышать 260 символов.При создании файла в Windows95 ему присваивается сразу два имени – длинное и короткое (8.3).

Короткое имя образуется из длинного путем удаления из него пробелов и символов / : * ? “ “ I .

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

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

Article about Windows 95.DOS ARTICL

Next article about Windows 95.DOS NEXTAR

Article about Windows NT.DOS ARTICL

Microsoft office.HTML MICROS

Microsoft Windows. HTML MICROS

При этом в структуре ROOT, наряду с обычным дескриптором для файла или каталога создаются дескрипторы специального вида, в которых и хранится длинное имя. Для специальных дескрипторов установлены атрибуты Read Only (только для чтения), System (системный), Hidden (скрытый), Volume Label (Метка Тома). Количество специальных дескрипторов зависит от длины имени.

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

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

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

Одной из основных задач ОС является предоставление удобств пользователю при работе с данными, хранящимися на дисках. Для этого ОС подменяет физическую структуру хранящихся данных некоторой удобной для пользователя логической моделью, которая реализуется в виде дерева каталогов, выводимого на экран такими утилитами, как Norton Commander, Far Manager или Windows Explorer. Базовым элементом этой модели является файл, который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.

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

Файл – именованная область внешней памяти, предназначенная для считывания и записи данных.

Файлы хранятся в памяти, не зависящей от энергопитания. Исключением является электронный диск, когда в ОП создается структура, имитирующая файловую систему.

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

Файловая система включает:Файловая система включает:

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

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

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

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

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

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

Читайте также:  Эксперимент со светом и двумя щелями

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

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

Пример

Файловая система FAT (file allocation table) имеет множество реализаций как система управления файлами

  • Система, разработанная для первых ПК называлась просто FAT (сейчас ее называют просто FAT-12) . Ее разрабатывали для работы с дискетами, и некоторое время она использовалась для работы с жесткими дисками.
  • Потом ее усовершенствовали для работы с жесткими дисками большего объема, и эта новая реализация получила название FAT–16. это название используется и по отношению к СУФ самой MS-DOS.
  • Реализация СУФ для OS/2 называется super-FAT (основное отличие – возможность поддерживать для каждого файла расширенные атрибуты).
  • Есть версия СУФ и для Windows 9x/NT и т.д. (FAT-32).

Типы файлов

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

Обычные файлы могут быть двух типов:

  1. Программные (исполняемые) – представляют собой программы, написанные на командном языке ОС, и выполняют некоторые системные функции (имеют расширения .exe, .com, .bat).
  2. Файлы данных – все прочие типы файлов: текстовые и графические документы, электронные таблицы, базы данных и др.

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

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

Пример. Copy con text1 (работа с клавиатурой).

Файловая структура

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

Виды файловых структур:

  • простая, или одноуровневая: каталог представляет собой линейную последовательность файлов.
  • иерархическая или многоуровневая: каталог сам может входить в состав другого каталога и содержать внутри себя множество файлов и подкаталогов. Иерархическая структура может быть двух видов: «Дерево» и «Сеть». Каталоги образуют «Дерево», если файлу разрешено входить только в один каталог (ОС MS-DOS, Windows) и «Сеть» – если файл может входить сразу в несколько каталогов (UNIX).
  • Файловая структура может быть представлена в виде графа, описывающего иерархию каталогов и файлов:

Типы имен файлов

Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. В ранних файловых системах эти границы были весьма узкими. Так в популярной файловой системе FATдлина имен ограничивается известной схемой 8.3 (8 символов — собственно имя, 3 символа — расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов.

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

Например, Windows NT в своей файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.

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

Символьные имена могут быть трех типов: простые, составные и относительные:

  1. Простое имя идентифицирует файл в пределах одного каталога, присваивается файлам с учетом номенклатуры символа и длины имени.
  2. Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла, имени диска, имени файла. Таким образом, полное имя является составным, в котором простые имена отделены друг от друга принятым в ОС разделителем.
  3. Файл может быть идентифицирован также относительным именем. Относительное имя файла определяется через понятие «текущий каталог». В каждый момент времени один из каталогов является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла.

В древовидной файловой структуре между файлом и его полным именем имеется взаимно однозначное соответствие – «один файл — одно полное имя». В сетевой файловой структуре файл может входить в несколько каталогов, а значит может иметь несколько полных имен; здесь справедливо соответствие – «один файл — много полных имен».

Для файла 2.doc определить все три типа имени, при условии, что текущим каталогом является каталог 2008_год.

  • Простое имя: 2.doc
  • Полное имя: C:2008_годДокументы2.doc
  • Относительное имя: Документы2.doc

Атрибуты файлов

Важной характеристикой файла являются атрибуты. Атрибуты – это информация, описывающая свойства файлов. Примеры возможных атрибутов файлов:

  • Признак «только для чтения» (Read-Only);
  • Признак «скрытый файл» (Hidden);
  • Признак «системный файл» (System);
  • Признак «архивный файл» (Archive);
  • Тип файла (обычный файл, каталог, специальный файл);
  • Владелец файла;
  • Создатель файла;
  • Пароль для доступа к файлу;
  • Информация о разрешенных операциях доступа к файлу;
  • Время создания, последнего доступа и последнего изменения;
  • Текущий размер файла;
  • Максимальный размер файла;
  • Признак «временный (удалить после завершения процесса)»;
  • Признак блокировки.

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

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

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

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

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

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

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

Оцените статью
Добавить комментарий

Adblock
detector