InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

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

www.citforum.ru

Содержание.

0. Введение.
1. Классификация файлов.

2. Параметры файлов

0. Введение

Из выпуска серии "Основы информационных систем", посвященному дискам и файловым системам Вы узнаете, что такое файлы. В этой же части автор как бы рассмотрит файлы "с другой стороны", а именно со стороны пользователя операционной системы. Благодаря реализации семиуровневой эталонной модели взаимодействия протоколов ISO для работы файлов во всех операционных системах, пользователю уже не обязательно знать, к какому контроллеру подключен диск с его данными, под какую файловую систему размечена его поверхность, к какому компьютеру он подключен и другие более специальные вопросы. Непосредственно с прикладными программами взаимодействует лишь редиректор, который обеспечивает доступ к блочным устройствам ввода-вывода. Именно реализацией редиректора и различаются интерфейсы и взаимодействия прикладных программ с файловыми системами (смотри рисунок 1.) Поэтому далее рассматривается лишь интерфейс различных операционных системах, который определяется в основном редиректором, с учетом ограничений различных файловых систем.

Рис. 1. Классификация интерфейсов жестких дисков в соответствии с семиуровневой эталонной модели протоколов ISO.

1. Классификация файлов.

1.1. Содержимое файлов

Файлы могут содержать в себе любую информацию. Это могут быть как программы, выполняемые под управлением какой-либо операционной системы, либо файлы с данными для этих программ. Независимо от операционных систем персональных компьютеров все файлы можно разделить на текстовые и бинарные (по другому - двоичные ) файлы. Текстовыми файлами называют файлы, в которых используются в качестве информационных символы с шестнадцатеричными кодами 20h-7Eh (32 -126 десятичными) и 80h-7Eh (128 - 254 десятичными). В качестве служебных кодов и только в качестве них допускается использовать символы с кодами:

09h (9) (HT) - горизонтальная табуляция;

0Ah (10) (LF,EOL) - новая строка (перевод строки);

0Bh (11) (VT) - вертикальная табуляция;

0Ch (12) (FF) - новая строка (перевод страницы);

0Dh (13) (CR) - возврат каретки;

1Ah (26) (SUB,EOF) - конец файла. *

Примечание: При визуализации текстового файла символ горизонтальной табуляции заменяется несколькими (обычно восемью) проблемами, символ вертикальной табуляции - несколькими пустыми строками. Символ возврата каретки переводит курсор (или позицию вывода нового символа) на первый элемент начала строки. Символ перевода строки выводит следующий символ на своем месте, только строкой ниже. Поэтому символ EOL (End-of-Line) ы действительности - это последовательность символов CR/LF. Все символы, расположенные после символа конца файла, при выводе игнорируются.

Среди всех текстовых файлов можно выделить подмножество чистых ASCII файлов , информационные символы которых имеют только коды с номерами 20h - 7Eh. Двоичные же файлы представляют из себя последовательность из любых символов. Их длина определяется из заголовка файла. Это разделение является важным для различных операционных систем, поскольку назначение и обработка бинарных и текстовых файлов в операционных системах различаются.

1.2. Другие виды классификации файлов

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

Файлы и каталоги

Следует отметить, что существует специальный вид файла, называемый каталогом (catalog) , или директорией (ditectory) . В нем содержатся ссылки на другие файлы. Поскольку ссылки на эти файлы содержатся лишь в одном из каталогов, для пользователи эти файлы как бы расположены в каталоге. На самом деле, конечно, все файлы находятся в секторах диска. Но это истинно лишь на физическом уровне, а на уровне представления данных файлы находятся в каталогах. Преимущества каталогов, особенности их работы с ними будут описаны ниже. Следует только отметить, что каталоги появились не сразу и не во всех операционных системах. Они возникли там, где требовался большой объем хранимой информации (например, в файловых системах жестких дисков) и, следовательно, возникли сложности с организацией и размещением большого числа файлов. Эти преимущества каталогов следует использовать при работе с операционными системами, содержащих каталоги.

2. Параметры файлов

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

2.1. FAT12

Используется MS-DOS для организации файловой системы на дискетах и жестких дисках размером до 20 Мбайт . В настоящее время для организации разделов на жестких дисках не используется. Ее заменила файловая система FAT16. Работа с файлами в данной файловой системе полностью идентична работе в файловой системе FAT16, о которой будет рассказано ниже.

2.2. FAT16

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

Примечание: В операционных системах UNIX такого понятия нет: там расширение - это просто часть имени.

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

Таблица I. Используемые символы в имени файлов в MS-DOS.

Тип используемых символов

Обозначение

Прописные и строчные латинские буквы

A-Z и a-z (*)

Цифры

0 - 9

Служебные символы:

_~!@#$%^&(){}'`

Прописные и строчные русские буквы (**)

А-Я и а-я

Примечание (*): MS-DOS не делает различия между строчными и прописными буквами. При выводе имени все буквы преобразуются в прописные.

Примечание (**): русские буквы доступны лишь в пан=европейской и русской локализованной версии MS-DOS.

В MS-DOS расширения играют очень важную роль. Так, исполняемые файлы MS-DOS имеют следующие расширения (смотри таблицу II.)

Таблица II. Расширения исполняемых файлов.

Расширение

Признак файла

.COM

Двоичный исполняемый под MS-DOS файл. Не имеет заголовка. Максимальный размер - 64 Кбайт.

.EXE

Двоичный исполняемый под управлением MS-DOS или MS Windows самонастраивающийся файл. Содержит заголовок. Не имеет ограничений на длину.

.BAT

Командный файл MS-DOS. В нем записывается последовательность двоичных программ, выполняемых под управлением MS-DOS.

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

Таблица III. Зарезервированные имена MS-DOS.

Имя

Устройство.

LPT1 - LPT4

Устройства, подключенные к параллельным портам компьютера. Цифра обозначает номер порта.

PRN

Синоним LPT1, Обычно к этому порту подключен принтер.

COM1 - COM8

Устройства, подключаемые к последовательным портам компьютера. Цифра обозначает номер порта.

AUX

Синоним COM1. Обычно к нему подключается модем или мышь.

CON

Консоль. При выводе символов - это экран монитора, а при вводе - клавиатура.

NUL

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

Эти вышеперечисленные имена устройств не могут функционировать как имена файлов. Однако применение их в качестве расширений допустимо! Примеры:

PRN.TXT - недопустимое имя файла.

TEXT.PRN, NEW.AUX - допустимые имена файлов.

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

Расширение имени каталога не несет никакой смысловой нагрузки и служит лишь довеском к имени. Обычно расширение у каталогов отсутствует.

2.3. VFAT

Впервые появилась в операционной системе Microsoft Windows 95. Она очень похода на файловую систему FAT16. Для пользователя существенны следующие отличия от FAT16:

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

2. Максимальная длина имени файла с расширением - не 12 символов, как в FAT16, а 255. Вследствие этого не нужно придумывать какие-либо сокращения для имен файлов, чтобы уложиться в прокрустово ложе из восьми символов.

3. Имя файла в этой файловой системе хранится в нескольких местах. В одном из них храниться истинное длинное имя файла в кодировке Windows, а в другом - сокращенное до восьми символов имя файла в кодировке DOS. Это сделано для совместимости со старыми версиями FAT, а именной - FAT12 и FAT16. Именно они и только они доступны в операционной системе MS-DOS, PC-DOS и DR-DOS, а также в операционных оболочках Microsoft Windows v. 2.00 - 3.11. Это имя образуется следующим образом (см. Фигурнов 7???):

a) Длинное имя преобразуется в кодировку OEM (в "родную" кодировку MS-DOS).

b) Если имя файла уже удовлетворяет требованиям DOS, то дальнейшие преобразования не проводятся. В противном случае - переход к пункту c)

c) Длинное имя переводится в верхний регистр. Например, файл abc.txt становится ABC.TXT .

d) Если после этого имя файла удовлетворяет требованиям DOS, то оно и будет служить коротким именем. В противном случае - переход к пункту e).

e) Из длинного имени удаляются все пробелы, а символы "+", "," , ";", "=", "[" и "]", недопустимые в длинных именах, заменяются символами подчеркивания.

f) Если в имени имеются точки, то часть имени за последней из них рассматривается как расширение. Расширение обрезается справа до трех символов. Все точки из имени, кроме последней, удаляются.

g)Если длина имени файла по прежнему превышает 8 символов,то полученное имя урезается до шести символов. Получается как бы "укороченное" имя.

h) К этому "укороченному имени добавляется порядковый номер, записанное через тильду.

Пример

Таблица IV.. Соответствие длинных и коротких имен файлов.

Длинное имя

Короткое имя

Мои документы

МОИДОК~1

Письмо от 12.09.99.doc

ПИСЬМО~1.DOC

Письмо клиента на претензию.doc

ПИСЬМО~2.DOC

3. В именах фалов разрешается использовать дополнительно следующие символы:

a) Пробелы

b) Символы +.,:=[]

в) Все символы национальных алфавитов и псевдографики.

По-прежнему нельзя использовать управляющие символы и символы /\:*?"<>|

4. В длинных именах разница между прописными и строчными буквами сохраняется - это позволяет обеспечить удобочитаемость файлов. Однако в одном каталоге недопустимы имена файлов, различающихся только регистром (т.е. строчными и прописными) букв и более ничем! Это объясняется алгоритмом преобразования длинных имен к коротким, о котором смотри пункт 2. По другому это можно сформулировать так: в одном каталоге не могут находится одновременно два файла или каталога с одинаковыми короткими именами.

5. Длина полного имени (длинного имени + "длинное" путевое имя) не должно превышать 260 символов.

6. При копировании файлов из VFAT в FAT16 и особенно в FAT12 длинные имена как бы "маскируются", записываясь в области заголовка файла, не принимающих основного участия в функционировании файловой системы. Однако программы, работающие с файлами на более низком уровне - программы оптимизации файлов на диске, резервного копирования, многие архиваторы, некоторые антивирусные программы, а также все программы, использующие для открытия файлов метод "управляющих блоков" (см. Джордейн, ???). могут стереть эту информацию, в результате чего длинные имена будут потеряны. Поскольку потеря длинных имен может привести к серьезному сбою в программах, их использующих, и в операционной системе, автор НАСТОЯТЕЛЬНО НЕ РЕКОМЕНДУЕТ пользоваться устаревшими версиями программ для MS-DOS и Microsoft Windows v. 2.0 - 3.1x в операционных системах Microsoft Windows 95/98/NT, IBM OS/2 Warp и LINUX.

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

Пример:

99.10.05 - Письмо от 05 мая 1999 г.doc

вместо просто

Письмо от 05 мая 1999 г.doc

2.4. FAT32

С точки зрения прикладных программ она ничем не отличается от VFAT и FAT16. Различия проявляются только на уровне представления и сеансовом уровне (то есть на уровне организации FAT.

2.5. HPFS, NTFS

Аналогичны VFAT (на уровне редиректора). Для нелокализованных версий нежелательно использовать в именах файлов и каталогов символы национальных алфавитов (с кодами 128-255).

2.6. NWFS

Файловая система NetWare (NWFS), как и ы операционной системе DOS, имеет несколько редакций. В связи с тем, что она долгое время "обслуживала" MS-DOS, между этими системами есть много общих моментов. Как и MS-DOS, эта операционная система видоизменялась, пополнялась новыми командами и новыми сетевыми возможностями. В этом пункте будет дано описание NWFS файловых серверов Novell NetWare версий от 3.12 до 5.0, широко используемых в работе на конец 1999 года.

NetWare 3.12

Файловая система Novell NetWare 3.12 на уровне редиректора почти полностью совпадает с файловой системой MS-DOS v. 6.22. Сетевые диски на сервере NetWare версии 3.12 для MS-DOS и Microsoft Windows 3.1x почти не отличаются от локальных. Однако при работе в операционных системах Microsoft Windows 95/98/NT наблюдаются существенное различие в работе сетевых и локальных дисков. Дело в том, что NWFS не поддерживает никоим образом VFAT. Поэтому преобразование длинных имен VFAT в NWFS будет происходить по следующей схеме:

a) Длинное имя преобразуется в кодировку OEM (в "родную" кодировку MS-DOS).

b) Если имя файла уже удовлетворяет требованиям DOS, то дальнейшие преобразования не проводятся. В противном случае - переход к пункту c)

c) Длинное имя переводится в верхний регистр. Например, файл abc.txt становится ABC.TXT .

d) Если после этого имя файла удовлетворяет требованиям DOS, то оно и будет служить коротким именем. В противном случае - переход к пункту e).

e) Из длинного имени удаляются все символы, недопустимые в FAT16.

f) Если в имени имеются точки, то часть имени за последней из них рассматривается как расширение. Расширение обрезается справа до трех символов. Все точки из имени, кроме последней, удаляются.

g)Если длина имени файла по прежнему превышает 8 символов,то полученное имя урезается до восьми символов.

Файловая система Novell NetWare 3.12 на уровне консоли файлового сервера.

На уровне консоли (командной строки) NWFS выглядит по-другому. Прежде всего, помимо основного раздела MS-DOS, доступного только для файлового сервера, операционная система Novell NetWare монтирует сбою файловую систему, NWFS, в виде отдельного тома *. По умолчанию всегда присутствуют тома SYS и USERS.

Примечание. Том отличается от логического диска тем, что во-первых, может располагаться на одном, а может занимать пространство (частями или целиком) на нескольких физических дисках. Во-вторых, том имеет дополнительную систему безопасности при хранении данных. Именно поэтому термин "том" применяется и для логических дисков Windows NT, имеющих свои средства для управления дисковым пространством. Подробнее о томах и организации дисковой памяти смотри выпуск 3 серии "Основы информационных систем" (???). *)

В командной строке сервера NetWare доступ к разделу DOS происходит как и MS-DOS, а к смонтированным томам NWFS по шаблону:

<имя_сервера>:<имя_тома>\<путь>\<имя файла с расширением>

где <имя_сервера> - имя компьютера - сервера, заданное при инсталляции сетевой операционной системы Novell NetWare; <имя_тома> - имя смонтированного тома NWFS, а остальные параметры - обычные имена FAT16.

Пример пути для файлов в командной строке NetWare:

c:\lan\m31x.nlm

LUKOIL:SYS\SYSTEM\EDIT.NLM

Заметим, что в командной строке сервера NetWare можно запускать файлы с расширением *.com, *.exe и собственно модулей NetWare с расширением *.nlm. При этом загрузка на выполнение последних осуществляется с помощью команды loa Ее синтаксис:

load <путевое_файла_NetWare>

Отметим, что программой load можно загрузить файлы только с полным путевым именем. Допускается загрузка командой load без указания полного путевого имени программ, расположенных в директориях <имя_сервера>:SYS\SYSTEM и <имя_сервера>:SYS\PUBLIC. Однако если в качестве параметров загружаемого модуля требуется имя другого файла, то необходимо указать его полное сетевое имя вне зависимости от местоположения этого файла. Пример:

LOAD EDIT.NLM LUKOIL:SYS\SYSTEM\AUTOEXEC.NCF

NetWare 4.11

Файловая система этой операционной системы мало отличается от файловой системы Novell NetWare 3.12. Однако в Novell NetWare v. 4.1x появилась служба каталогов Novell (Novell Directory Service, NDS). Благодаря ей рабочая станция подключается не к серверу NetWare, а к сети из серверов NetWare (а возможно, и к сети серверов Microsoft Windows NT). Также с этой системе осуществляется поддержка пространства имен OS/2 (файл OS2.NAM), Macintosh (MAC.NAM), Unix (NFS.NAM), FTAM (FTAM.NAM) и Microsoft Windows NT (только с NDS).

С точки зрения пользования консоли сервера в этой операционной системе все осталось без изменения.

NetWare 5.0

Файловая система этой операционной системы наконец то полностью поддерживает VFAT. Дополнительно для ее стандартной файловой системы можно сказать следующее:

NWFS поддерживает максимально:

- до 64 томов на один сервер;

- до 32 сегментов на один том;

- до 1 Тбайт на один том;

- до 4 Гбайт на один файл;

- до 16 млн. файлов на один сервер;

- до 100000 открытых файлов на один сервер;

- двухбайтовое представление символов (ANSI).

Дополнительно операционная система Novell NetWare поддерживает новый тип файловой системы - NSS (Novell Storage Service). Его заявленные параметры таковы:

- до 255 томов на один сервер;

- неограниченное число сегментов на один том;

- до 8 Тбайт на один том;

- до 8 Тбайт на один файл;

- до 8 трлн. файлов на один том;

- до 1 млн. открытых файлов на один сервер;

- представление символов в формате UNICODE.

Данные взяты из статьи Константин Пьянзин. NetWare 5 - новая ставка Novell //LAN. Журнал сетевых решений. - т.4 z 12 - декабрь 1998. - стр. 71-79.

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

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

2.7. NFS

В любой UNIX- подобной операционной системе используется файловая система NFS (Network File System). Эта файловая система монтируется из удаленных систем и предназначена для работы UNIX - подобной операционной системе работать как файловый сервер. Кроме этих файловых систем UNIX подобные операционные системы могут поддерживать множество других. Например, LINUX дополнительно поддерживает файловые системы Minux (с ограничением длины имен файлов в 30 знаков), собственные файловые системы ext и ext2, Xiaf, FAT, hpfs, System V, CDFS и UMS-DOS.

Все файловые системы UNIX имеют следующие свойства:

Имена файлов в UNIX не содержат расширений.

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

На выполнение UNIX можно запустить любой файл. Ответственность за его формат несет пользователь этой системы.

Имена файлов могут содержать следующие символы:

Буквы A-Z и a-z;

Цифры 0123456789

Служебные символы: _.,

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

Использование других символов не рекомендуется (хотя с помощью режима noglob можно разрешить использовать в именах файлов все символы ASCII).

Пример правильного использования имен файлов:

myfile

MyFile

job11

_mail33.txt.tar.Z

Обратите внимание: первый и второй файл интерпретируются UNIX как два разных файла (в отличие от VFAT).

Неправильные имена файлов:

123view.exe - имя начинается с цифры;

Letter~1.doc - содержит знак ~;

My Documents - содержит пробел;

Моеписьмо.txt - содержит русские буквы.


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua