| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
Файловая система на уровне редиректора операционной системы. Содержание.
0. Введение. Из выпуска серии "Основы информационных систем", посвященному дискам и файловым системам Вы узнаете, что такое файлы. В этой же части автор как бы рассмотрит файлы "с другой стороны", а именно со стороны пользователя операционной системы. Благодаря реализации семиуровневой эталонной модели взаимодействия протоколов ISO для работы файлов во всех операционных системах, пользователю уже не обязательно знать, к какому контроллеру подключен диск с его данными, под какую файловую систему размечена его поверхность, к какому компьютеру он подключен и другие более специальные вопросы. Непосредственно с прикладными программами взаимодействует лишь редиректор, который обеспечивает доступ к блочным устройствам ввода-вывода. Именно реализацией редиректора и различаются интерфейсы и взаимодействия прикладных программ с файловыми системами (смотри рисунок 1.) Поэтому далее рассматривается лишь интерфейс различных операционных системах, который определяется в основном редиректором, с учетом ограничений различных файловых систем. Рис. 1. Классификация интерфейсов жестких дисков в соответствии с семиуровневой эталонной модели протоколов ISO. Файлы могут содержать в себе любую информацию. Это могут быть как программы, выполняемые под управлением какой-либо операционной системы, либо файлы с данными для этих программ. Независимо от операционных систем персональных компьютеров все файлы можно разделить на текстовые и бинарные (по другому - двоичные ) файлы. Текстовыми файлами называют файлы, в которых используются в качестве информационных символы с шестнадцатеричными кодами 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) . В нем содержатся ссылки на другие файлы. Поскольку ссылки на эти файлы содержатся лишь в одном из каталогов, для пользователи эти файлы как бы расположены в каталоге. На самом деле, конечно, все файлы находятся в секторах диска. Но это истинно лишь на физическом уровне, а на уровне представления данных файлы находятся в каталогах. Преимущества каталогов, особенности их работы с ними будут описаны ниже. Следует только отметить, что каталоги появились не сразу и не во всех операционных системах. Они возникли там, где требовался большой объем хранимой информации (например, в файловых системах жестких дисков) и, следовательно, возникли сложности с организацией и размещением большого числа файлов. Эти преимущества каталогов следует использовать при работе с операционными системами, содержащих каталоги. Любой файл содержит в служебных полях следующую информацию о себе. Она включает имя, дату и время создания и модификации, свой размер, и другие атрибуты, зависящие от реализации файловой системы. То же относится и к каталогу. Имя и тип любого файла (и каталога) должны быть уникальными в пределах того каталога, в котором они находятся. Рассмотрим ограничения, налагаемые на файлы операционными системами. Используется MS-DOS для организации файловой системы на дискетах и жестких дисках размером до 20 Мбайт . В настоящее время для организации разделов на жестких дисках не используется. Ее заменила файловая система FAT16. Работа с файлами в данной файловой системе полностью идентична работе в файловой системе FAT16, о которой будет рассказано ниже. Имя файла в этой файловой системе состоит из одного или не более чем восьми символов, которые приведены в нижеследующей таблице. Кроме того, у файловых систем программных продуктов фирмы Microsoft присутствует так называемое расширение , отделяемое от имени файла точкой. Это расширение неявно указывает, какой программой создан или будет обрабатываться файл. Примечание: В операционных системах UNIX такого понятия нет: там расширение - это просто часть имени. В MS-DOS расширение может содержать от нуля до трех символов. Ограничения на используемые символов в расширении - те же, что и в имени файлов. Таблица I. Используемые символы в имени файлов в MS-DOS.
Примечание (*): MS-DOS не делает различия между строчными и прописными буквами. При выводе имени все буквы преобразуются в прописные. Примечание (**): русские буквы доступны лишь в пан=европейской и русской локализованной версии MS-DOS. В MS-DOS расширения играют очень важную роль. Так, исполняемые файлы MS-DOS имеют следующие расширения (смотри таблицу II.) Таблица II. Расширения исполняемых файлов.
На имена файлов в операционных системах MS-DOS, кроме ограничений на длину и тип символов, накладываются дополнительные ограничения. Следующие имена файлов зарезервированы за внешними устройствами (см. таблицу III). Таблица III. Зарезервированные имена MS-DOS.
Эти вышеперечисленные имена устройств не могут функционировать как имена файлов. Однако применение их в качестве расширений допустимо! Примеры: PRN.TXT - недопустимое имя файла. TEXT.PRN, NEW.AUX - допустимые имена файлов. Поскольку каталог является одним их видов файла (смотри выше раздел A.1.2.), то на него действуют те же ограничения на имена, что и на файлы. Расширение имени каталога не несет никакой смысловой нагрузки и служит лишь довеском к имени. Обычно расширение у каталогов отсутствует. Впервые появилась в операционной системе 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.. Соответствие длинных и коротких имен файлов.
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 С точки зрения прикладных программ она ничем не отличается от VFAT и FAT16. Различия проявляются только на уровне представления и сеансовом уровне (то есть на уровне организации FAT. Аналогичны VFAT (на уровне редиректора). Для нелокализованных версий нежелательно использовать в именах файлов и каталогов символы национальных алфавитов (с кодами 128-255). Файловая система 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 наконец то появился графический интерфейс пользователя. Это избавило системному администратору работать с командной строкой, которая требовала от него высокой квалификации. В любой 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 - содержит русские буквы. |
|
| ||||||||||||||||
|