Что относится к атрибутам файла: Что такое атрибуты файла? — пк-ГИД

Содержание

Расширенные атрибуты файлов

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

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

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

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

Тест с ответами на тему файлы

1.​ Какие бывают атрибуты файла
+ Отсутствие атрибутов, только для чтения, скрытый, системный, атрибут архивации и их сочетания.
— только для чтения, скрытый, системный, атрибут архивации
— отсутствие атрибутов, только для чтения, скрытый, системный, атрибут архивирования.
— только для чтения, скрытый, системный, атрибут архивации и их сочетания.

2.​ Что из перечисленного относится к функциональным компонентов операционных систем
+ Управления процессами, управление памятью, управление вводом- выводом, управления файлами и поддержка файловых систем, сетевая поддержка, обеспечение защиты данных, реализация интерфейса
— ядро, средства управления процессами, памятью, вводом- выводом, файлами и поддержка файловых систем, реализация интерфейса
— ядро, планировщик, средства управления процессами, памятью, вводом- выводом, файлами и поддержка файловых систем
— ядро, средства управления процессами, памятью, вводом- выводом, файлами и поддержка файловых систем

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

4.​ Операционная системы имеет расширяемость
+ Если дополнения и изменения могут быть в нее внесены без нарушений целостности системы
— если без изменения основных настроек, система позволяет работать с новым оборудованием
— если система легко поддается обновлению
— если аппаратная платформа определяется типом ПК, архитектурой аппаратных средств.

5.​ Виртуальное адресное пространстир зависит от
+ Архитектуры процессора, системы программирования
— обьему реальной физической памяти, установленной в компьютере
— средств системы программирования
— наличия библиотек системы программирования

6.​ Виртуальное адресное пространстир не зависит от
+ Объема реальной физической памяти, установленной в компьютере
— Архитектура процессора, системы программирования
— средств системы программирования
— наличия библиотек системы программирования

7.​ Как в операционных системах Unix класса пересмотреть содержание текущего каталога?
+ ls
— ps
— dir
— list

8.​ Как в операционных системах DOS / Windows класса изменить имя файла?
+ Ren имя_файла нове_имья_файлу
— rn имя_файла нове_имья_файлу
— copy имя_файла нове_имья_файлу
— rem имя_файла нове_имья_файлу

9.​ Какие файловые системы поддерживаются в операционной системе Windows XP?
+ FAT16, FAT32, NTFS, HPFS, CDFS
— FAT16, FAT32, CDFS
— FAT16, FAT32, UFS, CDFS
— FAT16, FAT32, NTFS, HPFS, UFS, CDFS

10.​ Какова максимальная длина файла в файловой системе FAT32?
+ 4 Гигабайта
— Столько, сколько размер диска
— 16 Гигабайт

— 32 Гигабайта

11.​ Поддерживают файловые системы FAT32 и NTFS операционные системы Unix класса?
+ В режиме монтирования
— так
ные
— зависит от размера дисков

12.​ Командой в операционных системах Unix класса пересмотреть содержание загруженных процессов?
+ ps
— tasklist
— PS
— listing

13.​ Поддерживает файловая система NTFS шифрования?
+ Так, с помощью команды cipher
ные
— да, с помощью команды kipffer
— да, с помощью команды shell

14.​ Поддерживает файловая система FAT32 шифрования?
+ Ни без дополнительного резидентной программы
— иные
— так
— да, с помощью команды cipher

15.​ Операционная система Unix стабильное характеризуется тем, что она есть —
+ мультипользовательские
— мультипрограмна
— мультизадачна
— мультипоточна

16.​ Операционная система Unix имеет ядро
+ монолитное
— микроядро
— монолитные с некоторыми элементами микроядра
— мультиядро

17.​ Командой в операционной системе Windows XP вызвать программу корректировки автозагрузки?
+ msconfig
— autoexec
— regedit
— winconfig

18.​ В какой команде операционных системах DOS / Windows класса допущена ошибка?
+ MOVE A: \ *. * D: / TEMP
— COPY CON LR4.TXT
— COPY LR4.TXT + LR5.TXT + 1.TXT 5LR.TXT
— COPY LR4.TXT + LR5.TXT + 1.TXT 5LR.TXT
— МЕМ / C / P
— FORMAT A: / U / S / C
— DIR C: \ WINDOWS> 11111.TXT
— TYPE TEXT.TXT

19.​ Командой в операционных системах Unix класса создать символическую ссылку на файл test?
+ Ln — s test Perevirka
— ln test Perevirka
— lh — s test Perevirka
— ls test Perevirka

20.​ Который пакетный файл правильный?
+ Rem text
@echo off
dir e: \ proba> text.txt
copy text.txt prn
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
— Rem text
@echo off
dir e: / proba> text.txt
copy text.txt prn

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
— @ Echo off
echo zmist katalogu
dir e: \ proba> text.txt
copy text.txt> print.txt
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
— @ Echo off
echo zmist katalogu
dir e: \ proba> text.txt
copy text.txt >> print.txt

Атрибут $file_name

Атрибут $FILE_NAME (идентификатор типа 48) выполняет две функции. Во-первых, он включается в записи MFT для хранения имени файла и информации о родительском каталоге; во-вторых, он используется в индексах каталогов. При использовании в записях MFT атрибут не содержит никакой необходимой информации, но в индексах эта информация присутствует.

Для стандартных файлов и каталогов этот атрибут находится на второй позиции и всегда является резидентным. Если для хранения файла требуется несколько записей MFT, атрибут $ATTRIBUTE_LIST будет находиться между $STANDARD_INFORMATION и этим атрибутом. Поля атрибута $FILE_NAME перечислены в табл. 13.7.

Таблица 13.7. Структура данных атрибута $FILE_NAME

Диапазон

Описание

Необходимость

0-7

Базовый адрес родительского каталога

Нет

8-15

Время создания файла

Нет

16-23

Время модификации файла

Нет

24-31

Время модификации МРТ

Нет

32-39

Время обращения к файлу

Нет

40-47

Выделенный размер файла

Нет

48-55

Реальный размер файла

Нет

56-59

Флаги (см. табл. 13.6)

Нет

60-63

Точка подключения

Нет

64-64

Длина имени

Да/Нет

65-65

Пространство имен (см. табл. 13.8)

Да/Нет

66+

Имя

Да/Нет

Последние три поля необходимы в тех случаях, когда атрибут используется в индексе каталога, но не при его использовании в записи MFT для файла. В поле флагов применяются те же значения, что и в атрибуте $STANDARD_INFORMATION (см. ранее).

Байт пространства имен указывает, по каким правилам строится имя файла. Допустимые значения приведены в табл. 13.8.

Таблица 13.8. Значения поля пространства имен атрибута $FILE_NAME

Код пространства

имен

Описание

0

POSIX: в имени учитывается регистр символов; допустимы любые символы Unicode, кроме / и NULL

1

Win32: регистр символов не учитывается; допустимо большинство символов Unicode, кроме некоторых специальных символов (/, \, :, >, < и ?)

2

DOS: регистр символов не учитывается, имена хранятся в верхнем регистре и не могут содержать специальных символов. Имя содержит не более 8 символов, а расширение — не более трех

3

Win32 и DOS: используется в тех случаях, когда исходное имя уже принадлежит пространству имен DOS и хранить две версии имени не нужно

Чтобы рассмотреть пример атрибута $FILE_NAME, мы снова обращаемся к записи $MFT и указываем тип атрибута 48:

# і cat -f ntfs ntfsl.dd 0-48 xxd

0000000: 0500 0000 0000 0500 305a 7alf f63b c301 ……..OZz..;..

0000016: 305a 7alf f63b c301 305a 7alf f63b c301 OZz..;..OZz..:..

0000032: 305a 7alf f63b c301 0040 0000 0000 0000 0Zz..:…@……

0000048: 0040 0000 0000 0000 0060 0000 0000 0000 .0…………..

0000064: 0403 2400 4d00 4600 5400 ..$.M.F.T.

Первые 8 байт содержат базовый адрес файла; старшие два байта определяют порядковый номер, а младшие шесть — запись MFT. Итак, родительский каталог для данной записи MFT представлен записью MFT 5, а его порядковый номер равен 5; запись соответствует корневому каталогу. В следующих 8 байтах указано время создания файла; оно совпадает с тремя другими временными штампами атрибута.

Байты 40-47 и 48-55 предназначены для выделенного и фактического размеров файла соответственно; в них хранится одно и то же значение 16 384 байт (0x4000). В действительности атрибут $DATA этого файла занимает 8 364 368 байт; совершенно очевидно, что эта информация неверна. У многих файлов эти поля заполняются нулями, но при использовании атрибута в индексе каталога они содержат точную информацию.

Поле флагов (байты 56-57) содержит значение 0x0006; в нем установлены флаги скрытого и системного файлов. Те же флаги были установлены у атрибута $STANDARD_INFORMATION. Байт 64 показывает, что имя состоит из 4 букв, а байт 65 — что оно относится к пространству имен 3 (DOS+Win32). Имя хранится в кодировке Unicode UTF-16 и начинается с байта 66. В нашем примере это имя $MFT.

Напоследок рассмотрим файл с двумя атрибутами $FILE_NAME, поскольку Windows требует, чтобы для каждого файла существовало DOS-имя. Файл содержит атрибуты $FILE_NAME как для имени из пространства DOS, так и для имени из пространства Win32. Я не стану подробно анализировать оба атрибута, а лишь приведу выходные данные і cat:

# icat -f ntfs ntfsl.dd 0-48-2 xxd

0000000: 3920 0000 0000 0300 00b6 89a9 086a c401 9 ………..j. .

0000016: 00b6 89a9 086a c401 00b6 89a9 086a c401 …..j…….j..

0000032: 00b6 89a9 086a c401 0000 0000 0000 0000 …..j……….

0000048: 0000 0000 0000 0000 2020 0000 0000 0000 …………..

0000064: ObOl 3500 3700 3300 3900 3800 3400 3000 ..5.7.3.9.8.4.0.

0000080: 3800 6400 3000 3100 8.d.0.1.

В байте 65 определяется пространство имен 1 (Win32). В этой записи содержится имя файла «57398408d01». Следующий атрибут $FILE_NAME обладает тем же идентификатором типа 48, но его идентификатор атрибута равен 3:

# icat -f ntfs ntfsl.dd 0-48-3 xxd

0000000: 3920 0000 0000 0300 00b6 89a9 086a c401 9 ………..j..

0000016: 00b6 89a9 086a c401 00b6 89a9 086a c401 …..j…….j..

0000032: 00b6 89a9 086a c401 0000 0000 0000 0000 …..j……….

0000048: 0000 0000 0000 0000 2020 0000 0000 0000 …………..

0000064: 0802 3500 3700 3300 3900 3800 3400 3000 ..5.7.3.9.8.4.

0000080: 3100 1.

В соответствии с содержимым байта 65, атрибут относится к пространству имен 2 (DOS). Имя файла в этой записи представляет собой строку «573984-1».

⇐Атрибут $stan dard_information | Криминалистический анализ файловых систем | Атрибут $data⇒

В файловой системе fat файлы образуют. Файловая система fat. Что такое файловая система

Должно быть, вы уже неоднократно слышали о таких файловых системах, как FAT32, NTFS и exFAT . Но в чем же между ними разница? Каждый тип обладает своим собственным набором плюсов и минусов. Именно поэтому нет единого варианта. В этой статье мы разберем основные отличия трех файловых систем.

Говоря об операционной системе Windows, мы точно знаем, что она устанавливается только на логический раздел формата NTFS. Съемные накопители и другие устройства хранения, основанные на USB-интерфейсе, используют тип FAT32.

Одним из форматов, которые можно использовать для форматирования Flash-накопителей, является exFAT — преемник старой файловой системы FAT32.

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

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

Файловая система представляет из себя набор правил, определяющих то, как хранятся и извлекаются документы, хранящиеся на устройстве. Это может быть жесткий диск, Flash-накопитель или SD-карта.

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

Полезные статьи


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

На самом деле существует большое количество файловых систем, например Flash File System, Tape File System и Disk File System, однако мы остановимся только на основных — FAT32 , NTFS и exFAT .

Что такое FAT32

Файловая система FAT32 является самой старой и опытной в истории компьютерных технологий. Ее путь начался с оригинальной 8-битной системы FAT в 1977 году, которая функционировала внутри автономного диска Microsoft Standalone Disk Basic-80 . Он был запущен специально для Intel 8080 NCR 7200 в 1977/1978 году, работая терминалом ввода данных с 8-дюймовыми гибкими дисками.

После обсуждений о введении системы с учредителем Microsoft Биллом Гейтсом, код был написан первым наемным сотрудником компании Марком Макдональдом.

Основной задачей файловой системы FAT была работа с данными в операционной системе Microsoft 8080/Z80 на базе платформы MDOS/MIDAS, написанной Марком Макдональдом.

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

Основным отличием FAT32 от ее предшественников является преодоление ограниченного объема доступной для хранения информации. 32-разрядная система была выпущена в августе 1995 года вместе с релизом Windows 95 и в своем обновленном варианте позволила увеличить верхние пределы размера файлов и хранилища данных до 4 Гб и 16 Тб.

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

Резюмируя, система FAT32 идеально подойдет для хранения данных, объем которых не превышает 4 Гб, на любых съемных носителях. Ее популярность не ограничивается только компьютерной сферой. Она используется в игровых консолях, телевизорах с высокой четкостью изображения, DVD-проигрывателях, Blu-Ray плеерах и любых других устройствах с USB-портом. FAT32 поддерживают все версии Windows, Linux и MacOS.

Что такое NTFS

В 1993 году компания Microsoft представила новую файловую систему NTFS (New Technology File System) параллельно с появление операционной системы Win dows NT 3.1.

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

Разработка началась в середине 1980-х годов в период сотрудничества Microsoft и IBM, целью которого было создание новой операционной системы, превосходящей предыдущие по графической производительности.

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

Для компьютерных технологий 1989 год ознаменовался созданием HPFS от IBM, которая использовалась для операционной системы OS/2. Несколькими годами позже, в 1993, компания Microsoft запустила NTFS v1.0 , которая стала официальной файловой системой для Windows NT 3.1.

Теоретический размер файла NTFS — 16 Эб — 1 Кб, что составляет 18 446 744 073 709 550 502 байта. В команду разработчиков входили Том Миллер, Гарри Кимуру, Брайан Эндрю, Девид Гебель.

Следующей версией файловой системы стала NTFS v3.1 , запущенная специально для Microsoft Windows XP. В дальнейшем она не претерпевала особых изменений, хотя в нее и было внесено множество различных дополнений. Например, появилась возможность сжатия логических разделов, восстановление и символические ссылки NTFS. Кроме того начальная емкость файловой системы составляла всего 256 Мб из колоссальных 16 Эб — 1 Кб в новых версиях, запущенных с выходом Windows 8.

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

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

Данная файловая система поддерживается всеми версиями Windows, начиная с Windows XP. К сожалению, MacOS не разделяет стремление к совместимости, продвигаемое Microsoft. Apple оставили для пользователей возможность чтения данных с дисков NTFS, однако записывать на них не получится. Поддержка данной файловой системы от Linux ограничивается лишь несколькими ее версиями.

Что такое exFAT

ExFAT (Extended FAT) — новая, расширенная файловая система от Microsoft, которая с успехом заменяет своего предшественника на поле, когда дело доходит до больших объемов информации.

Как вы наверняка знаете, большинство современных цифровых фотокамер используют систему exFAT, поскольку она существенно легче NTFS, но, в то же время, позволяет сохранять файлы размером более 4 Гб, в отличие от FAT32.

Таким образом, копируя на Flash-накопитель с файловой системой exFAT документ размером 6 Гб, вы не столкнетесь с негативными последствиями, которые можно наблюдать, используя предшествующую версию системы.

Формат exFAT набирает все большую популярность и используется преимущественно с высокоемкими картами памяти SDXC. Основной причиной тому является небольшой размер файловой системы и, как ранее описывалось, возможность сохранять документы объемом более 4 Гб.

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

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

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

Поскольку Microsoft неизменны в своем упрямстве, многие пользователи занялись созданием собственными модификациями exFAT, одной из которых стала exfat-fuse . Она обеспечивает операции чтения и записи для дистрибутивов Linux, включая FreeBSD.

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

ExFAT поддерживает функции чтения, записи и совместима с операционными системами Mac, Android и Windows. Для Linux понадобится вспомогательное программное обеспечение.

Сравнение файловых систем

FAT32:

  • Совместимость: Windows, MacOS, Linux, игровые консоли и устройства с USB-портом.
  • Плюсы: кросс-платформенная совместимость, легкая файловая система.
  • Минусы: ограничения в размерах файлов (доступны документы до 4 Гб) и размеры разделов до 16 Тб.
  • Назначение: съемные накопители. Используется для форматирования Flash-накопителей, однако exFAT предпочтительнее.

NTFS:

  • Совместимость: Windows, MacOS (доступно только чтение), Linux (только чтение для некоторых дистрибутивов), Xbox One.
  • Плюсы: отсутствие ограничений по размеру файлов и разделов.
  • Минусы: ограниченная межплатформенная совместимость.
  • Назначение: хорошо подходит для внутренних жестких дисков, поскольку позволяет хранить информацию большого объема, справиться с которым другие файловые системы не смогут.

exFAT:

  • Совместимость: Windows XP и более поздние версии, MacOS 10.6.5 и выше, Linux (с использованием FUSE), Android.
  • Плюсы: имеет общие положительные эффекты от FAT32 и NTFS, которые включают в себя возможность хранения файлов, размером свыше 4 Гб.
  • Минусы: Microsoft ограничивают использование лицензии.
  • Назначение: позволяет исключить ограничения по размеру файлов для съемных накопителей. Гораздо предпочтительнее своего предшественника FAT32.

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

Инструмент Starus Partition Recovery , или его аналоги, Starus FAT Recovery, Starus NTFS Recovery, предназначены для работы с определенными файловыми системами — FAT и NTFS. Основной софт способен взаимодействовать с обоими. Cкачать и опробовать программы для восстановления файловых систем FAT32 и NTFS можно совершенно бесплатно!

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

В большинстве случаев пользователи довольствуются знанием, что NTFS «лучше» , и выбирают этот вариант.

Однако иногда им становится интересно, а чем именно лучше?

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

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

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

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

С точки зрения ОС, жесткий диск – это набор кластеров.

Кластер – это область диска определенного размера для хранения данных. Минимальный размер кластера – 512 байт. Поскольку используется двоичная система счисления, то размеры кластеров кратны степени двойки.

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

Для жестких дисков в ПК в данный момент наиболее распространены две файловые системы: FAT или NTFS . Сначала появилась FAT (FAT16) , затем FAT32 , а потом NTFS .

FAT (FAT16) это аббревиатура от File Allocation Table (в переводе Таблица Размещения Файлов ).

Структура FAT была разработана Биллом Гейтсом и Марком МакДональдом в 1977 году. Использовалась в качестве основной файловой системы в операционных системах DOS и Microsoft Windows (до версии Windows ME).

Существует четыре версии FAT — FAT12 , FAT16 , FAT32 и exFAT . Они отличаются количеством бит, отведённых для хранения номера кластера.

FAT12 применяется в основном для дискет, FAT16 — для дисков малого объёма, а новая exFAT преимущественно для флэш-накопителей. Максимальный размер кластера, который поддерживается в FAT, составляет 64Кб. ()

FAT16 впервые представлена в ноябре 1987 года. Индекс 16 в названии показывает, что для номера кластера используется 16 бит. Вследствие этого максимальный объем раздела диска (тома), который может поддерживать эта система, равен 4Гб.

Позже, с развитием технологий и появлением дисков объемом более 4Гб, появилась файловая система FAT32 . Она использует 32-разрядную адресацию кластеров и появилась вместе с Windows 95 OSR2 в августе 1996 года. FAT32 ограничена в размере тома в 128Гб. Также эта система может поддерживать длинные имена файлов. ().

NTFS (аббревиатура New Technology File System Файловая Система Новой Технологии ) — стандартная файловая система для семейства операционных систем Microsoft Windows NT.

Представлена 27 июля 1993 вместе с Windows NT 3.1. NTFS разработана на основе файловой системы HPFS (аббревиатура High Performance File System Высокопроизводительная Файловая Система ), создававшейся Microsoft совместно с IBM для операционной системы OS/2.

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

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

Во время установки ОС Windows ХР предлагается отформатировать диск в системе FAT или NTFS . При этом имеется в виду FAT32 .

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

Основное отличие для обычного пользователя между этими системами – размер кластера. «Давным-давно, когда диски были маленькими, а файлы – очень маленькими» это было очень заметно.

Рассмотрим на примере одного тома на диске объемом 120Гб и файла размером 10Кб.

Для FAT32 размер кластера будет 32Кб, а для NTFS – 4Кб.

В FAT32 такой файлзаймет 1 кластер, при этом останется 32-10=22Кб незанятого места.

В NTFS такой файлзаймет 3 кластера, при этом останется 12-10=2Кб незанятого места.

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

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

В 2003 году у меня был диск на 120Гб, разделенный на тома по 40 и 80Гб. Когда я перешел с Windows 98 на Windows ХР и конвертировал диск с FAT32 в NTFS , я получил около 1Гб освободившегося места на диске. В то время это была существенная «прибавка».

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

Том – это синоним раздела диска, пользователи том обычно называют «диск С», «диск Д» и т.д. Пример показан на картинке ниже:

В настоящий момент широко используются диски объемом 320Гб и больше. Поэтому я рекомендую использовать систему NTFS для оптимального использования дискового пространства.

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

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

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

При написании статьи использованы материалы сайтов ru.wikipedia.org

Автор статьи: Максим Тельпари
Пользователь ПК с 15-ти летним стажем. Специалист службы поддержки видеокурса «Уверенный пользователь ПК», изучив который Вы научитесь собирать компьютер, устанавливать Windows XP и драйверы, восстанавливать систему, работать в программах и многое другое.

Заработайте на этой статье!
Зарегистрируйтесь в партнерской программе. Замените в статье ссылку на курс на свою партнерскую ссылку. Добавьте статью на свой сайт. Получить версию для перепечатки можно .

Расширенные атрибуты всех файлов.

VFAT

VFAT — это расширение FAT, появившееся в Windows 95 . В FAT имена файлов имеют формат 8.3 и состоят только из символов кодировки ASCII . В VFAT была добавлена поддержка длинных (до 255 символов) имён файлов (англ. Long File Name, LFN ) в кодировке UTF-16LE , при этом LFN хранятся одновременно с именами в формате 8.3, ретроспективно называемыми SFN (англ. Short File Name ). LFN нечувствительны к регистру при поиске, однако, в отличие от SFN, которые хранятся в верхнем регистре, LFN сохраняют регистр символов, указанный при создании файла.

Структура системы FAT

В файловой системе FAT смежные секторы диска объединяются в единицы, называемые кластерами . Количество секторов в кластере равно степени двойки (см. далее). Для хранения данных файла отводится целое число кластеров (минимум один), так что, например, если размер файла составляет 40 байт, а размер кластера 4 кбайт, реально занят информацией файла будет лишь 1 % отведенного для него места. Для избежания подобных ситуаций целесообразно уменьшать размер кластеров, а для сокращения объёма адресной информации и повышения скорости файловых операций — наоборот. На практике выбирают некоторый компромисс. Так как емкость диска вполне может и не выражаться целым числом кластеров, обычно в конце тома присутствуют т. н. surplus sectors — «остаток» размером менее кластера, который не может отводиться ОС для хранения информации.

Пространство тома FAT32 логически разделено на три смежные области:

  • Зарезервированная область. Содержит служебные структуры, которые принадлежат загрузочной записи раздела (Partition Boot Record — PBR, для отличия от Master Boot Record — главной загрузочной записи диска; также PBR часто некорректно называется загрузочным сектором) и используются при инициализации тома;
  • Область таблицы FAT, содержащая массив индексных указателей («ячеек»), соответствующих кластерам области данных. Обычно на диске представлено две копии таблицы FAT в целях надежности;
  • Область данных, где записано собственно содержимое файлов — то есть текст текстовых файлов, кодированное изображение для файлов рисунков, оцифрованный звук для аудиофайлов и т. д. — а также т. н. метаданные — информация относительно имен файлов и папок, их атрибутов, времени создания и изменения, размеров и размещения на диске.

В FAT12 и FAT16 также специально выделяется область корневого каталога. Она имеет фиксированное положение (непосредственно после последнего элемента таблицы FAT) и фиксированный размер в секторах.

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

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

Загрузочная запись

Первая структура тома FAT называется BPB (англ. BIOS parameter block ) и расположена в зарезервированной области, в нулевом секторе. Эта структура содержит информацию, идентифицирующую тип файловой системы и физические характеристики носителя (дискеты или раздела на жёстком диске).

BIOS Parameter Block

BPB в принципе отсутствовал в FAT, обслуживавшей MS-DOS 1.x, так как в то время предполагалось лишь два различных типа тома — одно- и двусторонние пятидюймовые дискеты на 360 кб, причём формат тома определялся по первому байту области FAT. BPB был введен в MS-DOS 2.x в начале 1983 года как обязательная структура загрузочного сектора, по которой впредь следовало определять формат тома; старая схема определения по первому байту FAT лишилась поддержки. Также в MS-DOS 2.0 была введена иерархия файлов и папок (до этого все файлы хранились в корневом каталоге).

Структура BPB в MS-DOS 2.x содержала 16-битное поле «общего количества секторов», что означало принципиальную неприменимость этой версии FAT для томов объёмом более 2 16 = 65 536 секторов, то есть более 32 Мб при стандартном размере сектора 512 байт. В MS-DOS 4.0 (1988) вышеназванное поле BPB было расширено до 32 бит, что означало увеличение теоретического размера тома до 2 32 = 4 294 967 296 секторов, то есть до 2 ТБ при 512-байтном секторе.

Следующая модификация BPB появилась вместе с Windows 95 OSR2, в которой была введена FAT32 (в августе 1996 года). Было снято двухгигабайтное ограничение на размер тома, том FAT32 теоретически может иметь размер до 8 Тб. Впрочем, размер каждого отдельного файла при этом не может превышать 4 Гб. BIOS Parameter Block FAT32 в целях совместимости с ранними версиями FAT повторяет BPB FAT16 вплоть до поля BPB_TotSec32 включительно, далее следуют различия.

«Загрузочный сектор» FAT32 в действительности представляет собой три 512-байтных сектора — сектора 0, 1 и 2. Каждый из них содержит сигнатуру 0xAA55 по адресу 0x1FE, то есть в последних двух байтах, в случае если размер сектора равен 512 байт. Если же размер сектора более, чем 512 байт, то сигнатура содержится как по адресу 0x1FE, так и в последних двух байтах нулевого сектора, то есть дублируется.

FSInfo

Загрузочная запись раздела FAT32 содержит структуру под названием FSInfo , используемую для хранения значения числа свободных кластеров тома. FSInfo, как правило, занимает сектор 1 (см. поле BPB_FSInfo) и имеет следующую структуру (адреса относительно начала сектора):

  • FSI_LeadSig. 4-байтовая подпись 0x41615252, свидетельствует, что сектор используется для структуры FSInfo.
  • FSI_Reserved1. Промежуток с 4-го по 483-й байт сектора включительно, обнуляется.
  • FSI_StrucSig. Ещё одна подпись, расположена по адресу 0x1E4 и содержит значение 0x61417272.
  • FSI_Free_Count. Четырёхбайтовое поле по адресу 0x1E8, содержит последнее известное системе значение числа свободных кластеров тома. Значение 0xFFFFFFFF означает, что число свободных кластеров неизвестно и должно вычисляться.
  • FSI_Nxt_Free. Четырёхбайтовое поле по адресу 0x1EC, содержит номер кластера, от которого должен начинаться поиск свободных кластеров по таблице индексных указателей. Обычно это поле содержит номер последнего кластера FAT, отведенного для хранения файла. Значение 0xFFFFFFFF означает, что поиск свободного кластера должен проводиться с самого начала таблицы FAT, то есть со второго кластера.
  • FSI_Reserved2. Зарезервированное 12-байтное поле по адресу 0x1F0.
  • FSI_TrailSig. Подпись 0xAA550000 — последние 4 байта сектора FSInfo.

Смысл введения FSInfo в оптимизации работы системы, так как в FAT32 таблица индексных указателей может иметь значительные размеры и её побайтовый просмотр может занять значительное время. Однако значения полей FSI_Free_Count и FSI_Nxt_Free могут не соответствовать действительности и должны проверяться на адекватность. Кроме того, они даже не обновляются в резервной копии FSInfo, расположенной, как правило, в секторе 7.

Определение типа FAT тома

Определение типа FAT тома (то есть выбор между FAT12, FAT16 и FAT32) производится ОС по количеству кластеров в томе, которое в свою очередь определяется из полей BPB. Прежде всего вычисляется количество секторов корневого каталога:

RootDirSectors = (BPB_RootEntCnt * 32) / BPB_BytsPerSec

DataSec = TotSec — (BPB_ResvdSecCnt + (BPB_NumFATs * FATSz) + RootDirSectors)

Наконец, определяется количество кластеров области данных:

CountofClusters = DataSec / BPB_SecPerClus

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

  • CountofClusters
  • CountofClusters = 4085 ÷ 65524 — FAT16
  • CountofClusters > 65524 — FAT32

Согласно официальной спецификации, это единственный допустимый способ определения типа FAT. Искусственное создание тома, нарушающего указанные правила соответствия, приведет к его некорректной обработке Windows. Тем не менее, рекомендуется избегать значений CountofClusters, близких к критическим (4085 и 65525), для верного определения типа файловой системы любыми, часто некорректно написанными драйверами.

Со временем FAT стали широко использовать в различных устройствах для совместимости между DOS, Windows, OS/2, Linux. Майкрософт не выказывала намерений принуждать к их лицензированию [уточнить ] .

В феврале 2009 года Майкрософт подала в суд на компанию TomTom , производителя автомобильных навигационных систем на основе Linux , обвиняя её в нарушении патентов.

Примечания

  1. http://cd.textfiles.com/megademo2/INFO/OS2_HPFS.TXT
  2. www.microsoft.com/mscorp/ip/tech/fathist.asp в archive.org
  3. Microsoft Extensible Firmware Initiative FAT32 File System Specification 1.03 . Microsoft (6 декабря 2000). — Документа в формате Microsoft Word, 268 Кб. Архивировано
  4. What About VFAT? . TechNet Archive . Microsoft (15 октября 1999). Архивировано из первоисточника 22 августа 2011. Проверено 5 апреля 2010.
  5. Не следует путать расширение файловой системы VFAT с одноимённым драйвером файловой системы, который появился в Windows for Workgroups 3.11 и предназначен для обработки вызовов функций MS-DOS (INT 21h) в защищённом режиме (см.: KB126746: Windows for Workgroups Version History . VERSION 3.11 → Non-Network Features . Microsoft (14 ноября 2003). Архивировано из первоисточника 22 августа 2011. Проверено 5 апреля 2010. )
  6. Federal Patent Court declares FAT patent of Microsoft null and void (англ.) . heise online . Heise Zeitschriften Verlag (2 марта 2007). Архивировано
  7. Brian Kahin. Microsoft Roils the World with FAT Patents (англ.) . The Huffington Post (10 марта 2009). Архивировано из первоисточника 22 августа 2011. Проверено 10 марта 2009.
  8. Ryan Paul. Microsoft suit over FAT patents could open OSS Pandora»s Box (англ.) . Ars Technica . Condé Nast Publications (25 февраля 2009). Архивировано
  9. Glyn Moody. (англ.) . ComputerworldUK . IDG (5 марта 2009). Архивировано из первоисточника 22 августа 2011. Проверено 9 марта 2009.
  10. Steven J. Vaughan-Nichols. Linux companies sign Microsoft patent protection pacts (англ.) . Блоги Computerworld . IDG (5 марта 2009). Архивировано из первоисточника 22 августа 2011. Проверено 9 марта 2009.
  11. Erica Ogg. TomTom countersues Microsoft in patent dispute (англ.) . CNet (19 марта 2009). Архивировано из первоисточника 22 августа 2011. Проверено 20 марта 2009.

Ссылки

  • ECMA-107 (англ.) стандарт FAT

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

FAT16

Файловая система FAT16 начала свое существование еще во времена, предшествовавшие MS-DOS, и поддерживается всеми операционными системами Microsoft для обеспечения совместимости. Ее название File Allocation Table (таблица расположения файлов) отлично отражает физическую организацию файловой системы, к основным характеристикам которой можно отнести то, что максимальный размер поддерживаемого тома (жесткого диска или раздела на жестком диске) не превышает 4095 Мбайт. Во времена MS-DOS 4-гигабайтные жесткие диски казались несбыточной мечтой (роскошью были диски объемом 20-40 Мбайт), поэтому такой запас был вполне оправданным.

Том, отформатированный для использования FAT16, разделяется на кластеры. Размер кластера по умолчанию зависит от размера тома и может колебаться от 512 байт до 64 Кбайт. В табл. 2 показано, как размер кластера зависит от размера тома. Отметим, что размер кластера может отличаться от значения по умолчанию, но должен иметь одно из значений, указанных в табл. 2 .

Не рекомендуется задействовать файловую систему FAT16 на томах больше 511 Мбайт, так как для относительно небольших по объему файлов дисковое пространство будет использоваться крайне неэффективно (файл размером в 1 байт будет занимать 64 Кбайт). Независимо от размера кластера файловая система FAT16 не поддерживается для томов больше 4 Гбайт.

FAT32

Начиная с Microsoft Windows 95 OEM Service Release 2 (OSR2) в Windows появилась поддержка 32-битной FAT. Для систем на базе Windows NT эта файловая система впервые стала поддерживаться в Microsoft Windows 2000. Если FAT16 может поддерживать тома объемом до 4 Гбайт, то FAT32 способна обслуживать тома объемом до 2 Тбайт. Размер кластера в FAT32 может изменяться от 1 (512 байт) до 64 секторов (32 Кбайт). Для хранения значений кластеров FAT32 требуется 4 байт (32 бит, а не 16, как в FAT16). Это означает, в частности, что некоторые файловые утилиты, рассчитанные на FAT16, не могут работать с FAT32.

Основным отличием FAT32 от FAT16 является то, что изменился размер логического раздела диска. FAT32 поддерживает тома объемом до 127 Гбайт. При этом, если при использовании FAT16 с 2-гигабайтными дисками требовался кластер размером в 32 Кбайт, то в FAT32 кластер размером в 4 Кбайт подходит для дисков объемом от 512 Мбайт до 8 Гбайт (табл. 4).

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

При применении FAT32 максимальный размер файла может достигать 4 Гбайт минус 2 байта. Если при использовании FAT16 максимальное число вхождений в корневой каталог ограничивалось 512, то FAT32 позволяет увеличить это число до 65 535.

FAT32 накладывает ограничения на минимальный размер тома — он должен быть не менее 65 527 кластеров. При этом размер кластера не может быть таким, чтобы FAT занимала более 16 Мбайт–64 Кбайт / 4 или 4 млн. кластеров.

При использовании длинных имен файлов данные, необходимые для доступа из FAT16 и FAT32, не перекрываются. При создании файла с длинным именем Windows создает соответствующее имя в формате 8.3 и одно или более вхождений в каталог для хранения длинного имени (по 13 символов из длинного имени файла на каждое вхождение). Каждое последующее вхождение хранит соответствующую часть имени файла в формате Unicode. Такие вхождения имеют атрибуты «идентификатор тома», «только чтение», «системный» и «скрытый» — набор, который игнорируется MS-DOS; в этой операционной системе доступ к файлу осуществляется по его «псевдониму» в формате 8.3.

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

В состав Microsoft Windows 2000 входит поддержка новой версии файловой системы NTFS, которая, в частности, обеспечивает работу с сервисами каталогов Active Directory, точки пересчета (reparse points), средства защиты информации, контроль за доступом и ряд других возможностей.

Как и при использовании FAT, основной информационной единицей в NTFS является кластер. В табл. 5 показаны размеры кластеров по умолчанию для томов различной емкости.

При формировании файловой системы NTFS программа форматирования создает файл Master File Table (MTF) и другие области для хранения метаданных. Метаданные используются NTFS для реализации файловой структуры. Первые 16 записей в MFT зарезервированы самой NTFS. Местоположение файлов метаданных $Mft и $MftMirr записано в загрузочном секторе диска. Если первая запись в MFT повреждена, NTFS считывает вторую запись для нахождения копии первой. Полная копия загрузочного сектора располагается в конце тома. В табл. 6 перечислены основные метаданные, хранимые в MFT.

Остальные записи MFT содержат записи для каждого файла и каталога, расположенных на данном томе.

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

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

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

Если атрибуты файла вмещаются в файловую запись, они называются резидентными атрибутами. Такими атрибутами всегда являются имя файла и дата его создания. В тех случаях, когда информация о файле слишком велика, чтобы вместиться в одну MFT-запись, некоторые атрибуты файла становятся нерезидентными. Резидентные атрибуты хранятся в одном или более кластерах и представляют собой поток альтернативных данных для текущего тома (об этом — чуть ниже). Для описания местонахождения резидентных и нерезидентных атрибутов NTFS создает атрибут Attribute List.

В табл. 7 показаны основные атрибуты файлов, определенные в NTFS. В будущем этот список может быть расширен.

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

В Windows 2000 обеспечивается поддержка файловой системы CDFS, отвечающей стандарту ISO’9660, описывающему расположение информации на CD-ROM. Поддерживаются длинные имена файлов в соответствии с ISO’9660 Level 2.

При создании CD-ROM для использования под управлением Windows 2000 следует иметь в виду следующее:

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

Сравнение файловых систем

Под управлением Microsoft Windows 2000 возможно использование файловых систем FAT16, FAT32, NTFS или их комбинаций. Выбор операционной системы зависит от следующих критериев:

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

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

Как вы уже могли заметить, цифры в названии файловых систем — FAT16 и FAT32 — указывают на число бит, необходимых для хранения информации о номерах кластеров, используемых файлом. Так, в FAT16 применяется 16-битная адресация и, соответственно, возможно использование до 2 16 адресов. В Windows 2000 первые четыре бита таблицы расположения файлов FAT32 необходимы для собственных нужд, поэтому в FAT32 число адресов достигает 2 28 .

В табл. 8 показаны размеры кластеров для файловых систем FAT16 и FAT32.

Помимо существенных отличий в размере кластера FAT32 также позволяет корневому каталогу расширяться (в FAT16 число вхождений ограничено 512 и может быть даже ниже при использовании длинных имен файлов).

Преимущества FAT16

Среди преимуществ FAT16 можно отметить следующие:

  • файловая система поддерживается операционными системами MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, а также некоторыми операционными системами UNIX;
  • существует большое число программ, позволяющих исправлять ошибки в этой файловой системе и восстанавливать данные;
  • при возникновении проблем с загрузкой с жесткого диска система может быть загружена с флоппи-диска;
  • данная файловая система достаточно эффективна для томов объемом менее 256 Мбайт.
Недостатки FAT16

К основным недостаткам FAT16 относятся:

  • корневой каталог не может содержать более 512 элементов. Использование длинных имен файлов существенно сокращает число этих элементов;
  • FAT16 поддерживает не более 65 536 кластеров, а так как некоторые кластеры зарезервированы операционной системой, число доступных кластеров — 65 524. Каждый кластер имеет фиксированный размер для данного логического устройства. При достижении максимального числа кластеров при их максимальном размере (32 Кбайт) максимальный объем поддерживаемого тома ограничивается 4 Гбайт (под управлением Windows 2000). Для поддержания совместимости с MS-DOS, Windows 95 и Windows 98 объем тома под FAT16 не должен превышать 2 Гбайт;
  • в FAT16 не поддерживается встроенная защита файлов и их сжатие;
  • на дисках большого объема теряется много места за счет того, что используется максимальный размер кластера. Место под файл выделяется исходя из размера не файла, а кластера.
Преимущества FAT32

Среди преимуществ FAT32 можно отметить следующие:

  • выделение дискового пространства выполняется более эффективно, особенно для дисков большого объема;
  • корневой каталог в FAT32 представляет собой обычную цепочку кластеров и может находиться в любом месте диска. Благодаря этому FAT32 не накладывает никаких ограничений на число элементов в корневом каталоге;
  • за счет использования кластеров меньшего размера (4 Кбайт на дисках объемом до 8 Гбайт) занятое дисковое пространство обычно на 10-15% меньше, чем под FAT16;
  • FAT32 является более надежной файловой системой. В частности, она поддерживает возможность перемещения корневого каталога и использования резервной копии FAT. Помимо этого загрузочная запись содержит ряд критичных для файловой системы данных.
Недостатки FAT32

Основные недостатки FAT32:

  • размер тома при использовании FAT32 под Windows 2000 ограничен 32 Гбайт;
  • тома FAT32 недоступны из других операционных систем — только из Windows 95 OSR2 и Windows 98;
  • не поддерживается резервная копия загрузочного сектора;
  • в FAT32 не поддерживается встроенная защита файлов и их сжатие.

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

При работе в Windows 2000 Microsoft рекомендуется отформатировать все разделы жесткого диска под NTFS, за исключением тех конфигураций, когда используется несколько операционных систем (кроме Windows 2000 и Windows NT). Применение NTFS вместо FAT позволяет использовать функции, доступные в NTFS. К ним, в частности, относятся:

  • возможность восстановления. Эта возможность «встроена» в файловую систему. NTFS гарантирует сохранность данных за счет того, что использует протокол и некоторые алгоритмы восстановления информации. В случае системного сбоя NTFS использует протокол и дополнительную информацию для автоматического восстановления целостности файловой системы;
  • сжатие информации. Для томов NTFS Windows 2000 поддерживает сжатие отдельных файлов. Такие сжатые файлы могут использоваться Windows-приложениями без предварительной распаковки, которая происходит автоматически при чтении из файла. При закрытии и сохранении файл снова упаковывается;
  • помимо этого можно выделить следующие преимущества NTFS:

Некоторые функции операционной системы требуют наличия NTFS;

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

Защита файлов и каталогов. Только на томах NTFS возможно задание атрибутов доступа к файлам и папкам;

При использовании NTFS Windows 2000 поддерживает тома объемом до 2 Тбайт;

Файловая система поддерживает резервную копию загрузочного сектора — она располагается в конце тома;

NTFS поддерживает систему шифрования Encrypted File System (EFS), обеспечивающую защиту от неавторизованного доступа к содержимому файлов;

При использовании квот можно ограничить объем дискового пространства, занимаемого пользователями.

Недостатки NTFS

Говоря о недостатках файловой системы NTFS, следует отметить, что:

  • NTFS-тома недоступны в MS-DOS, Windows 95 и Windows 98. Помимо этого ряд функций, реализованных в NTFS под Windows 2000, недоступен в Windows 4.0 и более ранних версиях;
  • для томов небольшого объема, содержащих много файлов небольшого размера, возможно снижение производительности по сравнению с FAT.

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

Как мы уже выяснили, для томов небольшого объема FAT16 или FAT32 обеспечивает более быстрый доступ к файлам по сравнению с NTFS, так как:

  • FAT обладает более простой структурой;
  • размер каталогов меньше;
  • FAT не поддерживает защиту файлов от несанкционированного доступа — системе не нужно проверять права доступа к файлам.

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

Одно вхождение в FAT содержит номер кластера для первого кластера каталога. Для просмотра файла FAT требуется поиск по всей файловой структуре.

Сравнивая скорость операций, выполняемых для каталогов, содержащих короткие и длинные имена файлов, следует учитывать, что скорость операций для FAT зависит от самой операции и размера каталога. Если FAT ищет несуществующий файл, поиск выполняется по всему каталогу — эта операция занимает больше времени, чем поиск по структуре, основанной на B-деревьях, используемой в NTFS. Среднее время, необходимое для поиска файла, в FAT выражается как функция от N/2, в NTFS — как log N, где N — это число файлов.

Ряд следующих факторов влияет на скорость чтения и записи файлов под управлением Windows 2000:

  • фрагментация файла. Если файл сильно фрагментирован, NTFS обычно требуется меньше обращений к диску, чем FAT для нахождения всех фрагментов;
  • размер кластера. Для обеих файловых систем размер кластера по умолчанию зависит от объема тома и всегда выражается степенью числа 2. Адреса в FAT16 — 16-битные, в FAT32 — 32-битные, в NTFS — 64-битные;
  • размер кластера по умолчанию в FAT базируется на том факте, что таблица расположения файлов может иметь не более 65 535 вхождений — размер кластера представляет собой функцию от объема тома, деленного на 65 535. Таким образом, размер кластера по умолчанию для тома FAT всегда больше, чем размер кластера для тома NTFS того же объема. Отметим, что больший размер кластера для томов FAT означает, что тома FAT могут быть менее фрагментированными;
  • расположение файлов небольшого размера. При использовании NTFS файлы небольшого размера содержатся в MFT-записи. Размер файла, помещающегося в одну запись MFT, зависит от числа атрибутов этого файла.

Максимальный размер томов NTFS

Теоретически NTFS поддерживает тома с числом кластеров до 2 32 . Но тем не менее помимо отсутствия жестких дисков такого объема существуют и другие ограничения на максимальный размер тома.

Одним из таких ограничений является таблица разделов. Индустриальные стандарты ограничивают размер таблицы разделов 2 32 секторами. Другим ограничением является размер сектора, который обычно равен 512 байт. Поскольку размер сектора может измениться в будущем, текущий размер дает ограничение на размер одного тома — 2 Тбайт (2 32 x 512 байт = 2 41). Таким образом, 2 Тбайт является практическим пределом для физических и логических томов NTFS.

В табл. 11 показаны основные ограничения NTFS.

Управление доступом к файлам и каталогам

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

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

Под управлением FAT16 и FAT32 тоже возможно устанавливать атрибуты файлов, но они не обеспечивают права доступа к файлам.

В версии NTFS, используемой в Windows 2000, появился новый тип разрешения на доступ — наследуемые разрешения. Вкладка Security содержит опцию Allow inheritable permissions from parent to propagate to this file object , которая по умолчанию находится в активном состоянии. Данная опция существенно сокращает время, требуемое на изменение прав доступа к файлам и подкаталогам. Например, для изменения прав доступа к дереву, содержащему сотни подкаталогов и файлов, достаточно включить эту опцию — в Windows NT 4 необходимо изменить атрибуты каждого отдельного файла и подкаталога.

На рис. 5 показаны диалоговая панель Properties и вкладка Security (раздел Advanced) — перечислены расширенные права доступа к файлу.

Напомним, что для томов FAT можно управлять доступом только на уровне томов и такой контроль возможен только при удаленном доступе.

Сжатие файлов и каталогов

В Windows 2000 поддерживается сжатие файлов и каталогов, расположенных на NTFS-томах. Сжатые файлы доступны для чтения и записи любыми Windows-приложениями. Для этого нет необходимости в их предварительной распаковке. Используемый алгоритм сжатия схож с тем, который используется в DoubleSpace (MS-DOS 6.0) и DriveSpace (MS-DOS 6.22), но имеет одно существенное отличие — под управлением MS-DOS выполняется сжатие целого первичного раздела или логического устройства, тогда как под NTFS можно упаковывать отдельные файлы и каталоги.

Алгоритм сжатия в NTFS разработан с учетом поддержки кластеров размером до 4 Кбайт. Если величина кластера больше 4 Кбайт, функции сжатия NTFS становятся недоступными.

Самовосстановление NTFS

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

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

Под управлением NTFS также выполняются операции, позволяющие «на лету» определять дефектные кластеры и отводить новые кластеры для файловых операций. Этот механизм называется cluster remapping.

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

КомпьютерПресс 7″2000

До возникновения операционной системы Microsoft Windows NT у пользователей персональных компьютеров редко возникала проблема выбора файловой системы. Все владельцы операционных систем (ОС) MS-DOS и Microsoft Windows применяли одну из разновидностей файловой системы с названием FAT (FAT-12, FAT-16 или FAT-32).

Теперь же ситуация изменилась. Устанавливая ОС Microsoft Windows NT/2000/XP, при форматировании диска Вам необходимо сделать выбор между тремя файловыми системами — FAT-16, FAT-32 или NTFS.

В этой статье мы расскажем о внутреннем устройстве перечисленных файловых систем, рассмотрим присущие им недостатки и достоинства. Вооружившись этими знаниями, Вы сможете сделать осознанный выбор в пользу той или иной файловой системы для ОС Microsoft Windows.

Кратко о файловой системе FAT

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

Информация хранится на дисках и дискетах порциями, в секторах размером 512 байт. Все пространство дискеты разделялось на области фиксированной длины, называемые кластерами. Кластер может содержать один или больше секторов.

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

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

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

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

При разработке формата таблицы FAT стояла задача экономии места, т.к. дискета имеет весьма небольшой объем (от 180 Кбайт до 2,44 Мбайт). Поэтому для хранения номеров кластера было отведено всего 12 двоичных разрядов. В результате таблицу FAT удалось упаковать так плотно, что она занимала всего один сектор дискеты.

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

Различные версии FAT

После появления жестких дисков большого объема (в те времена большими считались диски размером 10-20 Мбайт) количество кластеров увеличилось, и 12 разрядов стало недостаточно для хранения их номеров. Был разработан новый 16-разрядный формат таблицы размещения файлов, где для хранения номера одного кластера выделялось два байта. Старая файловая система, разработанная для дискет, стала называться FAT-12, а новая — FAT-16.

Увеличенная в размерах таблица FAT-16 перестала помещаться в одном секторе, однако при больших объемах диска этот недостаток не играл существенной роли. По-прежнему для страховки на диске хранилось две копии таблицы FAT.

Однако когда объем диска стал измеряться в сотнях Мбайт и даже в гигабайтах, файловая система FAT-16 опять стала неэффективной. Чтобы номера кластеров помещались в 16 разрядов, при форматировании дисков большого объема приходится увеличивать размер кластера до 16 Кбайт и даже больше. Это вызывало проблемы при необходимости хранения на диске большого количества маленьких файлов. Так как пространство для хранения файлов выделяется кластерами, даже для очень маленького файла приходится отводить слишком много дисковой памяти.

В результате была предпринята еще одна, по всей видимости, последняя попытка усовершенствования файловой системы FAT — размер ячейки таблицы размещения файлов был увеличен до 32. Это позволило форматировать диски размером в сотни Мбайт и единицы Гбайт с использованием относительно небольшого размера кластера. Новая файловая система стала называться FAT-32.

Стандарт 8.3

До появления ОС Microsoft Windows 95 пользователи персональных компьютеров были вынуждены использовать для именования файлов весьма неудобный «стандарт 8.3», в котором имя файла должно было состоять из 8 символов плюс 3 символа расширения. Это ограничение накладывалось не только программным интерфейсом операционной системы MS-DOS, но и структурой записи каталога файловой системы FAT.

После модификации структуры записей каталога ограничение на количество символов в имени файла было практически снято. Теперь длина имени файла может достигать 255 символов, что, очевидно, достаточно в большинстве случаев. Однако такая модифицированная файловая система FAT стала несовместима с операционной системой MS-DOS, а также с работающей в ее среде оболочкой Microsoft Windows версий 3.1 и 3.11.

Более подробно о форматах внутренних структур FAT Вы можете прочитать в нашей статье «Восстановление данных в разделах FAT», опубликованных на этом сайте.

Ограничения файловой системы FAT

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

Максимальный размер логического диска FAT-16 составляет 4 Гбайт, что очень мало по современным понятиям. Компания Microsoft, однако, не рекомендует создавать диски FAT-16 размером более 200 Мбайт, т.к. при этом дисковое пространство будет использоваться очень неэффективно.

Теоретически максимальный размер диска FAT-32 может составлять 8 Тбайт, что должно хватить для развертывания любых современных приложений. Это значение получается путем перемножения максимального количества кластеров (268 435 445) на максимальный размер кластера, допустимый в FAT-32 (32 Кбайт).

Однако на практике ситуация выглядит немного по-другому.

Из-за внутренних ограничений утилита ScanDisk в ОС Microsoft 95/98 не способна работать с дисками, превышающими по своему объему значение 127.53 Гбайт. Еще год назад такое ограничение не вызвало бы проблем, однако сегодня на рынке уже появились недорогие диски объемом 160 Гбайт, и скоро их объем будет еще больше.

Что же касается новых операционных систем Microsoft Windows 2000/XP, то они не способны создавать разделы FAT-32 с объемом, превышающим 32 Гбайт. Если Вам нужны разделы такого или большего объема, компания Microsoft предложит Вам использовать файловую систему NTFS.

Другое существенное ограничение FAT-32 накладывается на размер файлов — он не может превышать 4 Гбайт. Это ограничение будет сказываться, например, при записи на диск видеофрагментов или при создании объемных файлов баз данных.

В каталоге FAT-32 может хранить не более 65534 файлов.

Недостатки FAT

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

Загрузив компьютер с системной дискеты, злоумышленник легко получит доступ к любым файлам, хранящимся на дисках с файловой системой FAT. Ему не составит никакого труда скопировать затем эти файлы на устройство ZIP или какой-либо другой внешний носитель данных.

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

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

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

Современная файловая система NTFS, разработанная компанией Microsoft для своей операционной системы Microsoft Windows NT, лишена ограничений и недостатков FAT. С момента своего возникновения развивающаяся файловая система NTFS претерпела несколько усовершенствований, последние из которых (на момент создания этой статьи) были сделаны в ОС Microsoft Windows XP.

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

Файлы небольшого размера (порядка сотен байт) хранятся непосредственно в $MFT, что существенно ускоряет доступ к ним.

Заметим, однако, что накладные расходы NTFS на хранение системной информации, хотя и превышают накладные расходы FAT, все же не очень велики по сравнению с объемом современных дисков. Из-за того, что файл $MFT обычно располагается ближе к середине диска, разрушение первых дорожек диска NTFS не приводит к таким фатальным последствиям, как разрушение начальных областей диска FAT.

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

Перечислим некоторые, наиболее интересные возможности NTFS современных версий.

Средства разграничения доступа

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

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

Шифрование файлов

Упомянутые выше средства разграничения доступа окажутся бесполезными, если физический диск NTFS попадет в руки злоумышленнику. С использованием современных утилит содержимое такого диска может быть без особого труда прочитано в среде любой операционной системе — DOS, Microsoft Windows или Linux.

С целью обезопасить фалы пользователей от несанкционированного доступа, в операционных системах Microsoft Windows 2000/XP предусмотрено дополнительное шифрование файлов, хранящихся в разделах NTFS. И хотя стойкость такого шифрования, возможно, не слишком высока, она вполне достаточна в большинстве случаев.

Программный дисковый массив RAID

Средствами NTFS можно создать так называемый программный массив RAID 1 (Mirrored set). Этот массив, составляемый из двух физических или логических дисков одинакового объема, позволяет дублировать (или, как еще говорят, «зеркалировать») файлы.

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

Наборы Volume Set

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

Наборы, созданные из нескольких разделов или физических дисков, называются Volume Set (в терминологии ОС Microsoft Windows NT) или Spanned Volume (в терминологии ОС Windows 2000/XP).

Упаковка файлов

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

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

Многопоточные файлы

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

Жесткие связи

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

Заметим, что подобные возможности характерны для файловых систем, применяемых в Unix-подобных ОС, например, в Linux, FreeBSD и т.д.

Точки переопределения

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

Переходы

Пользуясь переходами NTFS, можно смонтировать в каталог диска другой жесткий диск или компакт-диск. Эта возможность первоначально существовала в файловых системах Unix-подобных ОС.

Квотирование дискового пространства

Файловая система NTFS, использованная в ОС Microsoft Windows 2000/XP, позволяет квотировать, или ограничивать дисковое пространство, предоставляемое в распоряжение пользователей. Такая возможность особенно полезна при создании файловых серверов.

Ведение журнала изменений

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

Ограничения NTFS

Несмотря на обилие возможностей, файловой системе NTFS также присущи некоторые ограничения. Впрочем, в большинстве случаев они не играют существенной роли.

Максимальный размер логического диска NTFS составляет примерно 18 446 744 Тбайт, что, очевидно, достаточно для всех современных приложений, а также приложений, которые появятся в ближайшем будущем. Максимальный размер файла еще больше, так что это ограничение также несущественно.

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

Сравнение NTFS и FAT по скорости доступа к файлам

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

Так как принципы работы и внутренние структуры FAT намного проще, чем NTFS, при работе с небольшими каталогами FAT будет, скорее всего, быстрее. Однако если содержимое каталога настолько мало, что он полностью помещается в одну или несколько записей файла $MFT, или напротив, если каталог очень большой, «победит» NTFS.

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

Для увеличения производительности NTFS можно увеличить размер кластера, однако это может привести к неэкономному использованию дискового пространства при хранении большого количества файлов, размер которых превышает 1-2 Кбайт и составляет десятки Кбайт. При увеличении размера кластера до 64 Кбайт можно получить максимальное повышение производительности, однако придется отказаться от упаковки файлов и применения утилит дефрагментации.

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

Так что же выбрать — FAT или NTFS?

Как видите, NTFS имеет многочисленные преимущества перед FAT, а ее ограничения в большинстве случаев несущественны. Если Вы стоите перед выбором файловой системы, рассмотрите в первую очередь возможность использования NTFS, и только потом — FAT.

Какие могут быть препятствия, затрудняющие замену FAT на NTFS?

Наиболее серьезное препятствие — необходимость использования ОС Microsoft Windows NT/2000/XP. Для нормальной работы этой ОС требуется как минимум 64 Мбайт оперативной памяти и процессор с тактовой частотой не ниже 200-300 Мгц. Впрочем, этим требованиям не удовлетворяют лишь очень старые компьютеры, не способные работать под управлением ОС Microsoft Windows современных версий.

Если же Ваш компьютер может работать в среде Microsoft Windows 2000/XP, и у Вас нет ни одного прикладного приложения, рассчитанного исключительно на ОС Microsoft Windows 95/98/ME, мы рекомендуем Вам при первой же возможности перейти к новой операционной системе, заменив при этом FAT на NTFS.

При этом Вы также получите заметное увеличение надежности работы, т.к. после установки всех необходимых пакетов исправлений (Service Pack), а также корректных версий драйверов периферийных устройств, ОС Microsoft Windows 2000/XP будет работать очень стабильно.

В некоторых случаях приходится совмещать в рамках одного физического диска несколько файловых систем. Например, если на Вашем компьютере установлено три операционные системы Microsoft Windows ME, Microsoft Windows XP и Linux, можно создать три файловые системы — FAT, NTFS и Ext2FS. Первая из них будет «видна» при работе в Microsoft Windows ME и Linux, вторая — только в Microsoft Windows XP, и третья — только в Linux (заметим, что в ОС LINUX существует также возможность доступа к разделам NTFS).

Но если Вы создаете сервер (файловый, базы данных или Web) на базе ОС Microsoft Window NT/2000/XP, то единственным разумным выбором будет NTFS. Только в этом случае удастся добиться необходимой стабильности, надежности и защищенности сервера.

Существует также общепринятое (и на наш взгляд, ошибочное) мнение, что домашним пользователям компьютеров не нужна ни ОС Microsoft Window NT/2000/XP, ни файловая система NTFS.

Конечно, если компьютер применяется исключительно для игр, из соображений совместимости лучше всего установить Microsoft Windows 98/ME и отформатировать диски в FAT. Однако если Вы работаете не только в офисе, но и дома, лучше использовать современные, профессиональные и надежные решения. Это позволит, в частности, организовать защиту от вторжения на Ваш компьютер через Интернет, ограничить доступ к каталогам и файлам с критичными данными, а также повысит шансы на успешное восстановление информации при возникновении различного рода сбоев.

Глава 2. Понятия и обзор LDAP

Если Вы уже понимаете, что из себя представляет LDAP, для каких целей он подходит, что такое схемы данных, объектные классы, атрибуты, правила соответствия, операционные объекты и вся эта кухня — можете пропустить этот раздел. Однако, если Вы собираетесь делать нечто большее, чем вслепую следовать рецептам HOWTO, Вы должны понимать все эти вещи.

LDAP и X.500 имеют много общих терминов, некоторые из них важны, некоторые — просто ерунда. Для Вашего удобства мы создали глоссарий. Термины в него включены либо потому, что они важны, либо потому, что они часто используются в литературе.

2.1 Краткая история LDAP
2.2 Обзор LDAP
2.3 LDAP и базы данных
2.3.1 Использование LDAP — резюме
2.4 Модель данных (объектная модель) LDAP

2.4.1 Структура дерева объектов
2.4.2 Объектные классы
2.4.3 Атрибуты
2.4.4 Описание дерева путём добавление записей (данных)
2.4.5 Навигация по дереву

2.5 Отсылки и репликация LDAP

2.5.1 Отсылки
2.5.2 Репликация

Небольшое замечание о чувствительности к регистру в LDAP: здесь есть некоторая путаница, по крайней мере, мы считаем это путаницей. По правде говоря, путаниц тут хватает на каждом шагу. Единственные чувствительные к регистру вещи в LDAP — это пароли и содержимое отдельных (очень малоизвестных) атрибутов, в зависимости от их правил соответствия. Всё. В этой и других документациях Вы будете встречать и objectclass, и objectClass, и даже ObjectClass. Все эти формы работают. Точка. После первых шести лет изучения LDAP (шутка, конечно, хватит и четырёх) Вы уже не будете хвататься за сердце всякий раз, когда Вам доведётся опечататься в каком-нибудь имени. Итак, использование «верблюжьей» нотации — это, возможно, и неплохая практика, но даже если Вы где-то ошибётесь, солнце не упадёт на землю.

О букве D в LDAP: официально буква D в аббревиатуре LDAP означает Directory (каталог) — Lightweight Directory Access Protocol. Связано это главным образом с историческими истоками LDAP (и его предшественника DAP), которые были ориентированы на взаимодействие с классическими приложениями для работы с каталогом адресов электронной почты типа «белые страницы». Однако, любая терминология в конечном итоге может начать загонять саму себя и тех, кто ею пользуется, в какие-то рамки. Не заблуждайтесь, рассуждая о LDAP, мы говорим о доступе к данным, и если термин Directory ограничивает Ваше мышление из-за существующих ментальных моделей каталогов (наше уж точно ограничивает, хотя, возможно, мы просто сами по себе умственно ограничены), то, размышляя о LDAP, просто мысленно заменяйте его термином Data (данные), и получится Lightweight Data Access Protocol. Только никому не говорите, а то прослывёте вероотступником.

2.1 Краткая история LDAP

Когда-то в тёмном и далёком прошлом (конец 70-х — начало 80-х) ITU (International Telecommunication Union) начал работу над почтовыми стандартами серии X.400. Для этого стандарта требовался каталог имён (и другой информации), который мог бы быть доступен по сети в иерархической манере, схожей с DNS (для тех из Вас, кто знаком с её архитектурой).

Эта потребность в глобальном сетевом каталоге сподвигла ITU к разработке стандартов серии X.500 и, в частности X.519, которые определяют DAP (Directory Access Protocol), протокол для доступа к сетевой службе каталогов.

Серии стандартов X.400 и X.500 разрабатывались как составная часть полного стека OSI и были большими, громоздкими и потребляли много ресурсов. Фактически, стандартная ситуация для ITU.

Перенесёмся в начало 90-х. IETF осознала необходимость доступа к глобальным службам каталогов (первоначально, во многом, по тем же самым причинам хранения адресов электронной почты, что и ITU), но не поднимая при этом всех этих ужасных перенагруженных протоколов (OSI), и начала работу над Lightweight Directory Access Protocol (LDAP). LDAP разрабатывался так, чтобы обеспечить почти столько же функциональности, что и оригинальный стандарт X.519, но с использованием стека протоколов TCP/IP, при этом оставляя возможность взаимодействия с каталогами, основанными на X.500. Действительно, взаимодействие с X.500 (DAP) и его отображение всё ещё является частью серии RFC о LDAP от IETF.

Большинство вопросов в спецификациях LDAP, вызывающих серьёзную головную боль, как раз связаны с обратной совместимостью с X.500 и концепцией глобальной службы каталогов. Самый показательный из них — соглашение об именовании корневой записи.

В широком смысле, LDAP отличается от DAP в следующих аспектах:

  1. В LDAP используется TCP/IP — DAP использует OSI в качестве транспортного/сетевого слоёв.
  2. Некоторое сокращение функциональности — неясные, дублирующиеся и редко используемые функции X.519 (конёк ITU) тихо и благополучно отброшены.
  3. Замена в LDAP некоторых из ASN.1-нотаций (X.519) текстовым представлением (LDAP URL и поисковые фильтры). В этом вопросе IETF не снискала нашей безграничной благодарности: значительное большинство ASN.1-нотаций всё ещё остаются в прежнем виде.

2.2 Обзор LDAP

Технически, LDAP — это всего лишь протокол, определяющий методы, посредством которых осуществляется доступ к данным каталога. Он также определяет и описывает, как данные представлены в службе каталогов (Модель данных или Информационная модель). Наконец, он определяет, каким образом данные загружаются (импортируются) и выгружаются (экспортируются) из службы каталогов (с использованием LDIF). LDAP не определяет, как происходит хранение и манипулирование данными. С точки зрения стандарта хранилище данных и методы доступа к нему — это «чёрный ящик», за который, как правило, отвечают модули back-end (механизмы манипуляции данными) какой-либо конкретной реализации LDAP (обычно в них используется некоторая форма транзакционной базы данных).

LDAP определяет четыре модели, которые мы перечислим и кратко обсудим, а затем Вы можете спокойно забыть о них, поскольку для понимания LDAP они мало что дают.

  1. Информационная модель: мы склонны использовать термин модель данных, на наш взгляд он более интуитивный и понятный. Модель данных (или информационная модель) определяет, каким образом информация или данные представлены в системе LDAP. Это может совпадать или не совпадать с фактическим методом представления данных в хранилище на физическом носителе. Как упоминалось выше, вопрос хранилищ данных лежит за пределами стандартов LDAP.

  2. Модель именования: определяет все вещи наподобие ‘dc=example,dc=com’, с которыми Вы сталкиваетесь в системах LDAP. Здесь мы максимально придерживаемся спецификации, поскольку эти термины используются очень широко.

  3. Функциональная модель: при чтении, поиске, записи или модификации LDAP Вы используете функциональную модель — кто бы мог подумать!

  4. Модель безопасности: Вы можете контролировать, причём весьма детально, кто, что и с какими именно данными может сделать. Это сложная, но мощная штука. Мы постепенно внедрялись в данную концепцию и посвятили ей отдельную главу. На начальном этапе можно забыть о безопасности. Вы всегда можете вернуться и модернизировать безопасность в LDAP. Если модернизация впоследствии будет невозможна, мы будем описывать реализацию безопасности по тексту. Эта модель также включает в себя защиту данных при передаче по сети, такую как TLS/SSL. Хорошая, но на редкость сложная штука.

Сфера стандартов LDAP показана на диаграмме ниже. Обозначенные красным вещи (1, 2, 3, 4) определены в протоколе (различных RFC, определяющих LDAP). Происходящее же в «чёрных ящиках» (или, в данном случае, в зелёных, жёлтых и сиреневых ящиках), а также показанное чёрной стрелкой обращение к базам данных (5) выходит за рамки стандартов.

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

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

  2. Когда Вы общаетесь с сервером LDAP, Вы понятия не имеете, откуда поступают данные: на самом деле одна из ключевых задач стандарта — скрывать такой уровень детализации. Теоретически, данные могут поступать из одной ИЛИ НЕСКОЛЬКИХ локальных баз данных, либо одной или нескольких служб X.500 (в наши дни это большая редкость). Откуда и каким образом Вы будете получать данные — это детали реализации, они важны только на этапе определения рабочей конфигурации Вашего LDAP-сервера (серверов).

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

  4. Ряд коммерческих продуктов баз данных предоставляет LDAP-представление (LDAP-обёртку или LDAP-абстракцию) реляционной базы данных или базы данных другого типа.

2.3 LDAP и базы данных

LDAP характеризуется как сервис «один раз записал — много раз прочитал». Другими словами, от данных, обычно хранящихся в каталоге LDAP, не ожидается, чтобы они менялись при каждом доступе. Для иллюстрации: LDAP не подходит для ведения учета банковских операций, так как они, по своей природе, изменяются почти при каждом доступе (бизнес-транзакции). С другой стороны, LDAP как нельзя лучше подходит для учёта различных аспектов деятельности банка, меняющихся значительно реже: списка отделений, часов работы, сотрудников и т.д.

Оптимизация на чтение

Во фразе «один раз записал — много раз прочитал» до конца не ясно, насколько много это много?

Где проходит грань разумного использования между LDAP и классическими, ориентированными на транзакции реляционными базами данных, к примеру, SQLite, MySQL, PostGreSQL? Если обновление происходит при каждом втором доступе, будет ли разумно использовать в таком приложении LDAP, или нужно, чтобы обновления происходили раз в тысячу или в миллион обращений?

Литература по этой теме крайне редка и имеет тенденцию придерживаться таких беспроигрышных LDAP-приложений, как адресные книги, которые изменяются, возможно, раз в столетие.

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

  1. Увеличение нагрузки при операциях записи происходит из-за обновления индексов. Чем больше индексов (для ускорения поиска), тем, по возможности, реже должны выполняться обновления каталога. Соотношение чтение:запись в хорошо оптимизированных на чтение каталогах должно быть 1000:1 и даже больше. Для умеренно оптимизированных каталогов (2-3 индекса) разумным будет соотношение 500:1 и выше.

  2. Репликация LDAP генерирует несколько транзакций для каждого обновления, таким образом, желательно снизить практическую нагрузку, связанную с обновлениями (следует ориентироваться на соотношение чтение:запись 500:1 или выше).

  3. Если объём данных велик (скажем, больше 100 000 записей), то даже при небольшом количестве индексов время обновления может быть значительным. Поэтому желательно снизить количество обновлений до минимально возможного (10 000:1 или выше).

  4. Если объём данных относительно невелик (скажем, меньше 1000 записей, чего обычно хватает для большинства стандартных применений каталогов LDAP), индексов немного (не более 2-3) и отсутствует репликация, мы не видим рационального объяснения, почему Вы не можете использовать LDAP в форме, приближенной к транзакционной системе, то есть соотношение чтение:запись 5:1 или 10:1. При добавлении репликации более подходящим будет соотношение 50:1 или 100:1.

  5. Мы полагаем, что настоящий ответ на этот вопрос (с уважением к памяти ушедшего от нас Douglas Noel Adams): оптимальное соотношение количества чтений к количеству записей составляет 42!

Представление организации данных

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

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

Синхронизация и репликация данных

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

Главный LDAP-сервер и подчинённые ему серверы (или равноправные ему серверы в среде с несколькими главными серверами (multi-master)) используют простой асинхронный процесс репликации данных. В связи с этим во время цикла репликации возможна рассинхронизация данных в главной и подчинённой (или равноправной) системах. Во время этого (обычно очень короткого) периода времени запрос к главному и подчинённому серверам может дать разные результаты. Если вследствие такого расхождения мир с треском расколется пополам, значит для подобного приложения LDAP не подойдёт. Если же Bob Smith на несколько секунд (или даже меньше) будет числиться в бухгалтерии на одном LDAP-сервере, а на другом — в отделе продаж, вряд ли это кого-то сильно огорчит. В эту категорию попадает удивительно большое количество приложений.

Примечание: Современные реализации LDAP, особенно те, которые поддерживают конфигурации с несколькими главными серверами (Multi-master), становятся всё более изощренными в репликации обновлений. Кроме того, высокоскоростные сети связи позволяют значительно быстрее выполнять операции репликации. Однако, подобные решения всего лишь уменьшают промежуток времени, в течение которого две какие-либо системы будут рассинхронизированы, они не устраняют саму природную особенность LDAP, заключающуюся в возникновении рассинхронизации, даже если в большинстве современных реализаций таковая длится всего лишь доли секунды.

2.3.1 Использование LDAP — резюме

Так в чём же преимущества LDAP (каталогов), и почему каждый здравомыслящий человек будет их использовать?

Прежде чем попытаться ответить на этот вопрос, давайте абстрагируемся от тактических соображений производительности. В целом, реляционные СУБД всё ещё значительно быстрее реализаций LDAP. По мере разработки служб каталогов второго поколения это положение меняется, и, хотя реляционные СУБД всегда будут оставаться быстрее LDAP, разрыв значительно сократился вплоть до точки, в которой различия становятся уже практически несущественными, если, конечно, Вы сравниваете подобное с подобным (единичные сетевые транзакции, а не обновление высокоиндексированного атрибута при каждой операции — в этом случае, не обессудьте, Вы получите (или не получите) ровно столько, сколько заслужили).

Так почему же нужно использовать LDAP? Вот наш список ключевых характеристик, которые делают высокий (всё ещё) уровень боли терпимым:

  1. LDAP предоставляет стандартизированные как удалённый, так и локальный методы доступа к данным. Таким образом, вполне реально заменить одну реализацию LDAP на другую, совершенно не влияя на внешний интерфейс доступа к данным. Реляционные СУБД в основном реализуют стандарты локального доступа, такие как SQL, но удалённые интерфейсы всегда остаются проприетарными.

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

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

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

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

2.4 Информационная модель (модель данных или объектная модель) LDAP

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

2.4.1 Структура дерева объектов

В этом разделе определяется сущность LDAP. Если Вы поймёте этот раздел и различные термины и отношения, с ним связанные, Вы поймёте LDAP.

В LDAP-системе данные представлены как иерархия объектов, каждый из которых называется записью. Полученная в результате древовидная структура называется Информационным деревом каталога (Directory Information Tree, DIT). Верхнюю часть данного дерева обычно называют корнем (root), (а также базой (base) или суффиксом (suffix)).

У каждой записи есть одна родительская запись (объект) и ноль или более дочерних записей (объектов). Каждая дочерняя запись (объект) является одноуровневой (братской) по отношению к другим дочерним записям своей родительской записи.

Каждая запись состоит из (является экземпляром) одного или нескольких объектных классов (objectClass). Объектные классы содержат ноль или более атрибутов (attribute). Атрибуты имеют имена (и, иногда, аббревиатуры или псевдонимы) и обычно содержат данные (наконец-то!).

Характеристики (свойства) объектных классов и их атрибутов описываются определениями ASN.1.

Уф! Теперь Вы знаете всё, что только можно знать о LDAP. Остальное — детали. Да, этих деталей, пожалуй, очень много. Но суть LDAP именно в этом.

Представленная ниже диаграмма иллюстрирует эти отношения:

Информационная модель (модель данных) LDAP DIT

Подытожим:

  1. Каждая запись (1) состоит из одного или нескольких объектных классов (2).

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

  3. У каждого атрибута (3) есть имя, он является членом одного или нескольких объектных классов (2) и содержит данные.

  4. При наполнении DIT каждая запись будет уникально идентифицирована в иерархии (относительно своей родительской записи) данными, которые содержатся в этой записи (в атрибутах, которые содержатся в её объектном классе (классах)).

Теперь можно смело брать выходной на остаток дня и хорошенько отпраздновать!

2.4.2 Объектные классы

Объектные классы являются, по существу, контейнерами атрибутов. Они описываются с помощью определений ASN.1. У каждого объектного класса есть уникальное имя. Существует огромное число предопределённых объектных классов, в каждом из которых полным-полно атрибутов для почти всех возможных применений каталогов LDAP. Однако, само собой разумеется, что среди всех этих предопределённых объектных классов нет того, который Вам просто необходим! У объектных классов есть ещё три характеристики:

  1. Объектный класс определяет, должен (MUST) ли входящий в него атрибут присутствовать в записи (обязательный атрибут), или он может (MAY) присутствовать (необязательный атрибут).

  2. Каждый объектный класс принадлежит к определённому типу: он может быть структурным (STRUCTURAL), вспомогательным (AUXILIARY) или абстрактным (ABSTRACT) (детально эти типы описаны в следующей главе). На этом этапе достаточно знать, что в записи должен быть один и только один структурный (STRUCTURAL) объектный класс и может быть ноль или более вспомогательных (AUXILIARY) объектных классов.

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

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

Вот неполный список наиболее часто используемых объектных классов и их атрибутов.

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

Об уникальности: Каждое используемое в LDAP имя является уникальным. Имя каждого объектного класса уникально среди объектных классов, но на этом дело не заканчивается. Уникальное имя объектного класса (или имя любого другого элемента LDAP) также является глобально уникальным именем во всём LDAP. Например, существует объектный класс с уникальным именем person (с ним мы будем пересекаться позже), но это имя также является глобально уникальным именем во всём LDAP. Не существует атрибута (или любого другого элемента) с именем person.

2.4.3 Атрибуты

Каждый атрибут имеет имя (а также может иметь короткое имя или псевдоним) и обычно содержит данные. Атрибуты всегда связаны (являются членами) с одним или несколькими объектными классами. У атрибутов есть ряд интересных особенностей:

  1. Все атрибуты являются членами одного или нескольких объектных классов.

  2. Каждый атрибут определяет тип данных, которые он может содержать (ключевое слово SYNTAX в определении атрибута).

  3. Атрибуты могут быть частью иерархии, в этом случае дочерний атрибут наследует все характеристики родительского атрибута. В данном случае иерархия атрибутов используется для упрощения и сокращения определений атрибутов (в ASN.1) там, где у нескольких атрибутов имеются одинаковые общие свойства, такие как максимальная длина, чувствительность/нечувствительность к регистру символов, или что-то ещё. Никакого другого смысла в иерархии атрибутов нет.

  4. Атрибуты могут быть необязательными (ключевое слово MAY) или обязательными (ключевое слово MUST), согласно определениям ASN.1 того объектного класса, членами которого они являются. Атрибут может быть необязательным в одном объектном классе и обязательным в другом. Это свойство определяется в рамках объектного класса.

    В разных местах этой документации в записях-примерах подобраны совершенно различные атрибуты, что может показаться путаницей. На самом же деле так происходит из-за необязательного характера большинства атрибутов. Это позволяет при составлении записей использовать подход «выбирай и соединяй»: находим нужный нам атрибут, находим объектный класс, членом которого является этот атрибут (таких классов может быть несколько), и надеемся, что все остальные атрибуты из данного объектного класса, которые мы не хотим использовать, окажутся необязательными! Чтобы яснее это себе представить, попробуйте посмотреть здесь.

  5. У атрибутов может быть одно (SINGLE-VALUE) или несколько (MULTI-VALUE) значений (как описано в их определениях ASN.1). SINGLE-VALUE означает, что только одно значение данных может быть задано для этого атрибута. MULTI-VALUE означает, что этот атрибут может появляться в записи несколько раз с разными значениями данных. Если атрибут описывает, скажем, адрес электронной почты, может быть одно, два или 500 включений этого атрибута в запись, каждое с разным адресом электронной почты (атрибут многозначный (MULTI-VALUE)) — это один из ряда методов работы с почтовыми псевдонимами, применяемых при построении каталога. Значением по умолчанию для атрибута является MULTI-VALUE (что позволяет иметь несколько значений).

  6. У атрибутов есть имя и, иногда, псевдоним (как описано в их определениях ASN.1), например, атрибут с именем cn является членом объектного класса, называемого person (и многих других), и имеет псевдоним commonName. Для ссылки на этот атрибут может использоваться как commonName, так и cn.

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

    Атрибут (атрибуты), выбранные для хранения данных, составляющих уникальность записи, иногда называются атрибутом (атрибутами) именования или относительным уникальным именем (Relative Distinguished Name, RDN) — но подробнее об этом в следующем разделе.

Взгляните на некоторые распространённые объектные классы и атрибуты. На данном этапе всё это выглядит очень страшно. Просто забудьте о том, что Вы только что видели, и продолжим чтение.

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

2.4.4 Описание дерева путём добавление записей (данных)

В конце концов мы хотим поместить немного данных в наш каталог и использовать-таки эту замороченную штуку.

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

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

Ранее мы определили, что при создании/наполнении DIT каждая запись будет уникально идентифицироваться (относительно своей родительской записи) в иерархии. Единственным уникальным элементом любой структуры данных являются данные. Чтобы однозначно идентифицировать запись, нам нужно определить уникальные данные среди тех, которые содержатся в ней. Данные, содержащиеся в записи, определяются в атрибутах (присутствующих в объектных классах), таким образом, нам нужно определить атрибут, содержащий данные, являющиеся уникальными. Напомним, что многие атрибуты являются многозначными, — они могут присутствовать в записи несколько раз с разным содержимым, — поэтому для создания абсолютной, несомненной уникальности нам нужно определить сразу и атрибут, и содержащиеся в нём данные. Это делается с использованием формата имя_атрибута=значение_(или_данные), который в терминологии LDAP зовётся утверждением значения атрибута (Attribute Value Assertion, AVA).

Для иллюстрации, если в данной записи (на данном уровне иерархии) уникальными данными является слово fred (да-да, мы знаем, пример так себе, маловероятно, чтобы это слово было уникальным, но вдруг мы находимся в Узбекистане?), и оно содержится в атрибуте с именем cn, то нашим AVA (утверждением значения атрибута) станет cn=fred. В данном случае, если мы хотим пооригинальничать или нам просто некуда девать время, мы можем записать его иначе: commonName=fred (у атрибута cn есть псевдоним commonName).

Но вдруг так случится, что cn=fred не будет абсолютно уникальным (Кто там хихикает на заднем плане? Мы всё слышим!), а значит не сможет быть уникальным идентификатором для данной записи. Мы можем либо изменить выбранное нами значение (в записи может оказаться несколько значений cn=value, из которых мы можем выбрать), либо изменить выбранный нами атрибут (может неплохо подойти sn=de Gamma, если, конечно, мы не в Португалии). Кроме того, мы можем использовать второе AVA для обеспечения уникальности. В этом случае мы сохраним наше cn=fred, но добавим AVA drink=tamarind juice (внесём элемент экзотики в наши серые будни). Тогда уникальное значение будет записываться как cn=fred+drink=tamarind juice. Уникальней просто некуда.

Добавление записей может происходить разными путями, один из которых — использовать файлы формата LDAP Data Interchange Files (LDIF), который полностью описан в одной из последующих глав. Файлы LDIF — это текстовые файлы, описывающие древовидную иерархию — информационное дерево каталога (Directory Information Tree, DIT), и данные, добавляемые в каждый атрибут. Ниже приведён простой пример LDIF-файла, описывающий корневое DN (dc=example,dc=com) и добавляющий три дочернии записи в ветку people.

Примечания:

  1. На данном этапе не так важно досконально разбираться во всех значениях этого LDIF-файла. В примерах главы 5 охвачены подробности настройки LDIF-файлов, а в главе 8 LDIF-файлы разъясняются в красочных деталях. На данном этапе достаточно знать, что LDIF-файлы могут использоваться для создания DIT и выглядят примерно так, как приведено ниже (данный LDIF создаёт DIT со структурой, приведённой на русинке 2.4.4-1).

  2. Добавление LDAP-записей может быть также выполнено с помощью LDAP-клиентов, таких как LDAP-браузеры общего назначения (смотрите LDAPBrowser/Editor) или специализированные приложения.

version: 1

## указание версии не является строго необходимым (и некоторые реализации его отклоняют), 
## но, в общем случае, это хорошая практика

## Определяем DIT ROOT/BASE/SUFFIX ####
## используется формат RFC 2377 (доменные имена)

## dcObject - это ВСПОМОГАТЕЛЬНЫЙ объектный класс и, кроме него, запись
## ДОЛЖНА иметь СТРУКТУРНЫЙ объектный класс (в данном случае, organization)
# это последовательность ЗАПИСИ и ей предшествует ПУСТАЯ СТРОКА

dn: dc=example,dc=com
dc: example
description: Лучшая компания в целом свете
objectClass: dcObject
objectClass: organization
o: Example, Inc.

## ПЕРВЫЙ уровень иерархии - люди (people) 
# это последовательность ЗАПИСИ, она должна предваряться ПУСТОЙ строкой

dn: ou=people, dc=example,dc=com
ou: people
description: Все люди в организации
objectClass: organizationalUnit

## ВТОРОЙ уровень иерархии - записи людей 
# это последовательность ЗАПИСИ, она должна предваряться ПУСТОЙ строкой

dn: cn=Robert Smith,ou=people,dc=example,dc=com
objectclass: inetOrgPerson
cn: Robert Smith
cn: Robert
sn: Smith
uid: rsmith
mail: [email protected]
mail: [email protected]
ou: sales

## ВТОРОЙ уровень иерархии - записи людей 
# это последовательность ЗАПИСИ, она должна предваряться ПУСТОЙ строкой

dn: cn=Bill Smith,ou=people,dc=example,dc=com
objectclass: inetOrgPerson
cn: Bill Smith
cn: William
sn: Smith
uid: bsmith
mail: [email protected]
mail: [email protected]
ou: support

## ВТОРОЙ уровень иерархии - записи людей 
# это последовательность ЗАПИСИ, она должна предваряться ПУСТОЙ строкой

dn: cn=John Smith,ou=people,dc=example,dc=com
objectclass: inetOrgPerson
cn: John Smith
sn: smith
uid: jsmith
mail: [email protected]
mail: [email protected]
ou: accounting

Важное замечание: Строки в приведённом выше LDIF-файле, начинающиеся с ‘dn:’, по существу сообщают LDAP-серверу, каким образом структурировать или располагать запись в DIT (об этом в следующем разделе). В общем случае не важно, значение какого атрибута используется для этой цели, при условии уникальности ‘dn:’. В первой записи ВТОРОГО уровня (третьей записи LDIF-файла) приведённого примера для этой цели было выбрано «dn: cn=Robert Smith, ou=people, dc=example, dc=com». Точно также могло быть выбрано, скажем, «dn: uid=rsmith, ou=people, dc=example, dc=com». При LDAP-поиске может применяться любая комбинация атрибутов и запись будет найдена независимо от того, какое значение было использовано в ‘dn:’ при её создании. Однако, если запись планируется использовать для аутентификации пользователя, скажем, для входа в систему или организации технологии единого входа (Single Sign-On), значение ‘dn:’ становится чрезвычайно важным и определяет идентификатор входа в систему (в качестве которого, как правило, используется uid), или, на жаргоне, DN подсоединения. Иногда (особенно в контексте LDAP, используемого в Microsoft AD) имя записи называется DN принципала (Principal DN), хотя этот термин не используется в определениях стандартов LDAP. Дополнительная информация по этой теме.

Если данное примечание кажется вам белибердой, можете пока забыть о нём. Позже мы это подробнейшим образом осветим.

Мы расскажем о LDIF-файлах позже, поскольку они нам ещё понадобятся, а приведённый выше LDIF определяет следующую структуру:

Рисунок 2.4.4-1: Структура DIT, созданная LDIF-файлом

После того, как DIT определён и запущен в работу, в дальнейшем информацию в него можно добавлять с помощью LDIF, LDAP-браузера, web-интерфейса или другого программного интерфейса.

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

2.4.5 Навигация по дереву

После того, как мы поместили данные в наше дерево (DIT), обычно самое время начать с ними работать!

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

Короче говоря, мы должны осуществлять навигацию (ориентироваться) в каталоге.

Но для начала давайте введём ещё немного существенной терминологии.

В предыдущем разделе мы определили, что каждая запись должна быть уникально идентифицируемой (относительно своей родительской записи) с использованием одного (или нескольких) AVA (утверждений значения атрибута), например, cn=fred или, как в примере выше, cn=Robert Smith. Из правила, что каждое идентифицирующее AVA (или несколько AVA) должны быть уникальными (относительно родительской записи) в иерархии, следует, что путь к любой записи на любом уровне также должен быть уникальным (он представляет собой сумму индивидуально уникальных записей).

Терминология LDAP в области адресации заставляет задуматься об ограниченности английского языка. До сих пор для описания AVA записи мы использовали термин уникальное (unique), достаточно распространённое и понятное английское слово. Мы можем также сказать, что каждая запись имеет различное (different) имя. Кроме того (начинается!), мы можем также несколько извилисто выразиться, что, в силу своей уникальной идентификации, каждая запись отлична (distinguished) от своих соседей. Мы у цели! Основоположники служб каталогов в своей бесконечной мудрости решили использовать слово «Distinguished» («Отличительное», обычно в русскоязычной документации переводится как «Уникальное» — примечание переводчика).

Итак, AVA, например, cn=Robert Smith, уникально идентифицирующее запись, называется относительным уникальным именем (Relative Distinguished Name, RDN), то есть именем, уникальным по отношению к родительской записи. Путь от корневой записи DIT (она же базовая запись или суффикс) к данной записи представляет собой сумму всех RDN (соединённых через запятую (,) в порядке слева направо от младшей до старшей) называется уникальным именем (Distinguished Name, DN). Красота! Какими бы ни были Ваши взгляды на достоинства (или недостатки) LDAP и X.500, способность групп их стандартизации генерировать уникальную (или отличительную) терминологию не подлежит сомнению.

Для иллюстрации, в DIT из нашего примера путь от корневой записи до записи, уникально идентифицируемой AVA cn=Robert Smith, идёт от (RDN) dc=example,dc=com через (RDN) ou=people, и заканчивается на (RDN) cn=Robert Smith. Итоговое DN будет записываться как cn=Robert Smith,ou=people,dc=example,dc=com.

Три дополнительных момента, пока Вы ещё способны воспринимать информацию.

Напоминаем, что для создания уникального идентификатора можно применять несколько AVA, в этом случае RDN может выглядеть так: cn=Robert Smith + uid=rsmith (обычно это называется многозначным RDN). Эквивалентное ему DN будет выглядеть так: cn=Robert Smith + uid=rsmith, ou=peope,dc=example, dc=com (наличие или отсутствие пробелов между RDN не существенно).

DN записи ou=people: ou=people,dc=example,dc=com. DN описывает путь к любой записи в DIT.

В dc=example, dc=com, очевидно, два RDN (dc=example и dc=com). Это стандартная и легитимная конструкция (в дальнейшем мы её обсудим), используемая для определения корневой записи (она же базовая запись или суффикс). (Если Вы в настроении помудрствовать лукаво на эту тему, можно было бы назвать эту конструкцию много-RDN-ной RDN, но, честное слово, не стоит).

Для навигации по DIT мы можем задать путь (DN) к месту, где находятся наши данные (cn=Robert Smith, ou=people,dc=example, dc=com приведёт нас к уникальной записи), либо мы можем задать путь (DN) к месту, где, как мы предполагаем, находятся наши данные (скажем, ou=people,dc=example,dc=com), а затем выполнить поиск по паре или нескольким парам атрибут=значение, чтобы найти целевую запись (или записи). Если мы хотим выполнить изменения в каталоге (модификацию на жаргоне LDAP), как правило, следует указывать уникальную запись. Однако, если мы устраиваем DIT допрос с пристрастием, достаточно лишь примерной точности — мы получим всё, что соответствует критериям поиска.

Следующая диаграмма иллюстрирует DN и RDN:

Дальнейшее объяснение с некоторыми рабочими примерами.

2.5 Отсылки и репликация LDAP

Одним из наиболее мощных аспектов LDAP (и X.500) является вложенная в них способность делегировать ответственность за поддержание части каталога другому серверу, сохраняя при этом общую картину каталога как единого целого. Таким образом, можно создать в каталоге компании делегирование ответственности (отсылку (referral) в терминологии LDAP) той части всего каталога, в которой описан конкретный отдел, LDAP-серверу этого отдела. В этом аспекте LDAP почти полностью отражает концепцию делегирования DNS, если эта концепция Вам знакома.

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

OpenLDAP буквально следует стандартам и по умолчанию не выполняет сцепление, а всегда возвращает отсылку. Однако OpenLDAP может быть настроен на выполнение сцепления с помощью директивы overlay chain.

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

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

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

Конфигурация репликации и отсылок рассматривается далее, а также в приводимых примерах.

2.5.1 Отсылки LDAP

Рисунок 2.5-1 демонстрирует поисковый запрос с базовым DN dn:cn=thingie,o=widgets,dc=example,dc=com к LDAP-системе с отсылками, который полностью удовлетворяется первым LDAP-сервером (LDAP1):

Рисунок 2.5-1 — Запрос, удовлетворяемый только от LDAP1

Рисунок 2.5-2 демонстрирует поисковый запрос с базовым DN dn:cn=cheri,ou=uk,o=grommets,dc=example,dc=com к LDAP-системе с отсылками, ответ на который возвращается в результате серии отсылок к серверам LDAP2 и LDAP3, а LDAP-клиенты всегда следуют по отсылкам:

Рисунок 2.5-2 — Запрос, генерирующий отсылки к LDAP2 и LDAP3

Примечания:

  1. Все клиентские запросы начинаются с обращения к глобальному каталогу LDAP1.
  2. На сервере LDAP1 запросы любых данных, содержащие widgets в качестве RDN в DN, удовлетворяются непосредственно из LDAP1, например:
    dn: cn=thingie,o=widgets,dc=example,dc=com
    
  3. На сервере LDAP1 запросы любых данных, содержащие grommets в качестве RDN в DN, генерируют отсылку на сервер LDAP2, например:
    dn: cn=cheri,ou=uk,o=grommets,dc=example,dc=com
    
  4. На сервере LDAP2 запросы любых данных, содержащие uk в качестве RDN в DN, генерируют отсылку на сервер LDAP3, например:
    dn: cn=cheri,ou=uk,o=grommets,dc=example,dc=com
    
  5. Если LDAP-сервер сконфигурирован на выполнение сцепления (то есть на следование отсылкам, как показано альтернативными пунктирными линиями), то LDAP-клиенту будет отправлен один единственный ответ. Сцепление контролируется конфигурацией LDAP-сервера и значениями в поисковых запросах. Информация по сцеплению здесь.

  6. На рисунках показано явное сцепление с использованием объектного класса referral. Серверы OpenLDAP могут быть настроены так, чтобы возвращать общую отсылку в случае, если запрашиваемый DN не был найден во время операции поиска.

2.5.2 Репликация LDAP

Функции репликации позволяют копировать обновления LDAP DIT на одну или несколько LDAP-систем в целях резервирования и/или повышения производительности. В этом контексте стоит подчеркнуть, что репликация работает на уровне DIT, а не на уровне LDAP-сервера, поскольку на одном LDAP-сервере может обслуживаться несколько DIT. Репликация происходит периодически, в течение промежутка времени, известного как время цикла репликации (по сути, это время, необходимое для отправки обновленных данных на сервер-реплику и получения подтверждения об успешном завершении операции). В общем случае, существуют методы уменьшения времени цикла репликации с помощью настроек, но обычно они приводят к снижению производительности или увеличению нагрузки на сеть. Исторически для выполнения репликации в OpenLDAP использовался отдельный демон (slurpd), но, начиная с версии 2.3, стратегия репликации коренным образом изменилась, были достигнуты серьёзные улучшения в гибкости и возможностях настройки времени цикла репликации. Существует два возможных типа конфигураций репликации, у каждого из которых есть несколько вариантов.

  1. Главный-подчиненный (Master-Slave): В конфигурации главный-подчинённый обновляется одно единственное DIT (на жаргоне OpenLDAP оно называется главным (master) или поставщиком репликации (provider)), и эти обновления реплицируются или копируются на один или несколько указанных LDAP-серверов, на которых запущены подчинённые DIT (на жаргоне OpenLDAP они называются потребителями репликации (consumer)). Подчинённые серверы оперируют с доступной только для чтения копией главного DIT. Пользователи, которые выполняют только чтение, будут превосходно себя чувствовать, работая с серверами, содержащими подчинённые DIT, а пользователи, которым нужно вносить изменения в каталог, должны обращаться к серверу, содержащему главное DIT. При определённых условиях конфигурация главный-подчинённый позволяет существенно сбалансировать нагрузку. Однако, у неё есть два очевидных недостатка:

    • Если всем (большинству пользователей) дана возможность (требуется) вносить изменения в DIT, то либо им потребуется получать доступ к одному серверу (с подчинённым DIT) для осуществления чтения и к другому серверу (с главным DIT) для выполнения обновлений, либо они всегда будут обращаться к серверу, на котором запущено главное DIT. В последнем случае репликация выполняет только функцию резервного копирования.

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

  2. Несколько главных (Multi-Master): В конфигурации с несколькими главными серверами могут обновляться несколько главных DIT, запущенных на одном или нескольких серверах, и результаты обновлений распространяются на другие главные серверы.

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

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

    2. Конкуренция удаления. Если один пользователь добавляет дочернюю запись в то же самое время (в пределах времени цикла репликации), когда другой пользователь удаляет оригинальную запись, то удалённая запись вновь появится.

Рисунок 2.5-3 показывает несколько возможных конфигураций репликации и объединяет их с отсылками из предыдущего раздела, чтобы показать всю мощь и гибкость LDAP. Следует отметить, что большинство конфигураций LDAP не настолько сложны.

Рисунок 2.5-3 — Конфигурации репликации

Примечания:

  1. RO = только чтение, RW = чтение-запись

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

  3. В случае LDAP2 клиент взаимодействует с главной системой, которая реплицируется на две подчинённые.

  4. LDAP3 является системой с несколькими главными серверами и для выполнения операций чтения (поиска) и/или записи (модификации) клиенты могут обращаться к любому серверу. В данной конфигурации каждый главный сервер может, в свою очередь, иметь одно или несколько подчинённых DIT.

Глава 3 — Схема данных, объектные классы и атрибуты LDAP



Проблемы, комментарии, предположения, исправления (включая битые ссылки) или есть что добавить? Пожалуйста, выкроите время в потоке занятой жизни, чтобы написать нам, вебмастеру или в службу поддержки. Оставшийся день Вы проведёте с чувством удовлетворения.

Нашли ошибку в переводе? Сообщите переводчикам!

Мы не можем найти эту страницу

(* {{l10n_strings.REQUIRED_FIELD}})

{{l10n_strings.CREATE_NEW_COLLECTION}}*

{{l10n_strings.ADD_COLLECTION_DESCRIPTION}}

{{l10n_strings.COLLECTION_DESCRIPTION}} {{addToCollection.description.length}}/500 {{l10n_strings.ТЕГИ}} {{$элемент}} {{l10n_strings.ПРОДУКТЫ}} {{l10n_strings.DRAG_TEXT}}

{{l10n_strings.DRAG_TEXT_HELP}}

{{l10n_strings.ЯЗЫК}} {{$select.selected.display}}

{{article.content_lang.display}}

{{l10n_strings.АВТОР}}

{{l10n_strings.AUTHOR_TOOLTIP_TEXT}}

{{$select.selected.display}} {{l10n_strings.CREATE_AND_ADD_TO_COLLECTION_MODAL_BUTTON}} {{l10n_strings.CREATE_A_COLLECTION_ERROR}}

типов файлов NTFS — NTFS.ком

Атрибуты файла NTFS

Файловая система NTFS рассматривает каждый файл (или папку) как набор атрибутов файла. Такие элементы, как имя файла, его информация о безопасности и даже его данные, являются атрибутами файла. Каждый атрибут идентифицируется кодом типа атрибута и, необязательно, именем атрибута.

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

Если вся информация о файле слишком велика для записи файла MFT, некоторые из его атрибутов являются нерезидентными. Нерезидентным атрибутам выделяется один или несколько кластеров дискового пространства в другом месте тома.

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

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

Атрибуты файла таблицы, определенные NTFS

Тип атрибута Описание
Стандартная информация Включает такую ​​информацию, как метка времени и количество ссылок.
Список атрибутов Перечисляет расположение всех записей атрибутов, которые не помещаются в запись MFT.
Имя файла Повторяющийся атрибут как для длинных, так и для коротких имен файлов. Длинное имя файла может содержать до 255 символов Юникода. Короткое имя — это имя файла в формате 8.3 без учета регистра. Дополнительные имена или жесткие ссылки, требуемые POSIX, могут быть включены в качестве дополнительных атрибутов имени файла.
Дескриптор безопасности Описывает, кому принадлежит файл и кто может получить к нему доступ.
Данные Содержит данные файла.NTFS допускает использование нескольких атрибутов данных в файле. Каждый файл обычно имеет один безымянный атрибут данных. Файл также может иметь один или несколько именованных атрибутов данных, каждый из которых использует определенный синтаксис.
Идентификатор объекта Уникальный для тома идентификатор файла. Используется службой отслеживания распределенных ссылок. Не все файлы имеют идентификаторы объектов.
Зарегистрированный служебный поток Аналогично потоку данных, но операции регистрируются в файле журнала NTFS точно так же, как и изменения метаданных NTFS.Это используется EFS.
Точка повторной обработки Используется для точек подключения тома. Они также используются драйверами фильтров Installable File System (IFS), чтобы пометить определенные файлы как специальные для этого драйвера.
Корень индекса Используется для реализации папок и других индексов.
Распределение индекса Используется для реализации папок и других индексов.
Растровое изображение Используется для реализации папок и других индексов.
Информация о томе Используется только в системном файле $Volume. Содержит объемную версию.
Название тома Используется только в системном файле $Volume. Содержит метку тома.

файл — Управление именами и атрибутами файлов


файл опция имя ? аргумент аргумент… ?


Эта команда обеспечивает несколько операций над именем файла или его атрибутами. Имя — имя файла; если оно начинается с тильды, то тильда подстановка выполняется перед выполнением команды (см. справочную страницу для имя файла для подробностей). Опция указывает что делать с имя файла. Любая уникальная аббревиатура для варианта допустима. допустимые варианты:

файл время имя ? время ?

Возвращает десятичную строку, указывающую время, когда файл с именем был прошлой доступ.Если указано время , это время доступа для установки для файла. Время измеряется стандартным способом POSIX как секунд от фиксированного времени начала (часто 1 января 1970 г.). Если файл не существует или его время доступа не может быть запрошено или установлено, тогда возникает ошибка сгенерировано. В Windows файловые системы FAT не поддерживают время доступа.

файл атрибуты имя  
файл атрибуты имя ?опция?
файл атрибуты имя ?значение параметра значение параметра…?

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

В UNIX -group получает или задает имя группы для файла. А идентификатор группы можно передать команде, но она возвращает имя группы. -владелец получает или устанавливает имя пользователя владельца файла. Команда возвращает имя владельца, но числовой идентификатор может быть передан при настройке владелец. -разрешения устанавливает или извлекает восьмеричный код, который чмод (1) использует. Эта команда также имеет ограниченную поддержку настройки с помощью символические атрибуты для chmod(1) в форме [ugo]?[[+-=][rwxst],[…]], где несколько символических атрибутов могут быть разделены запятыми (пример: u+s,go-rw добавить липкий бит для пользователя, удалить чтение и запись разрешения для группы и др.).Упрощенная строка в стиле ls, вида rwxrwxrwx (должно быть 9 символов), также поддерживается (пример: rwxr-xr-t эквивалентно 01755). В версии MKS Toolkit -архив дает значение или устанавливает или очищает архивный атрибут файла. -hidden дает значение или устанавливает или очищает скрытый атрибут файла. -system дает или устанавливает или очищает значение системы атрибут файла. -только для чтения дает значение или устанавливает или очищает только для чтения атрибут файла.

В Windows -archive дает значение или задает или очищает архивный атрибут файла. -скрытый дает значение или устанавливает или очищает скрытый атрибут файла. — длинное имя будет разверните каждый элемент пути до его длинной версии. Этот атрибут не может быть набор. -только для чтения дает значение или устанавливает или очищает только для чтения атрибут файла. -shortname дает строку, в которой каждый элемент пути заменяется его коротким (8.3) версия название. Этот атрибут не может быть установлен. -система дает или устанавливает или очищает значение системного атрибута файла.

На Macintosh -creator дает или устанавливает тип создателя Finder файл. -hidden дает, устанавливает или очищает скрытый атрибут файла. -readonly дает, задает или очищает только для чтения атрибут файла. Обратите внимание, что каталоги могут быть заблокированы, только если Общий доступ к файлам включен. -type дает или устанавливает файл Finder тип для файла.

файловых каналов ? узор ?

Если шаблон не указан, возвращает список имен всех прописал открытые каналы в этом интерпретаторе. Если шаблон указаны, возвращаются только те имена, которые соответствуют шаблону . Соответствие определяется по тем же правилам, что и для совпадения строк.

файл копия ? -сила ? ? ? источник цель  
файл копия ? -сила ? ? ? источник ? источник …? targetDir  

Первая форма делает копию файла или каталога источника под путь цель . Если цель является существующей каталог, затем используется вторая форма. Вторая форма делает копию внутри targetDir каждого исходного файла в списке. Если каталог указан как источник , тогда содержимое каталога будет быть рекурсивно скопирован в targetDir .Существующие файлы не будут перезаписывается, если не указана опция -force . Пытаясь перезаписать непустой каталог, перезаписать каталог файлом или файл с каталогом приведет к ошибкам, даже если -force был указано. Аргументы обрабатываются в указанном порядке, останавливаясь на Первая ошибка, если она есть. A отмечает конец переключателей; в аргумент после будет рассматриваться как источник даже если это начинается с .

файл удалить ? -сила ? ? ? путь ? путь … ?

Удаляет файл или каталог, указанный каждым путем аргумент. Непустые каталоги будут удалены, только если опция -force является указано. Попытка удалить несуществующий файл не считается ошибка. Попытка удалить файл только для чтения приведет к удалению файла, даже если флаги -force не указаны.Аргументы обработанный в указанном порядке, останавливаясь при первой ошибке, если таковая имеется. А отмечает конец переключателей; аргумент после будет трактуется как путь , даже если он начинается с .

файл имя каталога имя  

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

имя_каталога_файла c:/
 

возвращает c:/.

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

имя каталога файла ~/src/foo.c
 

возвращает ~/src, тогда как

имя каталога файла ~
 

возвращает /home (или что-то подобное).

файл исполняемый файл имя  

Возвращает 1, если файл имя является исполняемым текущий пользователь, 0 иначе.

файл существует имя  

Возвращает 1, если файл имя существует и текущий пользователь имеет привилегии поиска для каталогов, ведущих к нему, 0 в противном случае.

файл расширение имя  

Возвращает все символы имени после и включая прошлой точка в последнем элементе имени . Если нет точки в прошлой элемент name затем возвращает пустую строку.

файл isdirectory имя  

Возвращает 1, если файл имя является каталогом, 0 иначе.

файл isfile имя  

Возвращает 1, если файл имя является обычным файлом, 0 иначе.

файл присоединиться имя ? имя … ?

Берет одно или несколько имен файлов и объединяет их, используя правильный путь разделитель для текущей платформы.Если конкретное имя относительный, то он будет присоединен к предыдущему аргументу имени файла. В противном случае все более ранние аргументы будут отброшены, а объединение будет исходить из текущего аргумента. Например,

файл присоединиться к панели b/foo
 

возвращает /foo/bar.

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

файл lstat имя varName  

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

файл mkdir каталог ? дир …?

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

файл mtime имя ? время ?

Возвращает десятичную строку, указывающую время, когда файл с именем был прошлой модифицированный. Если указано время , это время модификации набор для файл (эквивалент UNIX touch). Время измеряется в стандартная мода POSIX как секунды от фиксированного времени начала (часто январь 1, 1970).Если файл не существует или время его изменения невозможно запросить или установить, то генерируется ошибка.

файл родное имя имя  

Возвращает специфичное для платформы имя файла. Это полезно, если имя файла необходимо для перехода к специфичному для платформы вызову, такому как exec под Windows или AppleScript на Macintosh.

файл принадлежит имя  

Возвращает 1, если файл имя принадлежит текущему пользователь, 0 в противном случае.

файл тип пути имя  

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

файл читаемый имя  

Возвращает 1, если имя файла доступно для чтения текущей пользователь, 0 иначе.

файл ссылка для чтения имя  

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

файл переименовать ? -сила ? ? ? источник цель  
файл переименовать ? -сила ? ? ? источник ? источник …? targetDir  

Первая форма принимает файл или каталог, указанный путем source и переименовывает его в target , перемещая файл если pathname target указывает имя в другом каталоге. Если target — это существующий каталог, тогда используется вторая форма. вторая форма перемещает каждый исходный файл или каталог в каталог целевойКаталог .Существующие файлы не будут перезаписаны, если -force указана опция. Попытка перезаписать непустое каталог, перезаписать каталог файлом или файл каталогом все приведет к ошибкам. Аргументы обрабатываются в указанном порядке, остановка при первой же ошибке, если таковая имеется. отмечает конец переключатели; аргумент, следующий за , будет рассматриваться как источник , даже если он начинается с .

файл корневое имя имя  

Возвращает все символы в имени до, но не включая в прошлой . символ в последнем компоненте имени. Если последний компонент имени не содержит точки, затем возвращает имя .

файл размер имя  

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

файл разделить имя  

Возвращает список, элементами которого являются компоненты пути в name . первый элемент списка будет иметь тот же тип пути, что и name . Все остальные элементы будут относительными. Разделители пути будут удалены если они не нужны, убедитесь, что элемент однозначно относителен.Например, под UNIX

разделить файл /foo/~bar/baz
 

возвращает /foo ./~bar baz, чтобы последующие команды которые используют третий компонент, не пытайтесь выполнять тильду замена.

файл статистика имя varName  

Вызывает вызов ядра stat() для имени и использует переменную задается varName для хранения информации, возвращаемой ядром вызов. VarName обрабатывается как переменная массива, и следующие элементы этой переменной установлены: atime, ctime, разработчик, ино, режим, mtime, nlink, размер, тип, жидкость Каждый элемент, кроме типа, представляет собой десятичную строку. с значение соответствующего поля из возврата stat() структура; см. справочную страницу для stat() для получения подробной информации о значения ценности. Элемент type указывает тип файла в том же форма, возвращаемая командой file type .Эта команда возвращает пустой строкой.

файл хвост имя  

Возвращает все символы имени после последнего каталога разделитель. Если имя не содержит разделителей, то возвращается имя .

файл тип имя  

Возвращает строку, указывающую тип файла имя , которое будет один из файл, каталог, характерный специальный, blockSpecial, fifo, ссылка или разъем.

файл том  

. Возвращает абсолютные пути к томам, смонтированным в системе, в виде правильный список Tcl. На Macintosh это будет список смонтированных диски, как локальные, так и сетевые. Н.Б. если два диска имеют одинаковое имя, они оба появятся в списке томов, но в настоящее время нет возможности, из Tcl для доступа к любому из этих дисков, кроме первого. В UNIX, Команда всегда будет возвращать «/», так как все файловые системы смонтированы локально.В Windows он вернет список доступных локальных дисков. (например, (a:/c:/)).

файл доступный для записи имя  

Возвращает 1, если файл имя доступен для записи текущей пользователь, 0 иначе.


ЮНИКС  

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


Windows Server 2012. Windows 8.1. Windows Server 2012 R2. Windows 10. Windows Server 2016. Windows Server 2019.


Набор инструментов PTC MKS для опытных пользователей
Набор инструментов PTC MKS для системных администраторов
Набор инструментов PTC MKS для разработчиков
Набор инструментов PTC MKS для взаимодействия
Набор инструментов PTC MKS для профессиональных разработчиков
Набор инструментов PTC MKS для корпоративных разработчиков
Набор инструментов PTC MKS для корпоративных разработчиков, 64-разрядная версия


Команды:
имя файла

Инструментарий PTC MKS 10.3 Сборка документации 39.


Атрибуты файла управления — Руководство по NI Package Manager 20.7, 21.0 и 21.3

Архитектура Да Строка Н/Д

Указывает архитектуру ОС, поддерживаемую пакетом.

Ожидаемые значения:
  • windows_x64 (устанавливается только на 64-битной Windows)
  • windows_all (Устарело с удалением 32-разрядной версии Windows)
Архитектура: windows_all Примечание

Вы можете только укажите одну архитектуру для каждого пакета.

Конфликты Массив строковых отношений НУЛЕВОЙ

Объявляет конфликт между одним бинарным пакетом и другим.

Диспетчер пакетов не устанавливает конфликтующие пакеты в системе на в то же время.

См. раздел «Массив отношений строк». пример.
Зависит Массив строковых отношений НУЛЕВОЙ

Объявляет абсолютную зависимость.

  • windows_x64 пакеты должны зависеть только от пакетов windows_x64 и windows_all.
  • windows_all пакеты должны зависеть только от пакетов windows_all.
  • В качестве заполнителя можно использовать специальный пакет system-windows-x64. для 64-битных зависимостей.
Пример см. в разделе Массив отношений строк.
Описание Да Многострочный Н/Д

Содержит описание двоичного пакета.

Состоит из двух частей: однострочного синопсиса и многострочного длинное описание.

NI рекомендует использовать два пробела между синопсисом. и длинное описание для улучшения читабельности.

См. пример в разделе Многострочные атрибуты.
Улучшения Массив строковых отношений НУЛЕВОЙ

Заявляет, что пакет расширяет функциональность другого упаковка.

Используйте этот атрибут только в пакетах, для которых XB-UserVisible имеет значение yes.

См. раздел «Массив отношений строк». пример.
Домашняя страница Строка НУЛЕВОЙ

URL-адрес, который поставщик пакета использует для предоставления более подробной информации. информация о пакете.

н/д Домашняя страница: http://www.ni.com
Установленный размер Длинное целое 0

Предоставляет оценку общего объема дискового пространства, необходимого для установить пакет.

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

Установленный размер: 25485141
Сопровождающий Да Строка Н/Д

Имя и адрес электронной почты сопровождающего пакета.

Ожидаемые значения: имя сопровождающего, за которым следует адрес электронной почты.[а-z0-9][а-z0-9.+-]{2,}$

  • NI рекомендует начинать имя вашего пакета с названия вашей компании, за которым следует тире (например: ni-testpackage).
  • Хороший синтаксис:

    • Пакет: ni-labview-2015
    • Пакет: ni-daqmx
    • Пакет: ni-daqmx-labview-2015-support

    Неверный синтаксис:

    • Пакет: LabVIEW_2015
    • Пакет: NationalInstrumentsGPIB
    • Пакет: labview
    Обеспечивает Массив строковых отношений НУЛЕВОЙ

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

    н/д См. раздел «Массив отношений строк». пример.
    Рекомендует Массив строковых отношений НУЛЕВОЙ

    Объявляет сильную зависимость, которая не является абсолютной.

    Список пакетов, которые будут установлены с этим в большинстве случаев. ситуации.

    Рекомендовать только пакеты с параметром XB-UserVisible, равным yes.

    См. раздел «Массив отношений строк». пример.
    Заменяет Массив строковых отношений НУЛЕВОЙ

    Объявляет, что пакет заменяет другие пакеты.

    Конфликты должны использоваться в в сочетании с заменой.

    См. раздел «Массив отношений строк». пример.
    Секция Строка НУЛЕВОЙ

    Указывает категорию, к которой относится пакет.

    Ожидаемые значения:

    • Среды программирования
    • Программное обеспечение
    • Дополнения
    • Драйверы
    • Время выполнения
    • Утилиты
    • Документация
    • Инфраструктура
    Раздел: Применение Программное обеспечение
    Предлагает Массив строковых отношений НУЛЕВОЙ

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

    Уведомляет диспетчер пакетов и пользователя о том, что перечисленные пакеты связанные с этим, но не обязательные.

    Предлагать пакеты только с параметром XB-UserVisible, равным yes.

    См. раздел «Массив отношений строк». пример.
    Дополнения Массив строковых отношений НУЛЕВОЙ

    Заявляет, что пакет дополняет функциональность другого упаковка.

    Используйте этот атрибут только в пакетах, для которых XB-UserVisible имеет значение yes.

    См. раздел «Массив отношений строк». пример.
    Версия Да Строка Н/Д

    Указывает номер версии пакета.

    Используйте формат Debian. Для получения дополнительной информации посетите https://www.debian.org.

    Версия: 17.1.0.1
    XB-DisplayName Строка НУЛЕВОЙ

    Удобное имя пакета.

    н/д XB-DisplayName: NI LabVIEW 2017
    XB-DisplayVersion Строка НУЛЕВОЙ

    Удобная версия дисплея.

    н/д XB-DisplayВерсия: 15.0.0
    XB-MessageCondition-#

    Например:

    XB-MessageCondition-1, XB-MessageCondition-2 и т. д.

    Строка Н/Д

    Указывает условие, при котором соответствующее сообщение будет отображаться в Менеджер пакетов.

    Принимаются только условия MSI, и их следует заключен в теги. Если текст внутри тегов не заключен в блок CDATA, он должен символы ‘<' и '>‘ экранированы как ‘&lt’ и ‘&gt’.
     XB-MessageCondition-1:
    VISA32COMPANYNAME ~<> "Национальные инструменты"
    
    XB-MessageCondition-2:
     "National Instruments"]]>
    

    XB-MessageText-#

    Например:

    XB-MessageText-1, XB-MessageText-2 и т. д.

    Многострочный Н/Д

    Содержит важное сообщение, которое диспетчер пакетов отображает перед установка пакета.

    Состоит из двух частей: заголовка и тела.

    Вы можете указать условие для отображения этого сообщения с помощью соответствующее MessageCondition атрибут ниже. Если вы не укажете условие, это сообщение всегда будет отображаться при установке этого пакета.

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

     XB-MessageText-1: Это заголовок моего сообщения.
     Это тело моего сообщения.
     Есть несколько линий. 
    XB-OsRequires Строка Н/Д

    Указывает, какие версии ОС требуются для пакета.

    Если вы не укажете XB-OsRequires, диспетчер пакетов всех операционных систем в настоящее время поддержки разрешены.

    Определите ограничение разрядности ОС с помощью атрибута Архитектура.

    Если ОС системы не может удовлетворить XB-OsRequires для пакета графический интерфейс диспетчера пакетов не отображает упаковка.

    Если у пакета есть зависимость с более строгим XB-OsRequires, package наследует более строгие требования к ОС.

    Пример см. в разделе «Требования к ОС».
    XB-плагин Да Строка НОЛЬ

    Агент, используемый для установки пакета.

    Ожидаемые значения:

    • файл
    • выигрыш
    • относительный файл
    XB-плагин: файл
    XB-ReleaseNotes Нет Многострочный НОЛЬ

    Примечания к выпуску пакета.

    Н/Д См. пример в разделе Многострочные атрибуты.
    XB-StoreProduct Нет логическое значение нет

    Указывает, является ли пакет продуктом в диспетчере пакетов.

    Чтобы ваш пакет отображался в Установленные пакеты и вкладки, когда установлен флажок Только продукты .

    Ожидаемые значения:

    XB-StoreТовар: нет
    XB-UserVisible Нет логическое значение нет

    Указывает, отображает ли диспетчер пакетов пакет.

    Ожидаемые значения:

    XB-UserVisible: нет
    XB-VisibleForRuntimeDeployment Нет логическое значение нет

    Указывает, отображает ли Package Builder пакет по умолчанию. при добавлении зависимостей.

    Ожидаемые значения:

    XB-VisibleForRuntime: да

    атрибут файла (функции MATLAB)

    атрибут файла (функции MATLAB)
    Справочник по функциям MATLAB    
    атрибут файла

    Установить или получить атрибуты файла или каталога

    Синтаксис

    •  атрибут файла
      атрибут файла('имя')
      атрибут файла('имя','   атрибут   ')
      fileattrib('имя','   атрибут   ','   пользователей   ')
      fileattrib('name','   attrib   ','   пользователей   ','   s   ')
      [статус,сообщение,идентификатор сообщения] =
      fileattrib('name','   attrib   ','   пользователей   ','   s   ')
       

    Описание

    Функция fileattrib аналогична команде DOS attrib или команде UNIX chmod .

    атрибут файла отображает атрибуты текущего каталога. Значения:

    Значение
    Описание
    0
    Атрибут отключен
    1
    Атрибут установлен (включен)
    NaN
    Атрибут не применяется

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

    атрибут файла('имя',' атрибут ') устанавливает атрибут для имени , где имя — это абсолютный или относительный путь к каталогу или файлу. Укажите квалификатор + перед атрибутом, чтобы установить его, и укажите квалификатор - перед атрибутом, чтобы очистить его.Используйте подстановочный знак * в конце имени , чтобы установить атрибуты для всех соответствующих файлов. Значения атрибута :

    Значение атрибута
    Описание
    и
    Архив (только для Windows)
    ч
    Скрытый файл (только для Windows)
    с
    Системный файл (только для Windows)
    ш
    Доступ для записи (Windows и UNIX)
    x
    Исполняемый файл (только UNIX)

    Например, fileattrib('myfile.m','+w') делает myfile.m доступным для записи файлом.

    атрибут файла ('имя',' атрибут ',' пользователей ') задает атрибут для name , где name — это абсолютный или относительный путь к каталогу или файлу, и определяет, на каких пользователей влияет атрибут , где пользователей применимо только для систем UNIX. . Дополнительные сведения об этих атрибутах см. в справочной информации UNIX для chmod .Значение по умолчанию для пользователей равно u . Значения для пользователей равны

    Значение для пользователей
    Описание
    и
    Все пользователи
    г
    Группа пользователей
    или
    Все остальные пользователи
    и
    Текущий пользователь

    атрибут файла («имя», « атрибут », « пользователей », « s ») устанавливает атрибут для name , где name — это абсолютный или относительный путь к файлу или каталогу и его содержимому, и определяет, на каких пользователей влияет attrib .Здесь s указывает, что атрибут применяется ко всему содержимому имя , где имя — это каталог. Аргумент s не поддерживается в Windows 98 и ME.

    [статус,сообщение,идентификатор сообщения] = fileattrib('name',' attrib ',' пользователей ',' s ') устанавливает атрибут для имени , возвращая статус, сообщение и идентификатор сообщения об ошибке MATLAB (см. error и lasterr ).Здесь статус равен 1 для успеха и 0 для отсутствия ошибок. Если атрибут , пользователи и s не указаны, а статус равен 1 , сообщение представляет собой пустую структуру message

    , содержащую атрибуты файла 914id. Если статус равен 0 , messageid содержит ошибку. Если вы используете подстановочный знак * в конце имени , беспорядок будет структурой.

    Примеры

    Получить атрибуты файла

    Для просмотра атрибутов myfile.m введите

    MATLAB возвращает

    UserWrite равно 0 , что означает myfile.m только для чтения. Значения Group и Other равны NaN , поскольку они не применяются к текущей операционной системе Windows.

    Установить атрибут файла

    Чтобы создать myfile.m стать доступным для записи, введите

    Запуск fileattrib('myfile.m') теперь показывает UserWrite как 1 .

    Установить атрибуты для указанных пользователей

    Чтобы сделать каталог d:/work/results доступным только для чтения для всех пользователей, введите

    - , предшествующие атрибуту записи, w , указывают, что состояние записи удалено.

    Установить несколько атрибутов для каталога и его содержимого

    Чтобы сделать каталог d:/work/results и все его содержимое доступным только для чтения и скрытым, в Windows введите

    fileattrib('d: /work/results','+h-w','','s')

    Поскольку пользователей не применяется в системах Windows, его значение пусто.Здесь s применяет атрибут к содержимому указанного каталога.

    Возврат состояния и структуры атрибутов

    Чтобы вернуть атрибуты каталога результатов в структуру, введите

    MATLAB возвращает

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

    возвращает путь для результатов

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

    Возврат атрибутов для всех файлов в текущем каталоге, имена которых начинаются с new .

    MATLAB возвращает

    Результаты показывают, что есть три совпадающих файла. Чтобы просмотреть имена файлов, введите

    MATLAB возвращает

    Чтобы просмотреть только первое имя файла, введите

    см. Также

    COPYFILE , CD , DR , DIR , DILBROWSER , LS , MKDIR , RamdFile , RMDIR


       Свойства рис. Windows 2000 Professional: установка атрибутов файла с помощью ATTRIB Вы, вероятно, знакомы с атрибутами файла, которые определяют характеристики файла, включая атрибуты «только для чтения», «сжатый» и «скрытый».В большинстве случаев графический интерфейс Windows является самым простым и прямым способом просмотра и изменения атрибутов файла. Щелкните файл правой кнопкой мыши и выберите «Свойства». Окна...

    Windows 2000 Professional: установите атрибуты файла с помощью ATTRIB

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

    В большинстве случаев графический интерфейс Windows является
    самым простым и прямым способом просмотра и изменения
    атрибутов файла.Щелкните файл правой кнопкой мыши и выберите «Свойства». Windows
    отображает атрибуты «Скрытые» и «Только для чтения» на вкладке «Общие»,
    , и вы можете нажать «Дополнительно», чтобы просмотреть атрибуты сжатия и шифрования
    .

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

    АТРИБ МОЙ ФАЙЛ.DOC

    Вы можете использовать несколько параметров с ATTRIB , чтобы установить атрибут
    файла. Например, используйте следующую команду, чтобы добавить атрибут
    «Только для чтения» в Myfile.doc и удалить атрибут «Скрытый
    »:

    АТРИБ +R -H МОЙ ФАЙЛ.DOC

    Чтобы узнать больше о команде ATTRIB и ее параметрах
    , введите HELP
    ATTRIB
    в командной строке.

    Windows 2000 Server: упрощение удаленной помощи

    Если в вашей сети есть пользователи Windows XP,
    они могут воспользоваться удаленным помощником, чтобы позволить другому пользователю
    или администратору удаленно подключаться к своим компьютерам для устранения неполадок
    или демонстрации задач.

    В типичном сценарии удаленного помощника пользователь
    открывает меню Пуск | Справка и поддержка и щелкните Пригласить друга
    для подключения к компьютеру с помощью удаленного помощника. Затем пользователь может
    отправить приглашение удаленного помощника другому лицу, которое
    принимает приглашение и устанавливает соединение.

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

    Чтобы включить удаленный помощник, выполните следующие действия
    :

    1. Добавьте шаблон политики
      Windows XP в свой Windows 2000 Server.Вы найдете
      необходимый файл шаблона на компьютере под управлением Windows XP в папке
      %Windir%\INF.
    2. Откройте консоль Active Directory Users And Computers
      на сервере и найдите подразделение, в котором вы хотите включить удаленную помощь
      .
    3. Щелкните правой кнопкой мыши подразделение, выберите «Свойства», щелкните
      «Групповая политика» и создайте новый объект групповой политики (или отредактируйте
      существующий).
    4. В редакторе групповой политики разверните папку
      Computer Configuration\Administrative Templates\System\Remote
      Assistance.Дважды щелкните политику «Предложение удаленной помощи» (
      ) и установите для нее значение «Включить».
    5. Выберите Разрешить помощникам удаленно управлять компьютером
      из раскрывающегося списка.
    6. Щелкните Показать, чтобы открыть диалоговое окно Показать содержимое
      и добавить пользователей.
    7. Нажмите OK и закройте диалоговое окно политики и
      Редактор групповой политики.

    Чтобы предложить удаленную помощь, вы должны работать с
    на рабочей станции Windows XP. Перейти к началу | Справка и поддержка и
    выберите «Использовать инструменты для просмотра информации о компьютере и диагностики проблем
    ».Затем нажмите «Предложить удаленную помощь», чтобы указать IP-адрес
    или имя хоста компьютера, к которому вы хотите подключиться
    .

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован.