Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
К_Глава 9_Файловые системы.doc
Скачиваний:
81
Добавлен:
19.05.2015
Размер:
3.66 Mб
Скачать

1.2.Разновидности файлов

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

  • обычные файлы,

  • файлы-каталоги,

  • специальные файлы,

  • именованные конвейеры,

  • отображаемые в память файлы и другие.

Обычные файлы, или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных ОС (например, UNIX, Windows, OS/2) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает. Например, текстовый редактор создает текстовые файлы, состоящие из строк символов, представленных в каком-либо коде. Это могут быть документы, исходные тексты программ и т. п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют коды символов, они часто имеют сложную внутреннюю структуру, например исполняемый код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов — их собственные исполняемые файлы.

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

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

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

1.3 Формат имен файлов

В различных ФС допустимое имя файла может иметь различную длину, и в нем могут использоваться различные наборы символов. В СР/М и ее потомках МS DOS-DR DOS. а также в VМS имена файлов хранятся в 8-битной АSСII-кодировке. Все перечисленные системы используют нечувствительный к регистру букв поиск в каталогах: имена file.с, File.С и FILE.С считаются одним и тем же именем.

Наибольшим либерализмом в смысле имен отличаются ОС семейства Unix в которых имя файла может состоять из любых символов кодировки АSCII кроме символов '\000' и '/', например, из восьми символов перевода каретки. При этом '\000' является ограничителем имени, а '/' — разделителем между именем каталога и именем файла. Никакого разделения на имя и расширение нет, и хотя имена файлов с программой на языке С заканчиваются ".с", а объ­ектных модулей — ".о", точка здесь является частью имени. Вы можете создать файл С именем "gсс-2.5.8.tar.gz". В UNIХ SVRЗ длина имени файла ограничена 14 символами, а в ВSD UNIХ, Linuх и SVR4— только длиной блока на диске, т. е. 512 байтами или более. При этом нулевой символ считается концом имени в каталоге.

В последнее время ОС поддерживают длинные имена файлов. Большинство ОС при поиске файла приводят к одному регистру все алфавитные символы в имени. С одной стороны, это означает дополнительное удобство для пользователя — при наборе имени не нужно заботиться о регистре букв, с другой - пользователь не может создать в одном каталоге файлы"text.txt " "Теxt.txt". Главная же проблема, возникающая при работе с нечувствительными к регистру именами, - это преобразование регистра в именах, использующих национальные алфавиты: русский, греческий, японскую слоговую азбуку и т.д. Файловая система, поддерживающая такие имена, должна учитывать языковые особенности ОС, что создает много сложностей. В системах семейства Win 32 эта проблема решена за счет хранения имен в формате Unicode. Некоторые ОС поддерживают также номер версии файла. В каталоге может существовать несколько версий файла с одним именем; если номер версии при открытии файла не задается, то открывается последняя версия. Версии файла очень удобны при разработке любых объектов, от программ или печатных плат до книг: если вам не понравились изменения, внесенные вами в последнюю версию, вы всегда можете откатиться назад.