Файл: А. В. Гордеев А. Ю. Молчанов системное программное обеспечение электронный вариант книги издательства Питер СанктПетербург Челябинск юургу каф. Автоматика и управление 2002 2 Предисловие Настоящий учебник.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 1039
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
222
то остается в силе тот метод, который был выбран DASD Manager при инициализа- ции.
Параметр QUEUEDEPTH задает глубину просмотра очереди при выборке за- просов. Он может принимать значения из диапазона (1...255), а также DEFAULT и
CURRENT. Если в качестве значения параметра QUEUEDEPTH задано число, то оно определяет количество запросов, которые должны находиться в очереди дис- кового адаптера одновременно. Например, для SCSI-адаптеров имеет смысл под- держивать такую длину очереди, при которой они смогут загрузить все запросы в свои аппаратные структуры (tagged queue или mailbox). Если очередь запросов к адаптеру будет слишком короткой, то аппаратура будет работать с неполной за- грузкой, а если она будет слишком длинной – драйвер SCSI-адаптера будет пере- гружен «лишними» запросами. Поэтому разумным значением для QUEUEDEPTH
будет число, немного превышающее длину аппаратной очереди команд адаптера.
Если для параметра QUEUEDEPTH задано значение DEFAULT, то глубина про- смотра очереди определяется автоматически на основании значения, которое реко- мендовано драйвером дискового адаптера. Если задано значение CURRENT, то глубина просмотра очереди не изменяется. В текущей реализации CURRENT экви- валентно DEFAULT.
Итак, текущие умолчания для HPFS386 имеют вид:
QUEUESORT=FIFO
QUEUEMETHOD=DEFAULT ^
QUEUEDEPTH=2
А текущие умолчания для DASD Manager таковы:
QUEUESORT=ELEVATOR
QUEUEMETHOD=PRIORITY
QUEUEDEPTH=<3aвисит от адаптера диска>
Умолчания DASD Manager можно менять с помощью параметра /QF:
BASEDEV=OS2DASD.DMD /QF:{1|2|3)
где 1 - QUEUESORT = FIFO; 2 - QUEUEMETHOD = NOPRIORITY; 3 -
QUEUESORT = FIFO и QUEUEMETHOD = NOPRIORITY.
223
Наконец, добавим ещё несколько слов об устанавливаемых файловых систе- мах (installable file systems – IFS), представляющих собой специальные «драйверы»
для доступа к разделам, отформатированным под другую файловую систему. Это очень удобный и мощный механизм добавления в ОС новых файловых систем и замены одной системы управления файлами на другую. Сегодня, например, для
OS/2 уже реально существуют IFS-модули для файловой системы VFAT (FAT с поддержкой длинных имен), FAT32, Ext2FS (файловая система Linux), NTFS
(правда, пока только для чтения). Для работы с данными на CD-ROM имеется
CDFS.IFS. Есть и FTP.IFS, позволяющая монтировать ftp-архивы как локальные диски. Механизм устанавливаемых файловых систем был перенесён и в систему
Windows NT.
1 ... 14 15 16 17 18 19 20 21 ... 37
Файловая система NTFS (New Technology File
System)
В название файловой системы NTFS входят слова «New Technology», то есть
«новая технология». Действительно, NTFS содержит ряд значительных усовер- шенствований и изменений, существенно отличающих её от других файловых сис- тем. С точки зрения пользователей, файлы по-прежнему хранятся в каталогах (час- то называемых «папками» или фолдерами
1
в среде Windows). Однако в NTFS в от- личие от FAT работа на дисках большого объёма происходит намного эффектив- нее; имеются средства для ограничения в доступе к файлам и каталогам, введены механизмы, существенно повышающие надёжность файловой системы, сняты мно- гие ограничения на максимальное количество дисковых секторов и/или кластеров.
Основные возможности файловой системы NTFS
При проектировании системы NTFS особое внимание было уделено следую- щим характеристикам [53]:
♦ надёжность. Высокопроизводительные компьютеры и системы совместного пользования (серверы) должны обладать повышенной надёжностью, которая явля- ется ключевым элементом структуры и поведения NTFS. Одним из способов уве-
1
Folder – папка. Кстати, термин folder был позаимствован из других операционных систем и не имеет к системе
Windows отношения.
224
личения надёжности является введение механизма транзакций, при котором осу- ществляется жypнaлupoвaнue
1
файловых операций;
♦ расширенная функциональность. NTFS проектировалась с учётом возмож- ного расширения. В ней были воплощены многие дополнительные возможности –
усовершенствованная отказоустойчивость, эмуляция других файловых систем,
мощная модель безопасности, параллельная обработка потоков данных и создание файловых атрибутов, определяемых пользователем;
♦ поддержка POSIX
2
. Поскольку правительство США требовало, чтобы все закупаемые им системы хотя бы в минимальной степени соответствовали стандар- ту POSIX, такая возможность была предусмотрена и в NTFS. К числу базовых средств файловой системы POSIX относится необязательное использование имён файлов с учётом регистра, хранение времени последнего обращения к файлу и ме- ханизм так называемых «жёстких ссылок» – альтернативных имен, позволяющих ссылаться на один и тот же файл по двум и более именам;
♦ гибкость. Модель распределения дискового пространства в NTFS отличает- ся чрезвычайной гибкостью. Размер кластера может изменяться от 512 байт до 64
Кбайт; он представляет собой число, кратное внутреннему кванту распределения дискового пространства. NTFS также поддерживает длинные имена файлов, набор символов Unicode и альтернативные имена формата 8.3 для совместимости с FAT.
NTFS превосходно справляется с обработкой больших массивов данных и достаточно хорошо проявляет себя при работе с томами объёмом от 300-400 Мбайт и выше. Максимально возможные размеры тома (и размеры файла) составляют 16 1
При журналировании файловых операций система управления файлами фиксирует в специальном служебном фай- ле происходящие изменения. В начале операции, связанной с изменением файловой структуры, делается соответст- вующая пометка. Если во время операций над файлами происходит какой-нибудь сбой, то упомянутая отметка о начале операции остается указанной как незавершенная. При выполнении процедуры проверки целостности файло- вой системы после перезагрузки машины эти незавершенные операции будут отменены и файлы будут приведены к исходному состоянию. Если же операция изменения данных в файлах завершается нормальным образом, то в этом самом служебном файле поддержки журналирования операция отмечается как завершенная.
2
POSIX (Portable operating system for computing environments). Синоним IEEE Std 1003.1. С 1990 года является меж- дународным стандартом на машинно-независимый (переносимый) интерфейс компьютерной среды. Этот стандарт разработан американским институтом IEEE в 1988 году. Он представляет собой набор функций, взятых из операци- онных систем AT&T UNIX System V и Berkeley Standard Distribution UNIX. Основное внимание в требованиях этого стандарта уделяется взаимодействию прикладных программ с операционной системой. Написание прикладных про- грамм в данном стандарте позволяет создавать программы, легко переносимые из одной операционной среды в дру- гую.
225
Эбайт
1
. Количество файлов в корневом и некорневом каталогах не ограничено. По- скольку в основу структуры каталогов NTFS заложена эффективная структура дан- ных, называемая «бинарным деревом» (см. раздел «Файловая система HPFS»),
время поиска файлов в NTFS (в отличие от систем на базе FAT) не связано линей- ной зависимостью с их количеством.
Система NTFS также обладает определенными средствами самовосстановле- ния. NTFS поддерживает различные механизмы проверки целостности системы,
включая ведение журналов транзакций, позволяющих воспроизвести файловые операции записи по специальному системному журналу.
Файловая система NTFS поддерживает объектную модель безопасности NT и рассматривает все тома, каталоги и файлы как самостоятельные объекты. NTFS
обеспечивает безопасность на уровне файлов; это означает, что права доступа к томам, каталогам и файлам могут зависеть от учётной записи пользователя и тех групп, к которым он принадлежит. Каждый раз, когда пользователь обращается к объекту файловой системы, его права доступа проверяются по списку разрешений данного объекта. Если пользователь обладает достаточным уровнем прав, его за- прос удовлетворяется; в противном случае запрос отклоняется. Эта модель безо- пасности применяется как при локальной регистрации пользователей на компьюте- рах с NT, так и при удалённых сетевых запросах.
Наконец, помимо огромных размеров томов и файлов, система NTFS также обладает встроенными средствами сжатия, которые можно применять к отдельным файлам, целым каталогам и даже томам (и впоследствии отменять или назначать их по своему усмотрению).
Структура тома с файловой системой NTFS
Рассмотрим теперь структуру файловой системы NTFS. Наиболее полно она описана в книге [23]. Мы же здесь коснемся только основных моментов.
1
Экзабайт (один экзабайт равен 2 64
, или приблизительно 16 000 млрд гигабайт).
226
Одним из основных понятий, используемых при работе с NTFS, является по- нятие тома (volume)
1
. Возможно также создание отказоустойчивого тома, занимаю- щего несколько разделов, то есть использование RAID-технологии. Как и многие другие системы, NTFS делит всё полезное дисковое пространство тома на кластеры
– блоки данных, адресуемые как единицы данных. NTFS поддерживает размеры кластеров от 512 байт до 64 Кбайт; стандартом же считается кластер размером 2
или 4 Кбайт.
Всё дисковое пространство в NTFS делится на две неравные части (рис.4.12).
Первые 12 % диска отводятся под так называемую MFT-зону – пространство, кото- рое может занимать, увеличиваясь в размере, главный служебный метафайл MFT
2
Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой – это делается для того, чтобы самый главный, служебный файл (MFT) по возможности не фрагментировался при своем росте. Остальные 88 % тома пред- ставляют собой обычное пространство для хранения файлов.
Рис.4.12. Структура тома NTFS
MFT (master file table, общая таблица файлов) представляет собой централизо- ванный каталог всех остальных файлов диска, в том числе и себя самого. MFT по-
1
Следует, однако, заметить, что понятие тома известно уже около 30 лет. Оно активно используется и в системе
OS/2, использующей файловую систему HPFS. См. об этом в разделе «Файловая система HPFS».
2
MFT (master file table) – это специальный файл, главная системная структура данных, которая и позволяет опреде- лять местонахождение всех остальных файлов.
227
делен на записи фиксированного размера в 1 Кбайт
1
, и каждая запись соответствует какому-либо файлу (в общем смысле этого слова). Первые 16 файлов носят слу- жебный характер и недоступны операционной системе – они называются мета-
файлами, причем самый первый метафайл – сам MFT. Эти первые 16 элементов
MFT – единственная часть диска, имеющая строго фиксированное положение. Ко- пия этих же 16 записей хранится в середине тома для надёжности, поскольку они очень важны. Остальные части MFT-файла могут располагаться, как и любой дру- гой файл, в произвольных местах диска – восстановить его положение можно с по- мощью его самого, «зацепившись» за самую основу – за первый элемент MFT.
Таблица 4.7. Метафайлы NTFS
Имя метафайла
Назначение метафайла
$MFT
Сам Master File Table
$MFTmirr
Копия первых 16 записей MFT, размещенная посередине тома
$LogFile
Файл поддержки операций журналирования
$Volume
Служебная информация – метка тома, версия файловой системы и т. д.
$AttrDef
Список стандартных атрибутов файлов на томе
$.
Корневой каталог
$ Bitmap
Карта свободного места тома
$Boot
Загрузочный сектор (если раздел загрузочный)
$Quota
Файл, в котором записаны права пользователей на использование дискового
пространства (этот файл начал работать лишь в Windows 2000 с системой
NTFS 5.0)
$Upcase
Файл – таблица соответствия заглавных и прописных букв в именах файлов.
В NTFS имена файлов записываются в Unicode (что составляет 65 тысяч
различных символов) и искать большие и малые эквиваленты в данном
случае – нетривиальная задача
Упомянутые первые 16 файлов NTFS (метафайлы) носят служебный характер;
каждый из них отвечает за какой-либо аспект работы системы. Метафайлы нахо- дятся в корневом каталоге NTFS-тома. Все они начинаются с символа имени «$»,
хотя получить какую-либо информацию о них стандартными средствами сложно.
1
Размер файловых записей MFT для тома – минимум 1 Кбайт и максимум 4 Кбайт – определяется во время форма- тирования тома.
228
В табл. 4.7 приведены основные известные метафайлы и их назначение. Таким образом, можно узнать, например, сколько операционная система тратит на катало- гизацию тома, посмотрев размер файла $MFT.
Итак, все файлы тома упоминаются в MFT. В этой структуре хранится вся ин- формация о файлах, за исключением собственно данных. Имя файла, размер, по- ложение на диске отдельных фрагментов и т. д. – всё это хранится в соответ- ствующей записи. Если для информации не хватает одной записи MFT, то ис- пользуется несколько записей, причем не обязательно идущих подряд. Файлы мо- гут иметь не очень большой размер. Тогда применяется довольно удачное ре- шение: данные файла хранятся прямо в MFT, в оставшемся от основных данных месте в пределах одной записи MFT. Файлы, занимающие сотни байт, обычно не имеют своего «физического» воплощения в основной файловой области – все дан- ные такого файла хранятся в одном месте, в MFT.
Файл в томе с NTFS идентифицируется так называемой файловой ссылкой
(File Reference), которая представляется как 64-разрядное число. Файловая ссылка состоит из номера файла, который соответствует позиции его файловой записи в
MFT, и номера последовательности. Последний увеличивается всякий раз, когда данная позиция в MFT используется повторно, что позволяет файловой системе
NTFS выполнять внутренние проверки целостности.
Каждый файл в NTFS представлен с помощью потоков (streams), то есть у не- го нет как таковых «просто данных», а есть «потоки». Для правильного понимания потока достаточно указать, что один из потоков и носит привычный нам смысл –
данные файла. Но большинство атрибутов файла – это тоже потоки. Таким об- разом, получается, что базовая сущность у файла только одна – номер в MFT, а всё
остальное, включая и его потоки, – опционально. Данный подход может эффектив- но использоваться – например, файлу можно «прилепить» ещё один поток, записав в него любые данные. В Windows 2000 таким образом записана информация об ав- торе и содержании файла (одна из закладок в свойствах файла, просматриваемых,
например, из проводника). Интересно, что эти дополнительные потоки не видны стандартными средствами работы с файлами: наблюдаемый размер файла – это
229
лишь размер основного потока, который содержит традиционные данные. Можно,
к примеру, иметь файл нулевой длины, при стирании которого освободится 1 Гбайт свободного места – просто потому, что какая-нибудь хитрая программа или техно- логия «прилепила» к нему дополнительный поток (альтернативные данные) такого большого размера. Но на самом деле в настоящее время потоки практически не ис- пользуются, так что опасаться подобных ситуаций не следует, хотя гипотетически они возможны
1
. Просто необходимо иметь в виду, что файл в NTFS – это более глубокое понятие, чем можно себе представить, просматривая каталоги диска.
Стандартные же атрибуты для файлов и каталогов в томе NTFS имеют фикси- рованные имена и коды типа, они перечислены в табл. 4.8.
Таблица 4.8. Атрибуты файлов в системе NTFS
Системный атрибут
Описание атрибута
Стандартная инфор-
мация о файле
Традиционные атрибуты Read Only, Hidden, Archive, System, отметки времени,
включая время создания или последней модификации, число каталогов,
ссылающихся на файл
Список атрибутов
Список атрибутов, из которых состоит файл, и файловая ссылка на файловую
запись и MFT, в которой расположен каждый из атрибутов. Последний
используется, если файлу необходимо более одной записи в MFT
Имя файла
Имя файла в символах Unicode. Файл может иметь несколько атрибутов –
имён файла, подобно тому как это имеет место в UNIX-Системах. Это случается,
когда имеется связь POSIX с данным файлом или если у файла
есть автоматически сгенерированное имя в формате 8 3
Дескриптор защиты
Структура данных защиты (ACL), предохраняющая файл от несанкционированного
доступа. Атрибут «дескриптор защиты» определяет, кто владелец файла и кто имеет
доступ к нему
Данные
Собственно данные файла, его содержимое. В NTFS у файла по умолчанию есть
один безымянный атрибут данных, и он может иметь дополнительные именованные
атрибуты данных. У каталога нет атрибута данных по умолчанию, но он может иметь
необязательные именованные атрибуты данных
Корень индекса, раз-
мещение индекса,
битовая карта (только
для каталогов)
Атрибуты, используемые для индексов имён файлов в больших каталогах
Расширенные атрибу-
ты HPFS
Атрибуты, используемые для реализации расширенных атрибутов HPFS для
подсистемы OS/2 и OS/2–клиентов файл-серверов Windows NT
Атрибуты файла в записях MFT расположены в порядке возрастания число- вых значений кодов типа, причем некоторые типы атрибутов могут встречаться в записи более одного раза: например, если у файла есть несколько атрибутов дан-
1
Так, на идее подмены потока основан один из новейших вирусов, который был не так давно создан для распро-