Какие файловые системы поддерживает windows 2000

Работа по теме: OS_Hrapskiy_2005_OGIS. Глава: 8.5. Файловые системы Windows 2000. ВУЗ: УВАУГА.

8.5.1. Файловые системы типа fat

Операционная
система Windows
2000 кроме новой файловой системы NTFS,
разработанной специально для Windows
NT,
поддерживает несколько устаревших
файловых систем типа FAT
операционной системы MS-DOS.

Логический
раздел, отформатированный под файловую
систему FAT
(File
Allocation
Table
– таблица размещения файлов), состоит
из следующих областей:

1.Загрузочный
сектор

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

2.
Основная
копия
FAТ
содержит информацию о размещении файлов
и катало­гов на диске.

3.
Резервная
копия
FAT.

4.
Корневой
каталог

занимает фиксированную область размером
в 32 сектора (16 Кбайт), что позволяет
хранить 512 записей о файлах и каталогах,
так как каждая запись каталога состоит
из 32 байт.

5.
Область
данных

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

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

Таблица
FAT
(как основная копия, так и резервная)
состоит из массива индексных указателей,
количество которых равно количеству
кластеров области данных. Между кластерами
и индексными указателями имеется взаимно
однозначное соответствие – нулевой
указатель соответствует нулевому
кластеру и т.д.

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

– кластер
свободен (не используется);

– кластер
используется файлом и не является
последним кластером фййла (в этом случае
индексный указатель содержит номер
следующего файла);

  • последний кластер
    файла;

  • дефектный кластер;

  • резервный кластер.

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

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

Размер
таблицы FAT
и разрядность используемых в ней
индексных указателей определяется
количеством кластеров в области данных.
Для уменьшения потерь из-за фрагментации
желательно кластеры делать небольшими,
а для сокращения объема адресной
информации и повышения скорости обмена
наоборот – чем больше, тем лучше. При
форматировании диска под файловую
систему FAT
обычно выбирается компромиссное решение
и размеры кластеров выбираются из
диапазона от 1 до 128 секторов, или от 512
байт до 64 Кбайт.

Очевидно,
что разрядность индексного указателя
должна быть такой, чтобы в нем можно
было задать максимальный номер кластера
для диска определенного объема. Существует
несколько разновидностей FAT,
отличающихся разрядностью индексных
указателей, которая и используется в
качестве условного обозначения: FAT12,
FAT16
и FAT32.
В файловой системе FAT16
используются 16-разрядные указатели,
что позволяет поддерживать до 65 536
кластеров в области данных диска, а в
FAT32
– 32-разрядные указатели для более чем
4 миллиардов кластеров.

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

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

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

Файловые
системы FAT12
и FAT16
оперировали с именами файлов, состоящими
из 12 символов по схеме «8.3». В версии
FAT16
операционной системы Win­dows
NT
был введен новый тип записи каталога –
«длинное имя», что позволяет использовать
имена длиной до 255 символов, причем
каждый символ длинного имени хранится
в двухбайтном формате. Имя по схеме
«8.3», называемое теперь коротким,
по-прежнему хранится в 12-байтовом поле
имени файла в записи каталога, а длинное
имя помещается порциями по 13 символов
в одну или несколько записей, следующих
непосредственно за основной записью
каталога. Каждый символ кодируется
двумя байтами, поэтому 13 символов
занимают 26 байт, а оставшиеся 6 байт
отведены под служебную информацию.
Таким образом у файла имеется два имени
– короткое для совместимости со старыми
приложениями, не понимающими длинных
имен, и длинное имя, удобное в использовании.
Файловая система FAT32
также под­держивает короткие и длинные
имена.

Файловые
системы FAT12
и FAT16
получили большое распространение
благо­даря их применению в операционных
системах MS-DOS
и Windows
3.x
– самых массовых операционных системах
первого десятилетия эры персональных
ком­пьютеров. По этой причине эти
файловые системы поддерживаются сегодня
и
другими ОС, такими как UNIX,
OS/2,
Windows
95/98/ME
и Windows
NT/2000/XP.
Однако из-за постоянно растущих объемов
жестких дисков, а также возрастающих
требований к надежности, эти файловые
системы практически вытеснены вначале
сиcтемой
FAT32,
впервые появившейся в Windows
95 OSR2,
а затем и файловыми сиcтемами
других типов.

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

     FAT16

     FAT32

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

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

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

Universal Disk Format

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

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

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

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

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

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

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

Одной из важнейших характеристик операционной системы помимо управления памятью, ресурсами компьютера и задачами является поддержка файловой системы — основного хранилища системной и пользовательской информации. В данном обзоре мы рассмотрим основные файловые системы, поддерживаемые в Microsoft Windows 2000, — FAT16, FAT32, NTFS, а также такие файловые системы, как CDFS и UDF. Каждая файловая система имеет свои достоинства и недостатки, которые мы обсудим ниже.

Начнем с того, что вспомним, какие файловые системы поддерживаются в различных операционных системах фирмы Microsoft (табл. 1).

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

Файловые системы 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 Гбайт.

На рис. 1 показано, как организован том при использовании файловой системы FAT16.

В файловой системе FAT16 кластеры могут иметь различное значение. Например, это может быть свободный (неиспользуемый) кластер, кластер, занятый файлом, дефектный кластер или последний кластер файла.

Единственным различием между корневым и другими каталогами является то, что первый располагается в определенном месте и имеет фиксированное число вхождений. Каждый каталог и файл используют одно или более вхождений. Например, если число фиксированных вхождений для корневого каталога равно 512 и создано 100 подкаталогов, в корневом каталоге можно создать не более 412 файлов (512 – 100).

Для каждого файла и каталога в файловой системе хранится информация (в табл. 3 приведены данные для коротких имен файлов).

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

Как видно из рис. 2, в папке расположены три файла. Первый из них — FILE1.EXT занимает три кластера (файл не фрагментирован, кластеры 2, 3 и 4 расположены последовательно), второй файл — FILE2.EXT фрагментирован и располагается в кластерах 5, 6 и 8, а третий — FILE2.EXT занимает всего один кластер. Вхождение для каждого файла содержит адрес его начального кластера (2, 5 и 7 соответственно). Последний кластер каждого файла (4, 8 и 7) в качестве адреса следующего кластера содержит значение FFFF, указывающее на то, что это последний кластер для данного файла.

Так как все вхождения имеют одинаковый размер информационного блока, они различаются по байту атрибутов. Один из битов в данном байте может указывать, что это каталог, другой — что это метка тома. Для пользователей доступны четыре бита, позволяющих управлять атрибутами файла — архивный (archive), системный (system), скрытый (hidden) и доступный только для чтения (read-only) (рис. 3).

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 уровней от корня;
  • использование расширений имен файлов не обязательно.

Universal Disk Format

Поддержка файловой системы UDF является одним из новшеств в Windows 2000. Universal Disk Format — это файловая система, отвечающая стандарту ISO’13346 и используемая для обмена данными с накопителями CD-ROM и DVD. В настоящее время поддерживаются только диски версий UDF 1.02 и 1.50.

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

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

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

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

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

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

В табл. 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, зависит от числа атрибутов этого файла.

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

Максимальный размер тома зависит от используемой файловой системы. Windows
2000 позволяет форматировать тома для трех файловых систем: FAT16, FAT32 и NTFS.

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

Как мы уже отмечали, FAT16 поддерживает до 65 535 кластеров на одном томе.
Из этого факта вытекают ограничения, показанные в табл.
9.

Под управлением Windows NT и Windows 2000 размер кластера FAT16 для томов размером
от 2 до 4 Гбайт равен 64 Кбайт. Этот размер кластера используется для обеспечения
совместимости с некоторыми приложениями (например, с программами установки,
которые неверно высчитывают объем свободного пространства). Поэтому рекомендуется
использовать FAT32 для томов размером от 2 до 4 Гбайт.

FAT32 работает с томами, на которых есть как минимум 65 527 кластеров, а максимальное
число кластеров, поддерживаемых этой файловой системой для одного тома, — 4
177 918. Windows 2000 позволяет создавать тома размером до 32 Гбайт.

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

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

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

Одним из таких ограничений является таблица разделов. Индустриальные стандарты
ограничивают размер таблицы разделов 232 секторами. Другим ограничением является
размер сектора, который обычно равен 512 байт. Поскольку размер сектора может
измениться в будущем, текущий размер дает ограничение на размер одного тома —
2 Тбайт (232 x 512 байт = 241). Таким образом, 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

Появление Windows NT 4.0 в 1996 г. подвигло меня на написание статьи «NTFS против FAT», вызвавшей шквал читательских писем. Этот материал был посвящен двум разным файловым системам, которые поддерживала NT 4.0.

При тестировании последней версии NT — Windows 2000 — я лишний раз убедился, что все новое — это хорошо забытое старое. Файловые системы, приоритетные для новой версии Windows, — NTFS 5.0 (NTFS5) и FAT32 — модернизированные двойники своих предшественников. В предлагаемой статье речь пойдет о внутренних изменениях в семействе файловых систем NT и о том, когда лучше использовать каждую из них. Расскажу и о некоторых типичных «подводных камнях», на которые можно наткнуться при работе с данными файловыми системами в Windows 2000.

Только факты

Планируя переход на новую версию операционной системы, нужно не в последнюю очередь задуматься о совместимости с файловой системой предыдущей ОС. Windows 2000 поддерживает несколько типов файловых систем гораздо больше, чем NT 4.0. Это и FAT12, и FAT16, и файловая система компакт-дисков CD-ROM File System (CDFS), NT-версия файловой системы ISO-9660. Однако в Microsoft не планируют расширять или модернизировать эти системы, за исключением возможного добавления в CDFS поддержки формата RockRidge для UNIX. NTFS, основная файловая система Windows 2000, обогатилась новыми возможностями и приобрела более ясную структуру. Windows 2000 поддерживает также файловую систему Universal Disk Format (UDF), впервые представленную в Windows 98. Сейчас UDF в Windows 2000 работает в основном с DVD-ROM. Но, несомненно, в дальнейшем планируется заменить привязанную к CD-ROM систему CDFS новой UDF. Поддерживается и версия UDF 1.50, тогда как в Windows 98 — 1.02. Ассоциация Optical Storage Technology Association (OSTA), разработавшая стандарт UDF, выпустила версию 2.0. В нее добавлено несколько новых возможностей, включая поддержку длинных имен файлов и UNICODE, списков ACL, потоковых файлов. И хотя спецификации UDF позволяют выполнять запись (например, CD Recordable, CD-R, CD-Rewritable, CD-RW, DVD-RAM), версия UDF 1.50 в Windows 2000 обеспечивает режим только для чтения.

В ближайшее время разработчики Microsoft собираются выпустить для Windows 2000 драйвер UDF версии 2.0, но неизвестно, будет ли поддерживаться режим записи. В настоящий момент независимые поставщики используют драйверы UDF или программное обеспечение собственной разработки для устранения недостатков UDF версии 1.50 в Windows 2000.

Первая остановка — NTFS5

Специалисты Microsoft добавили в Windows 2000 много новых свойств и компонентов, например службу каталогов Active Directory; возможности управления хранением данных, такие, как квотирование дискового пространства и шифрование хранимых данных посредством Encrypting File System (EFS); систему иерархического хранения Hierarchial Storage Management (HSM); средства развертывания приложений с помощью объектов групповой политики и IntelliMirror. Все эти возможности являются частью новой операционной системы, но для их поддержки разработчикам Microsoft пришлось преобразовать NTFS в NTFS5. Windows 2000 поддерживает только NTFS5 и автоматически конвертирует дисковые тома из предыдущей версии в новую при установке системы или монтировании томов. Такая автоматическая конвертация может оказать влияние на системы, где используется несколько версий NT (дополнительная информация во врезке «Автоматическая конвертация в NTFS5: что нужно знать»). Файловая система NTFS5 поддерживает реализованные в Windows 2000 квотирование, шифрование файлов, reparse points, подсоединение каталогов, монтирование томов, разреженные файлы, журнал изменений.

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

Спецификация NTFS уже давно содержала метаданные для поддержки квотирования дискового пространства пользователем, но только Windows 2000 с NTFS5 стала первой версией NT, действительно поддерживающей квотирование. Квоты на дисковое пространство в Windows 2000 работают на уровне пользователя и тома (т. е. можно установить квоты для нескольких пользователей на каждом томе). SID пользователя определяет принадлежность файла и, следовательно, занимаемый на томах объем. Информация о занимаемом пространстве хранится на соответствующем томе, а не в выделенной базе данных. Такая возможность позволяет работать с NTFS более эффективно и гибко, особенно при использовании кластеров и системы хранения Storage Area Networks.

Экран 1. Включение функции квотирования и выделение лимитов на дисковое пространство в Windows 2000.

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

Кроме поддержки функции квотирования на уровне файловой системы в NTFS5 реализован открытый интерфейс управления квотированием, доступный независимым компаниям. Как и интерфейс дефрагментации, который дебютировал в NT 4.0, API квотирования позволяет производителям расширять возможности управления квотированием в Windows 2000. Это может понадобиться в том случае, если заложенных в системе возможностей окажется недостаточно. Для включения данной функции и настройки квот нужно выбрать закладку Quota в диалоговом окне Properties для любого тома, как показано на Экране 1.

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

Экран 2. Доступ к функции шифрования.

До сих пор для шифрования данных в системах NT приходилось пользоваться утилитами производства независимых компаний. В новой версии NT наконец реализована система обеспечения защиты данных — EFS. Новые возможности NTFS5 и Windows 2000 позволяют задействовать архитектуру открытых ключей для шифрования файлов, каталогов или томов с помощью EFS. Для зашифровки файла система шифрования использует ключ шифрования файла (File Encryption Key, FEK). Ключ пользователя применяется для формирования FEK, при этом заполняется поле дешифровки Data Decryption Field (DDF). Можно задать ключ для отдельного агента восстановления Recovery Agent, задающегося в поле Data Recovery Field (DRF). Recovery Agent, правами которого может обладать кто-то из менеджеров компании, способен дешифровать и восстанавливать зашифрованные данные, как и создавший их пользователь. Таким образом, ситуация, когда компания не может получить доступ к данным, зашифрованным ее сотрудником, просто исключена. Как и при выделении квот, доступ к функции шифрования возможен через диалоговое окно Properties любого расположенного на NTFS файла, каталога или тома (см. Экран 2).

Reparse points

NTFS5 поддерживает реализованную в Windows 2000 возможность применения объектов под названием reparse points. Программы для Windows 2000 и сама система используют эти «точки» для отслеживания операций над объектами в структуре NTFS и исполнения программного кода перед тем, как вернуть данные пользователю или приложению. По замыслу разработчиков Microsoft такой способ позволит расширить возможности файловой системы.

Подсоединение каталогов (directory junctions)

Процесс подсоединения каталогов заключается в том, что система Windows привязывает каталоги NTFS к особого типа reparse points. Этот тип reparse points позволяет подсоединять один каталог NTFS к другому — даже если последний расположен на другом томе, главное, чтобы он находился на той же системе. Например, можно подсоединить разделяемую папку на одном сервере к нескольким разным каталогам пользователей, и при доступе к каталогу менять букву логического диска не придется. Подсоединение каталогов для связывания общего каталога (например, common), который может располагаться даже в разных файловых системах, с подкаталогом в домашнем каталоге, позволит разным пользователям видеть подкаталог common у себя в домашнем каталоге (например, D:usersjimcommon, D:usersobby common). Таким образом, подсоединение каталогов позволяет объединить все пространство имен файловой системы с корневыми каталогами (корнями томов) или подкаталогами на локальном томе системы. Данная возможность унификации пространства имен, соединяющая ресурсы из разных мест в одном, напоминает механизм работы Dfs. Дополнительная информация о различиях между этими двумя технологиями представлена на врезке «Подсоединение каталогов против Dfs». Подсоединение каталогов позволяет строить гибридные конструкции из томов разного типа (например, RAID 1, RAID 5, не обычные тома).

Точки монтирования томов

Точки монтирования томов — объекты файловой системы, использующие reparse points для связывания каталога NTFS5 и целого тома (только тома целиком, а не его каталога). Например, можно назначить тому NTFS (скажем, K) каталог с именем data на томе J (отдельном томе NTFS). И каталог J:data теперь будет указывать на содержимое всего тома K. Точки монтирования томов позволяют администраторам и пользователям расширять объем дисковой памяти без переноса данных и переразбиения дисков. Как и подсоединение каталогов, точки монтирования томов расширяют возможности использования пространства имен и позволяют строить гибридные системы хранения данных.

Разреженные файлы (parse files)

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

Журнал изменений

При использовании томов большого объема повышается нагрузка на дисковую подсистему сервера со стороны приложений, которые производят анализ истории изменения файлов (например, программа резервного копирования анализирует дату и время последнего изменения файла, для определения необходимости архивирования). К счастью, Windows 2000 имеет новую функцию, именуемую журналом изменений, которая облегчает данную задачу. Журнал изменений — это специальный хранящийся на томе журнал, который фиксирует все изменения файлов данного тома. Чтобы журнал не переполнялся, разработчики Micorosoft сделали его циклическим, т. е. с определенного момента новые данные, фиксируемые в журнале, «затирают» старые (длина записи в журнале изменений составляет около 80 байт). В таком журнале отражаются все операции по изменению файлов, такие, как модификация и удаление. Фиксируется, однако, только тип операции над данными файла, а не сами изменения данных. Журнал изменений позволяет уменьшить нагрузку таких приложений, как Indexing Service и File Replication System, сильно зависящих от записей данного журнала. Этот компонент служит независимым разработчикам базой для написания более эффективных утилит и приложений с пониженной нагрузкой на систему ввода/вывода сервера и более высокой общей производительностью системы. По умолчанию, журнал изменений на томах NTFS5 в Windows 2000 отключен, поэтому приложениям или пользователям нужно включать его самостоятельно.

На арене наконец FAT32

До появления Windows 2000 только пользователи Windows 98 могли работать с несколькими мониторами, DirectX 7.0, DVD, устройствами Universal Serial Bus (USB). При работе с другими операционными системами приходилось создавать системы с двойной загрузкой, чтобы запустить Win9x и поиграть в любимую игру или загрузить фото с цифровой USB-камеры. Пользователи NT не могли работать с файлами на томах FAT32, которые создавались Windows 98 или Windows 95 SR2. Исключение составляли только драйвер для NT, обеспечивающий чтение томов FAT32, и его конкурент от Winternals, допускающий также и запись. В Windows 2000 поддержка FAT32 реализована по полной программе, устранены имевшие место трудности. Чтобы максимально эффективно использовать FAT32 в Windows 2000, нужно хорошо знать ее возможности.

FAT32, впервые представленная в Windows 95 SR2, была прямой наследницей файловой системы FAT (FAT16). Отличалась она тем, что прежде всего, более эффективно использовала дисковое пространство, поскольку поддерживала меньший размер кластера на одном и том же томе. Кластер, или адресуемый блок, — это минимальный блок дисковой памяти для записи данных на томе; он задается при форматировании диска. Все хранящиеся на диске файлы, вне зависимости от их реального размера, имеют размер, кратный размеру кластера. Кроме того, любой, даже небольшой файл (например, размером 1 Кбайт) должен занимать по меньшей мере один кластер драгоценного дискового пространства. Из-за этих ограничений на томах FAT остается много неиспользованного пространства.

И хотя FAT32 задействует более широкий диапазон размеров кластеров, чем FAT, и, следовательно, полнее использует дисковое пространство, NTFS справляется с этой задачей еще лучше. В Таблице 1 приведены размеры используемых FAT-кластеров, в зависимости от размера диска. Таблица 2 содержит аналогичную информацию для FAT32, а Таблица 3 — для NTFS.

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

Windows 2000 поддерживает файловую систему FAT32, но все же эта поддержка несколько ограничена. Например, в Win9x OSR 2.0 теоретически можно создавать тома FAT32 объемом 2 Тбайт (на практике ограничение составляет 127,53 Гбайт), но в Windows 2000 нельзя создать том FAT32 более 32 Гбайт. В Microsoft подтверждают этот факт и поясняют, что такое ограничение на FAT32 введено для того, чтобы стимулировать использование NTFS. Я не сторонник такого подхода, хотя NTFS и обеспечивает лучшую производительность и надежность на томах данного размера. Можно также использовать имеющиеся в Windows 2000 тома Win9x с объемом более 32 Гбайт (т. е. Windows 2000 может работать с унаследованными томами объемом более 32 Гбайт, но не способна их создавать). Другим ограничением FAT32, и упущением Microsoft, является невозможность конвертации томов FAT в FAT32 в системе Windows 2000. Можно конвертировать тома FAT и FAT32 в NTFS, но средства конвертации имеющегося тома FAT в FAT32 нет. Пока разработчики Microsoft не предоставляют такого инструмента в Windows NT Server Resource Kit или в будущем пакете исправлений, придется довольствоваться утилитами из Win9x или решениями независимых производителей.

Как сделать выбор

Изучив возможности NTFS5 и FAT32 и различия между ними, нужно решить, когда и где использовать каждую из систем. И хотя в заголовке статьи они противопоставлены друг другу, это взаимодополняющие продукты. Выбор файловой системы для каждого диска напрямую зависит от его задач. Во-первых, не следует использовать FAT32 на дисках сервера Windows 2000, так как FAT32 не обеспечивает необходимой безопасности дисковых томов. Во-вторых, только NTFS5 может поддерживать большинство нововведений в Windows 2000, таких, как служба Active Directory и Remote Installation Services. В большинстве случаев нет нужды гадать, какую систему использовать, поскольку диалоговые окна Windows 2000 сообщают, что данная функция требует наличия NTFS.

Один из слабых аргументов в пользу применения FAT (или FAT32) на сервере связан с загрузочным разделом. До появления Windows 2000 многие администраторы использовали FAT на загрузочном разделе, поскольку загрузочный диск DOS или Win9x мог предоставить доступ и помочь восстановить том FAT при сбое. Но включение в состав Windows 2000 средства Recovery Console (RC) опровергает и этот аргумент. RC — дополнительный вариант при загрузке системы, который можно установить на системе Windows 2000. Для этого нужно запустить winnt32/cmdcons на компакт-диске Windows 2000. Можно использовать RC для выполнения операций восстановления на томах NTFS, например для копирования файлов или их переименования. С появлением RC для файловой системы сервера Windows 2000 больше подойдет NTFS.

Может возникнуть ситуация, когда необходимо воспользоваться другим типом файловой системы. Например, компьютер с многовариантной загрузкой нескольких операционных систем (Win9x, Linux, OS/2, DOS) требует доступа к загрузочному разделу для всех систем. Для такого тома нужна файловая система, общая для всех ОС. Подробная информация о полезных утилитах для многовариантной загрузки приведена во врезке «Утилиты для файловых систем». Другим примером использования раздела FAT для загрузочного раздела служит применение менеджера загрузки от независимого производителя. Иногда подобные утилиты требуют установки на небольшой раздел FAT на первом жестком диске. Поскольку ни FAT32 (из-за того, что поддерживает тома размером от 512 Мбайт), ни NTFS (из-за больших накладных расходов на малых томах и ввиду того, что менеджеры загрузки производства независимых компаний чаще всего не поддерживают NTFS) для такого случая не подходят, FAT будет единственно возможным решением.

Таблица 4 поможет определиться в выборе файловой системы для конкретных нужд. Для решения проблем многовариантной загрузки можно воспользоваться утилитами от Winternals Software, такими, как NTFSDOS, FAT32 for Windows NT 4.0, NTFS for Win98.

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

ОБ АВТОРЕ

Шон Дейли — один из редакторов журнала Windows NT Magazine и президент компании iNTellinet Solutions, занимающейся консалтингом и сетевой интеграцией. Имеет звание MCSE. Последней из его книг была «Optimizing Windows NT», выпущенная издательством IDG Books. С ним можно связаться по адресу электронной почты: sean@ntsol.com.


АВТОМАТИЧЕСКАЯ КОНВЕРТАЦИЯ В NTFS5: ЧТО НУЖНО ЗНАТЬ

Ранние версии NTFS система Windows 2000 не поддерживает. Чтобы система могла работать с томом NTFS, нужно конвертировать его в формат NTFS 5.0. Процесс не требует участия пользователя — Windows автоматически преобразует созданный ранними версиями системы том NTFS в формат NTFS5 в момент монтирования тома. Система не выдаст никакой подсказки для подтверждения. Процесс этот происходит быстро (даже для больших томов), и после преобразования перезагружать систему не требуется. Однако при работе в неоднородной среде Windows 2000 могут возникнуть проблемы. Правда, все это касается только локальных дисков, подсоединенных к данной системе, а никак не томов, доступных по сети, которые Windows 2000 не будет модифицировать или конвертировать.

Чтобы использовать системы с многовариантной загрузкой или сменным диском, отформатированным в NTFS, нужно знать некоторые особенности NTFS5. Чтобы NT 4.0 работала с NTFS5, необходимо установить пакет исправлений Service Pack 4 (SP4) или более поздний на все компьютеры с NT. Предыдущие пакеты исправлений не будут работать с томами и выдадут ошибку при начальной загрузке, если Windows 2000 конвертирует загрузочный раздел диска в NTFS5. Преобразование NTFS4 в NTFS5 — односторонний процесс. Обратную конвертацию провести невозможно, даже с помощью утилит независимых разработчиков. Можно только восстановить систему с резервных лент после переустановки NT 4.0. После конвертации тома в формат NTFS5 обнаружится, что нельзя установить или переустановить NT 4.0 из-за ошибочного завершения процесса инсталляции. Кроме того, поскольку NT (даже с SP4 и выше) не может запустить Chkdsk на томах NTFS5, для восстановления дисков нужно загружать Windows 2000.

Многие пользователи хотят установить Windows 2000 наряду со своей рабочей версией NT 4.0, для оценки и тестирования новой операционной системы. Но такая установка может повлиять на уже установленную NT. Из-за невозможности переустановить NT или использовать Chkdsk для проверки вновь созданных томов, управлять установленной системой становится сложно. Я обнаружил, что после выполнения односторонней конвертации система NT начинает работать менее стабильно, а переустановить ее нельзя. Я убедился в этом, когда установил Windows 2000 на отдельный том на своей рабочей станции NT. Если нет желания в дальнейшем использовать именно NT, не стоит беспокоиться о последствиях установки Windows 2000. Но если переход к новой версии намечается только через какое-то время, лучше не устанавливать ее на свою рабочую систему. Можно выделить для этого отдельную машину или подождать до полного перехода на новую версию.


УТИЛИТЫ ДЛЯ ФАЙЛОВЫХ СИСТЕМ

Существует две утилиты производства независимых компаний, которые очень пригодятся при использовании компьютера с установленными на нем разными операционными системами. Первая — Winternals Software?s FAT32 for Windows NT 4.0 — поможет использовать FAT32 на системах с установленными Windows NT и Windows 9х. Данная утилита поддерживает функции чтения и записи при работе с томами FAT32, но не позволяет создавать загрузочный том NT на FAT32. При работе с томами FAT32 на системах с двойной загрузкой Windows 9х и Windows NT, где доступ к томам FAT32 необходим из обеих систем, данная утилита послужит подспорьем.

Другая утилита, Winternals NTFS for Windows 98, обеспечивает возможность чтения и записи при работе с томами NTFS, созданными как в NT, так и в Windows 2000.

При использовании многовариантной загрузки, объединяющей Windows 9х, NT 4.0 и Windows 2000, эти две утилиты просто необходимы.


ПОДСОЕДИНЕНИЕ КАТАЛОГОВ ПРОТИВ DFS

Знакомство с Dfs, как дополнением для NT4.0 или уже в составе Windows 2000, приводит к мысли, что функция подсоединения каталогов во многом напоминает работу этой службы. Однако различия между ними весьма существенны, и используются эти технологии для разных целей (см. Таблицу А).

ТАБЛИЦА A. СРАВНЕНИЕ ВОЗМОЖНОСТЕЙ ТОЧЕК ПОДСОЕДИНЕНИЯ DFS И ТОЧЕК ПОДСОЕДИНЕНИЯ КАТАЛОГОВ NTFS.

Характеристика Точка подсоединения Dfs Точка подсоединения каталогов NTFS
Начальная точка подсоединения Локальный разделяемый ресурс Локальный каталог NTFS
Целевая точка подсоединения Любой сетевой ресурс Любой существующий локальный каталог
Отказоустойчивость Да (в Windows 2000) Нет
Восстановление Да Да (с помощью Chkdsk)
Возможность множественных подсоединений Да Нет
Поддержка кластеров Да Нет
API Да Да
Графические средства управления Да Минимальные
Требования Windows 2000 или NT Server 4.0 Windows 2000 с NTFS5

ТАБЛИЦА 1. РАЗМЕР КЛАСТЕРА (АДРЕСУЕМОГО БЛОКА) FAT ДЛЯ ДИСКОВ РАЗНОГО ОБЪЕМА.

Размер тома, Мбайт Размер кластера по умолчанию, Кбайт
0-15* 4
16-31 0,5
32-63 1
62-127 2
128-255 4
256-511 8
512-1023 16
1024-2047 32
2048-4095 64
4096-8191 128**
8192 и более 256**

* Тома размером менее 16 Мбайт используют 12-разрядную файловую систему (FAT12).

** Для поддержки FAT разделов объемом 4 Гбайт, которые используют кластеры 128 Кбайт и 256 Кбайт, диск должен задействовать сектор размером более 512 байт.


ТАБЛИЦА 2. РАЗМЕР КЛАСТЕРА (АДРЕСУЕМОГО БЛОКА) FAT32 ДЛЯ ДИСКОВ РАЗНОГО ОБЪЕМА.

Размер тома, Мбайт Размер кластера по умолчанию, Кбайт
512-8191* 4
8192-16 383 8
16 384-32 767 16
32 768 и более 32

* FAT32 не поддерживает диски объемом менее 512 Мбайт.


ТАБЛИЦА 3. РАЗМЕР КЛАСТЕРА (АДРЕСУЕМОГО БЛОКА) NTFS5 ДЛЯ ДИСКОВ РАЗНОГО ОБЪЕМА.

Размер тома, Мбайт Размер кластера по умолчанию, Кбайт
0-512 0,5
513-1024 1
1025-2048 2
2049 и более 4

ТАБЛИЦА 4. ВЫБОР ФАЙЛОВОЙ СИСТЕМЫ ДЛЯ WINDOWS 2000.

Назначение тома Файловая система
Все тома на серверах Windows 2000 NTFS5
Тома, содержащие файлы, требующие конфиденциальности (включая доступ с полномочиями и шифрование) NTFS5
Тома, требующие квотирования NTFS5
Тома, требующие сжатия NTFS5
Тома рабочих станций, доступные по сети NTFS5
Тома на системах с двойной загрузкой (Windows 2000 Professional и Windows 9x OSR) FAT32 (Каждую операционную систему нужно устанавливать на свой раздел, его размер для FAT32 должен быть не менее 512 Мбайт.)
Тома, к которым необходим доступ MS-DOS, Windows 3.x, Windows for Workgroups, Win95 OSR, OS/2 FAT16
Все остальные тома NTFS5

Этот материал написан посетителем сайта, и за него начислено вознаграждение.

Подумал, может кому интересно будет
Выдирал из страниц разных выпусков журнала Изона в 1 файл. Вот что получилось. Сам читал, интересно

Иван Марциновский, Алексей Смирнов

Кто-то обожает пингвинов и готов рисовать на заборах разбитые вдребезги окна, подписываясь незамысловатым «OS/2 — forever», кто-то же, наоборот, боготворит цветастый флаг Майкрософт Windows и готов отлупасить любого, выкрикивающего «Виндовс Маст Дай». Однако и тем, и другим нужно смотреть фактам в лицо: операционными системами семейства Windows пользуется огромное количество людей. Почему? Наверное, потому, что они просты для начального обучения и удобны в использовании. Но эта первоначальная простота — иллюзорна. Для того чтобы использовать все возможности некоторых операционных систем этого семейства (особенно для администрирования не одиноко стоящего компьютера, а локальной сети), нужно обладать некоторыми знаниями как о конкретных программных инструментах, помогающих в работе, так и об основах функционирования «внутренностей ОС». Всем этим аспектам и будет посвящен целый ряд статей, озаглавленный нами «курс молодого администратора». В них мы постараемся изложить редко публикуемый в русскоязычной литературе материал, который, тем не менее, будет интересен тем, кто действительно хочет разобраться, как работает Windows 2000, а также, возможно поможет устранить часть неполадок, связанных с неправильной настройкой системы. Конкретно администрированию будет посвящена лишь часть материала, большая же часть будет касаться общих аспектов и базовых принципов работы ОС семейства Windows, без знания которых мы не представляем себе мало-мальски эффективную работу администратора. Почему «молодого» администратора? Да потому, что, во-первых, на наш взгляд, многоопытный администратор за необходимой информацией обратится к огромным многостраничным талмудам, посвященным этой тематике, а не ограничится журнальными статьями; а во-вторых, что наиболее важно, потому, что мы постараемся излагать материал как можно понятнее и подробнее, не гнушаясь объяснять вещи, которые некоторым могут показаться тривиальными. Впрочем, мы не будем также ограничиваться исключительно простыми вещами, а постараемся идти от простого к сложному, как и должно при изучении любого предмета. Естественно, это не всегда будет получаться, так как это наш первый опыт такого рода работы, по-этому мы будем рады, если вы будете обращаться к нам за дополнительной информацией или разъяснениями, а также вносить свои предложения и идеи относительно дальнейшего материала. Вы всегда можете связаться с нами по адресам: axells@mails.ru и zanzabuku@mail.ru. Итак, после небольшого предисловия, приступим:

Часть первая.

Введение в ядро NT

«Внезапно меня озарило. Мой разум опять предал меня. Был только один способ объяснить ее метаморфозы: дон Хуан, должно быть, сделал ее своей ученицей. Как иначе старая женщина могла превратиться в такое таинственное, полное силы существо? Я должен был понять это с первого взгляда. Но я, как обычно, ожидал увидеть то, что соответствовало моим представлениям о ней, а в них такая возможность не входила. »

Карлос Кастанеда,

«Второе кольцо силы»

«Домашний зоопарк» операционных систем — проблема выбора

Рождение и становление операционной системы — это зачастую долгий эволюционный процесс, длящийся десятилетиями: одну версию ОС сменяет следующая, добавляются новые элементы и детали… а потом… потом семейство вымирает, как вымер, скажем, DOS или динозавры.

Операционные системы не появляются «вдруг» или «из ниоткуда», если проследить их историю, то всегда можно узнать, откуда, как говорится, уши растут. А обычно эти самые уши растут из ранних версий малораспространенных, но компактных и быстрых операционок. Так, собственно, нb для кого это не секрет, что «Майкрософт» разработал свой легендарный DOS (Disk Operation System) на основе кода, купленного за $50000 у небольшой фирмы с названием Seattle Computer Products, a Windows — уже на основе DOS. Linux, значение и место на рынке которого сейчас очень трудно оценить однозначно, изначально был ни чем иным, как изощренной фантазией Линуса Торвальдса на тему операционной системы Minix — упрощенной версии UNIX. Конечно, в процессе своей эволюции и становления от первоначального «праотца» остается очень мало, код переписывается множество раз, добавляются новые возможности, идеи, реализации. Но все же зачастую некоторые рудименты остаются — это, в первую очередь, идеи дизайна операционной системы — темное наследие прошлых лет. Как известно? из рубахи очень сложно сделать штаны, сколько новых карманов ни пришивай и пуговиц ни спарывай, их лучше будет сшить заново. Так же сложно изначально однопользовательскую и однозадачную операционную систему превратить в многопользовательскую и многозадачную, да еще и стабильную сетевую платформу. Именно поэтому семейства операционных систем сменяют друг друга, приходят новые концепции и парадигмы, затрагивающие как строение ОС, так и стили программирования под эти платформы, но всегда остается нечто неуловимое, ускользающее от пристального взора, что объединяет целые семейства операционных систем. Для Windows это очень характерно, поэтому важно отдавать себе отчет, что общего в старых и новых системах и чем они различаются. Операционки проходят пору детства, полную многочисленных ошибок периода роста и недоработок, стадию зрелости, когда большинство ошибок исправляется, механизмы настройки и работы продумываются до мелочей, и этап старости, когда система уже не в состоянии нормально справляться с растущими задачами и потребностями пользователей. Новые возможности реализуются обычно в виде заплат, и чаще всего сделано это бывает «через одно место», так как их нормальная реализация изначально не была даже предусмотрена разработчиками, вследствие чего она и невозможна без кардинальной и полной переработки всего ядра. Так, для семейства Windows 9х (а мы все же склонны отделять его историю от истории DOS, хотя для этого нет особых оснований, кроме исключительно психологических), win3.1 — было детством, win95 — юностью, win98 — зрелостью… Билл Гейтс вкупе со Стивом Балмером, как известно, хотели вычеркнуть «старость» и обещали похоронить все семейство win9x, сделав win98 последней версией старой платформы. Но обещанного, как известно, три года ждут, особенно, если имеешь дело c такой непредсказуемой компанией, как «Майкрософт»… На свет появились и Win98SE (которая, между прочим, все еще установлена на большинстве домашних компьютеров пользователей и даже в мелких организациях), и мертворожденный младенец Win ME, и Win CE. Впрочем, все эти подрумяненные релизы старой ОС лишь ненадолго продлили ее агонию: становится совершенно очевидно, что времена win9x ушли, и час ее, как говорится, пробил. Будущее за операционными системами другого поколения, и это вовсе не обязательно будут продукты от «Майкрософт». Но и им, в свою очередь, есть что предложить взамен устаревшему продукту.

Король умер, да здравствует король, или история развития NT?

Несмотря на — или, может быть, — благодаря стремительному успеху серии Windows 3.1, позже преобразованной в Windows 95 и Windows 98, который превзошел ожидания даже своих создателей, «Майкрософт» разработала другую ветвь своих продуктов — Windows NT (где NT означает New Technology — новая технология). Грубо говоря, заслуга разработки семейства NT принадлежит даже не совсем «Майкрософт», точнее, не одной только «Майкрософт», так как изначально работы по созданию операционной системы следующего поколения велись совместно как программистами и дизайнерами из команды знаменитого Дэвида Катлера (Dave Cutler), так и специалистами голубого гиганта (IBM). Перед всеми этими, безусловно, по-своему талантливыми людьми стояла задача разработать NT так, чтобы она удовлетворяла пяти основным требованиям:

— Переносимость

— Расширяемость

— Надежность

— Совместимость

— Производительность

Основываясь на своем опыте работы с операционными системами в DEC (Digital Equipment Corporation), Катлер основной приоритет придавал проектированию операционной системы, поскольку он прекрасно сознавал, что создаваемый его группой код будет использоваться очень долго. Вследствие этого он пытался создать хорошо и цельно спроектированную систему, в противоположность тому варианту, который бы оптимально работал, в первую очередь, с оборудованием, имевшимся на тот момент времени. Кроме того, с самого начала предполагалось, что система будет предназначена для работы в качестве сервера сети, или, на худой конец, рабочей станции, следовательно, к ней предъявлялись исключительно жесткие требования относительно надежности и безопасности. А так как она должна была быть еще и переносимой, Катлер не разрешал сотрудникам оптимизировать код на ассемблере, поскольку он был бы аппаратно-зависимым. Подобный подход к проектированию операционной системы привел к тому, что первые версии Windows NT работали очень медленно даже на самых производительных персональных компьютерах того времени. Но тут сыграли свою роль два фактора: во-первых, разработчики, увидев, насколько громоздкой получилась система, существенно ее оптимизировали, а во-вторых, появились более мощные компьютеры, и проблема производительности решилась сама собой. Вслед за этим начали проявляться приятные свойства NT: разработчикам не нужно было переписывать часть кода ядра системы, достаточно было перекомпилировать уже давно отлаженный исходный код, используя более «свежий» оптимизирующий компилятор языка высокого уровня. В то же время не прекращались работы по уменьшению размера системы, повышения ее быстродействия и, разумеется, надежности (проект Daytona, названный в честь автострады во Флориде), но при этом оптимизировался не низкоуровневый код под конкретный процессор, а высокоуровневый, который работал бы быстрее на любых машинах.

Идея оказалась действительно удачной. Качество конечных продуктов сильно улучшилось, к тому же код на Си выглядел более понятным и удобоваримым, чем набор инструкций на ассемблере, а значит, подобный подход позволял с большей легкостью и оперативностью вносить изменения в ядро, при этом допускалось меньшее количество ошибок. Недаром именно так пишутся практически все современные операционные системы, начиная от Linux и заканчивая Solaris, FreeBSD и BeOs. Теперь же, бросая взгляд в прошлое, можно с уверенностью сказать, что такая установка полностью себя оправдала и в случае с творением «Майкрософт», поскольку базовая внутренняя архитектура Windows 2000 (Windows XP) принципиально не изменилась по сравнению с Windows NT, за исключением добавления поддержки Plug and Play и ACPI.

Можно констатировать, что на сегодняшний день операционные системы на основе технологии NT являются наиболее производительными, масштабируемыми и, что самое главное, хорошо отлаженными и проверенными из всех, которые когда-либо выпускала «Майкрософт». Безусловно, «Майкрософт» не единственный производитель операционных систем, но именно эта компания является фаворитом на рынке десктопных операционок, то есть операционных систем, устанавливаемых преимущественно на домашних компьютерах пользователей и применяемых в сфере малого и — частично — среднего корпоративного бизнеса. И сильных конкурентов в этом (наиболее интересующем нас) секторе рынка у нее, к сожалению, пока нет. Положение с OS/2 — хуже некуда, IBM фактически отказалась от дальнейшего развития этой платформы, BeOS канула в лету, Linux при всем нашем уважении к нему, все же борется за совершенно другую часть рынка, рынка серверных операционных систем, предназначенных скорее либо для крупного бизнеса, либо для информационных систем среднего уровня ответственности. И что бы там нb говорили оголтелые фанаты пингвинов и FreeBSD’шных чертиков, некоторая часть серверов функционирует все же под управлением NT, а не UNIX. Поэтому выход каждой новой версии Windows является очень интригующим и волнующим широкие массы общественности событием. Тем более что Windows 2000 — это не только очередной главный выпуск операционной системы Windows NT, она также рекламируется «Майкрософт» как самое существенное из всех обновлений NT. Даже в рекламу так разукрашенной и размалеванной Windows XP «Майкрософт» не вложила столько же средств и усилий. Как мы видим, «мелкомягкие» намериваются сделать эту операционную систему базой для всех своих будущих решений (о чем они и сами заявляют): от потребительских продуктов до высокопроизводительных серверов, причем уже сейчас сделаны серьезные шаги в этом направлении. На самом деле, даже Windows 2000 — это не одна операционная система, а четыре, собранныt на одном ядре: Professional, Server, Advansed Server и Datacenter Server. Windows 2000 Professional — наиболее популярная на сегодня — действительно, как следует из названия, предназначена для установки либо на небольшие изолированные компьютеры профессиональных или причисляющих себя к таковым пользователей, либо на клиентские компьютеры в сети. Самая же мощная — Advanced Server — может устанавливаться на крупные сетевые серверы. Ее мощностей вполне хватит даже на крупную корпорацию, судите сами: возможность создания масштабируемых кластерных систем (возможность построения систем с высокой частотой запросов, до 4 узлов); корпоративная архитектура памяти (всего — до 64 Гбайт физической памяти); масштабируемая мультипроцессорная симметричная обработка, поддержка до 32 процессоров. Вопрос только в том, будут ли операционные системы от «Майкрософт» использовать в крупных корпорациях. Но если «Майкрософт» при разработке новых операционных систем будет придерживаться той же политики, которой она придерживалась при создании Windows 2000, она сможет вернуть доверие, утраченное из-за не очень стабильной работы win9x. Так что, нравится вам это или нет, один из вариантов Windows 2000 предназначен стать в будущем вашей настольной (или не очень) операционной системой (если вы, конечно, придерживаетесь операционных систем от «Майкрософт»), а потому, как нам кажется, возможности этой, бесспорно, качественной операционной системы следует рассмотреть повнимательнее.

Отличия Windows 2000 от версий Windows 98 и Windows NT 4.0

Всем известно, что Windows NT всегда отличалась в лучшую сторону от своей, так сказать, «домашней сестры» — Windows 95 — 98. Это и более надежное ядро, и полностью реализованный защищенный режим, и повышенная безопасность. Кроме того, файловая система NTFS (что расшифровывается как NT File System) дает гораздо больше возможностей, чем устаревшая FAT16 или пришедшая ей на смену FAT32; с ней вам не придется больше беспокоиться о вечно потерянных цепочках и кластерах. Традиционно первые системы NT использовались почти исключительно на серверах, там, где было неудобно или по каким-то причинам невозможно применение UNIX. Но, как известно, ничто не живет в человеке так долго, как старые привычки и традиции, поэтому даже сейчас можно очень часто слышать высказывания типа: «Зачем мне дома Win2000, я же играть собираюсь…» Конечно, у каждого свои запросы, но если вам нужна безопасность данных, и вы не хотите, чтобы «злые хакеры» запросто смогли узнать ваш пароль на доступ к Интернету, или вам надоели постоянно зависающие приложения то, возможно, вам следует подумать об установке новой операционной системы. Ну а если вы используете компьютер на работе, и вам важна конфиденциальность и, главное, сохранность информации, то причин использовать именно NT у вас становится еще больше. Еще одно преимущество Win2000 — она официально локализована для русскоязычных пользователей, причем не только настольный вариант, но и более мощные серверные версии.

Если с отличиями от серии 9x все более или менее понятно — Windows 2000 имеет принципиально другое внутреннее устройство, подробнее про которое будет написано чуть ниже — то об отличиях от NT 4.0 нужно поговорить отдельно. В первую очередь, следует упомянуть следующие элементы, которые подверглись изменению:

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

— Поддержка оборудования — добавлена поддержка Plug and Play (PnP), Advanced Configuration and Power Interface (ACPI), USB, IEEE 1394 (FireWire), а также новая модель драйверов мультимедиа-устройств (WDM).

— Простота конфигурирования — усовершенствованны средства установки и конфигурирования приложений и аппаратных устройств.

— Простота администрирования — введение консоли управления Microsoft Management Console (MMC).

Также нужно отметить тот факт, что благодаря многочисленным изменениям во внутренних алгоритмах работы, Windows 2000 стала работать быстрее и эффективнее, чем NT 4.0 (в основном это касается приложений, использующих графику и, в том числе, графический интерфейс GUI). Немаловажен и тот факт, что теперь вам гораздо реже придется перезагружать систему после внесения каких-либо изменений в настройки ее работы.

На этом, на наш взгляд, можно завершить краткое описание Windows 2000, надеюсь, мы ввели вас в курс дела относительно истории ее разработки и смогли убедить в преимуществах использования именно этой версии. Впрочем, не будет лишним еще раз напомнить, что мы обсуждаем Windows 2000, а не ХР, потому что она является СЕРВЕРНОЙ операционной системой и «Майкрософт» уделяет значительно больше внимания устранению ошибок и технической поддержки Windows 2000. Тем не менее, из-за того что системы 2000 и XP имеют схожее строение, почти всегда мы употребляем первую, можно смело ставить и вторую — справедливость сказанного не изменится.

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

Windows 2000 и XP — курс молодого администратора (Часть 2)

Иван Марциновский, Алексей Смирнов

В первой части статьи мы дали краткое описание Windows 2000, надеюсь, мы ввели вас в курс дела относительно истории ее разработки и смогли убедить в преимуществах использования именно этой версии ОС. В этой части мы рассмотрим внутренние механизмы работы ядра NT.

Часть вторая.

Внутренняя кухня Windows 2000.

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

Карлос Кастанеда, «Учение дона Хуана»

Итак: что хорошего предлагает нам Windows 2000? В первую очередь, это, конечно, защищенность данных и отказоустойчивость. Звучит хорошо, но вдумчивого и любопытного читателя должно интересовать, что же стоит за общими словами и заявлениями рекламных представителей «Майкрософт». «Да, масштабируемость; да, высоко-производительность; да, повышенная надежность… все это мы уже слышали тысячи раз, и тысячи раз потом снимали лапшу с ушей и имели на деле то, что имели… — может сказать он. — А что же по существу?» — и будет совершенно прав. Голые слова, не подкрепленные фактами, так и останутся бесполезным сотрясанием воздуха. По существу же, мы имеем операционную систему, в которой разработчики, по крайней мере, попытались применить на практике очень разумные идеи, повышающие стабильность системы и ее помехозащищенность. Данные и код операционной системы изолированы от пользовательских приложений целым рядом специальных методов. Для предотвращения доступа приложений к критически важным данным операционной системы и устранения риска их модификации Windows 2000 использует два режима доступа к процессору: пользовательский и режим ядра. Стоит заметить, что хотя на самом деле в архитектуре процессоров x86 предоставлено четыре уровня привилегий (так называемых колец), на которых могут работать процесоры, «Майкрософт» поступила, как всегда, достаточно оригинально, и решила использовать только два из них: нулевой уровень для исполнения в режиме ядра и третий — для пользовательского режима. С другой стороны, разработчиков тоже можно понять: мечта о мировом господстве на рынке операционных систем не дает им покоя, поэтому NT разрабатывалась так, чтобы работать не только на процессорах фирмы Intel, но также, например, на Digital Alpha или IBM PowerPC, которые могли иметь только два уровня привилегий. Как уже упоминалось, Windows 2000 основана на концепции микроядра (microkernel), а значит, разработчики ОС постарались минимизировать объем кода, исполняемый в режиме супервизора, то есть в режиме, при котором код обладает возможностью прямого доступа ко всему аппаратному обеспечению и ко всей памяти. Естественно, что в таком случае только данный код может управлять работой всех устройств и предоставлять программам базовые сервисы, такие, как, например, выделение (или отказ в выделении) памяти, доступ к дисковой подсистеме и т. д. От работоспособности микроядра полностью зависит работоспособность компьютера в целом, поэтому к нему предъявляются достаточно высокие требования:

— высокая надежность,

— высокая производительность,

— небольшой объем кода (это особенно актуально для ОС реального времени).

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

Концепция микроядра подразумевает, что фактически все компоненты операционной системы, за исключением небольшого базового программного модуля (который и является микроядром), работают в пользовательском режиме на равных условиях со всеми остальными программами, работающими в системе. Очевидно, что отказоустойчивость всей системы при таком подходе возрастает, так как сбой одного из компонентов приводит к минимальному ущербу, при этом всегда остается возможность этот компонент перезапустить. Грубо говоря, если только ядро осталось после сбоя «живым», нажатие Ctrl+Alt+Del приведет к появлению окна «Безопасность Windows», с помощью функций которого можно решить большинство проблем, причем это произойдет немедленно, так как соответствующий поток процесса ядра при обычных условиях имеет наивысший приоритет. Если же вы обладаете правами администратора, у вас есть очень простой способ «подвесить» систему: нужно всего-то написать программу, которая будет к некоторому числу добавлять по единичке, пока не будет достигнуто значение, скажем, 1045 (те, кто хоть раз занимался программированием, меня поймут).

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

Но вернемся к микроядру. Кроме всего прочего, система, основанная на концепции микроядра, позволяет производить более гибкое конфигурирование, так как любой из компонентов ОС можно легко заменить на другой, поддерживающий точно такой же программный интерфейс. На самом деле, для увеличения производительности Windows 2000 использует некий гибрид микроядра и монолитного дизайна, так как некоторые ее базовые компоненты, например, диспетчер процессов и диспетчер виртуальной памяти, все-таки функционируют в режиме ядра — это позволяет им взаимодействовать между собой не через медленные механизмы межпроцессорной передачи данных (передачи данных между несколькими программными процессами), а используя общую память. Вторая причина включения дополнительного кода в режим ядра кроется в том, что процессор, занятый выполнением некоторой задачи, реализуемой соответствующим процессом (или, как говорят, работающий в определенном контексте), работает с текущими значениями процессорных регистров, а также указателей на используемую память (стек, данные, исполняемый код). Эти значения различны для различных потоков, поэтому, прежде чем перейти на выполнение другой программы, реализуемой другим процессом, процессор должен сохранить текущий контекст, а затем загрузить контекст нового процесса, на выполнение которого он переключается. Данная процедура называется переключением контекста и может занимать существенное время. Использование гибридного дизайна позволяет снизить количество переключений контекста. Хотя, теоретически и это несколько, снижает надежность системы, все равно она оказывается не в пример больше, чем у windows 9x. За счет полностью реализованного режима виртуальной машины микроядра обеспечиваются многие дополнительные возможности, недоступные, скажем, Windows 98. Это, в первую очередь, обеспечение приложениям индивидуального адресного пространства для каждого процесса и предоставление уровня защищенности не хуже, чем по стандарту C-2/Е-3, здесь ключевую роль играет то, что Windows 2000 отказывает процессам, обращающимся к оборудованию и памяти, которые им не принадлежат. Достигается это достаточно простыми методами, например, каждая страница в виртуальной памяти помечается тэгом, определяющим, в каком режиме должен работать процессор для чтения или записи данной страницы памяти. Таким образом, страницы системной памяти оказываются недоступными для всех процессов, не работающих в режиме ядра. При попытке выполнения любой запрещенной операции центральный процессор автоматически генерирует исключение, и управление передается микроядру NT. Микроядро определяет, разрешено вызвавшей исключение программе выполнять такую операцию, или нет. Если операция признана несанкционированной, управление передается программе Dr.Watson, которая оповещает о возникшей ошибке пользователя, а система в этот момент быстренько завершает работу приложения, попытавшегося выполнить незаконное с точки зрения ОС действие. Естественно, подобный алгоритм работы — это не особая и сверхгениальная разработка талантливых программистов из «Майкрософт», а хорошая реализация тех аппаратных возможностей «железа», которые появились в современных микропроцессорах.

Для того чтобы обратиться к оборудованию или памяти, а также совершить некоторые другие операции, недоступные в пользовательском режиме, приложения (а также многие подсистемы самой Windows 2000, которые не работают в режиме ядра) обращаются к системным вызовам микроядра ОС, которые также называют естественным API. В состав этого API входит более 250 функций, обращение к которым осуществляется при помощи системных вызовов, основанных на программных исключениях. Все вызовы API обслуживаются как системными службами NT, так и модулем NT Executive — «сердцем» операционной системы, над которым так дорожит и трясется «Майкрософт».

Модуль NT Executive представляет собой несколько программных потоков, которые закоренелые программисты-системщики почему-то предпочитают называть рабочими потоками; естественно, все эти потоки выполняются в режиме ядра. Код практически всех подсистем этого модуля находится в файле ntoskrnl.exe, кроме, разве что, подсистемы win32, код которой расположен в файле win32k.sys, и уровня абстракции оборудования HAL (Hardware Abstraction Layer), который содержится в файле halxxxxx.dll, где xxxxx зависит от типа используемого компьютера. NT Executive сосредотачивает все самые важные части ОС:

— Ядро — это основная часть Windows 2000, в реализации которой кроется вся мощность и красота платформы NT. Прежде всего, ядро отвечает за выделение памяти для приложений и распределение процессорного времени, то есть, фактически, за реализацию многозадачности. Для этого в состав ядра входит так называемый планировщик потоков (threads scheduler), который назначает каждому из потоков один из 32 уровней приоритета. Уровень 0 зарезервирован для системы. Уровни от 1 до 15 назначаются исполняемым программам, а уровни от 16 до 31 могут назначаться только администраторами. Планировщик делит все процессорное время на кванты фиксированного размера (как менять размер кванта, еще будет рассказано в следующих частях нашей статьи), при этом каждый программный поток выполняется только в течение отведенного ему времени, и если к окончанию кванта он не освобождает процессор, планировщик в принудительном порядке приостанавливает этот поток и меняет контекст процессора, настраивая его на выполнение другого потока, обладающего тем же приоритетом. Ядро также осуществляет всю работу, связанную с обработкой программных и аппаратных прерываний.

— Уровень абстракции оборудования (HAL) — это прослойка между операционной системой и аппаратурой компьютера. HAL имеет свой собственный API, предназначенный для транслирования обращений всех приложений и драйверов в конкретные команды процессора, учитывающие его внутреннюю структуру и нюансы работы. HAL и ядро написаны на языке низкого уровня, в то время как остальные компоненты ОС реализованы на языке C и C++, поэтому именно они отвечают за переносимость NT на системы с другой архитектурой. На данный момент Windows 2000 есть в версиях как для процессоров PC совместимых компьютеров (Pentium и старше), так и для нового перспективного семейства 64-битных процессоров EPIC (Itanium, Itanium-2).

— Диспетчер ввода-вывода (I/O Manager) — интегрирует добавляемые в систему драйверы устройств в операционную систему Windows 2000.

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

— Диспетчер процессов — предоставляет интерфейс, при помощи которого другие компоненты Windows NT Executive, а также приложения пользовательского режима могут манипулировать процессами и потоками. Во время работы диспетчер процессов сопоставляет каждому процессу и потоку идентификатор процесса (PID — Process Identifier) и потока (TID — Thread Identifier) соответственно, а также карту адресов и таблицу дескрипторов.

— Диспетчер виртуальной памяти — служит для управления и организации подсистемы памяти, позволяет создавать карты адресов для процессов и следит за корректностью использования адресного пространства приложениями (то есть, следит за общим доступом к памяти и осуществляет защиту страниц в режиме копирования при записи). Диспетчер виртуальной памяти также обеспечивает возможность отображения файлов на память, используемую для загрузки в оперативную память исполняемых файлов и файлов динамических библиотек. Еще в Windows NT4.0 существовала так называемая Защищенная Модель памяти, которая (в отличие от DOS-подобных ОС) позволяла изолировать каждый процесс друг от друга и, что самое главное, от кода самой ОС. Диспетчер виртуальной памяти представляет физическую память для пользовательских приложений таким образом, что каждому процессу выделяются отдельные 4Гб виртуального адресного пространства, из которых младшие 2Гб используются непосредственно процессом по своему усмотрению, а старшие 2Гб — отводятся под нужды системы, причем они — общие для всех процессов. При этом каждый процесс «думает», что он — единственный, запущенный в системе. Но здесь кроется некоторое затруднение: многие 16-разрядные программы при своей работе обмениваются данными между собой напрямую, используя одни и те же участки памяти, а это неприемлемо для Windows NT. В этом случае такие программы все же запускаются и предоставляют разделяемую память, где они могут обмениваться данными. Эта память является нестраничной областью физической памяти, которая может быть спроецирована на виртуальное адресное пространство нескольких процессов, и таким образом они смогут взаимодействовать друг с другом. Как мы видим, самое главное, чем занимается диспетчер виртуальной памяти — это видно из его названия — организация логической памяти, размер которой больше размера физической, установленной на компьютере. Этот трюк достигается благодаря тому, что страницы памяти, к которым долго не было обращений и которые не имеют атрибута неперемещаемых, сбрасываются диспетчером в файл pagefile.sys на винчестер и удаляются из оперативной памяти, освобождая ее для других приложений. В момент, когда происходит обращение к данным, находящимся в перемещенной на винчестер странице, диспетчер виртуальной памяти незаметно для приложения копирует страницу обратно в оперативную память, и только затем обеспечивает доступ к ней. Этот механизм обеспечивает выделение дополнительной памяти программам, которые нуждаются в ней, и при этом следит за тем, чтобы все работающие в системе программы обладали достаточным объемом физической памяти для того, чтобы продолжать функционирование.

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

— Win32 User и GDI — выполняют все функции, связанные с пересылкой системных сообщений и отображением информации на экране. До Windows NT 4 эти серверные компоненты функционировали в пользовательском режиме в качестве одной из составных частей подсистемы Win32.

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

Остальные компоненты операционной системы выполняются в пользовательском режиме, часто их называют подсистемами. Например, в состав Windows 2000 входит подсистема безопасности и подсистемы, предоставляющие программам функции таких распространенных операционных сред, как DOS, OS/2, Win16, POSIX, а также Win32. Основное назначение операционной среды — предоставления интерфейса, а также эмуляция работы операционных систем, отличающихся от Windows 2000. Проще говоря, операционная среда добавляет в систему Windows 2000 дополнительные возможности и новые системные вызовы, отличающиеся от вызовов естественного API-ядра. Подсистемы операционных сред загружаются только в случае, если возникнет необходимость их использования. Каждая подсистема выполняется как отдельный процесс пользовательского режима. Таким образом, каждая подсистема защищена от сбоев, вызванных другими подсистемами, именно благодаря этому платформа Windows 2000 функционирует более стабильно, чем операционные системы линейки Windows 9x. Что кажется наиболее удивительным, Win32 API не является родным для Windows 2000, а реализован так же, как и, скажем, поддержка DOS API. Это замечание, однако, не совсем верно: естественный API очень похож на Win32 API, тем не менее, с ним несколько сложнее работать (между некоторыми функциями Win32 и некоторыми функциями естественного API может существовать взаимооднозначное соответствие, однако часть функций Win32 для выполнения своей задачи обращаются к нескольким функциям естественного API-ядра), кроме того, он не документирован. Поэтому, хоть приложению никто и ничто не помешает действовать в обход интерфейсов, пре-доставляемых операционными средами, и обращаться к естественному API напрямую, компания «Майкрософт» крайне не рекомендует использовать такую возможность.

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

Windows 2000 и XP — курс молодого администратора (Часть 3)

Иван Марциновский, Алексей Смирнов

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

Часть третья. Модель безопасности в Win NT/2000.

«Сила зависит лишь от того, какого рода знанием владеет человек. Какой смысл в знании вещей, которые бесполезны? Они не готовят нас к неожиданной встрече с неизвестным».

Карлос Кастанеда, «Учение дона Хуана»

Защита данных в Windows 2000 построена весьма эффективно и гарантируется многоуровневой схемой защиты как от случайной их потери при работе, так и от умышленного повреждения или нарушения условий конфиденциальности и целостности. Концепции, лежащие в основе системы безопасности операционной системы Windows 2000, нельзя назвать революционными: все основные идеи и механизмы достались ей в наследство от прежней системы Windows NT 4.0, где они уже доказали свою состоятельность и эффективность. Говоря иначе, в основе системы безопасности новой операционной системы, как и ранее, лежат понятия «дескриптора безопасности» (SD, Security Descriptor) и «списка управления доступом» (ACL, Access Control List). Но в то же время в новой операционной системе были включены дополнительные возможности (например, поистине мощные средства, которые предоставляет использование механизмов Active Directory) и получили дополнительное развитие старые средства. К сожалению, некоторые из них доступны только для тех пользователей, которые работают под Windows 2000 Professional и входят в группу, управляемую сервером на базе Windows 2000 Server. А наиболее полно они реализуемы лишь в случае создания полноценного домена с разделяемыми функциями серверов, созданными на их базе контроллерами доменов и специальными серверами, определяющими исключительно параметры безопасности. Для реализации новых идей используются различные методы; большинство из них предназначено для работы в сети, вследствие чего они малоинтересны обычному пользователю, поэтому мы вначале рассмотрим принципы, общие для любого компьютера, работающего под управлением Windows 2000.

Любое приложение (программа), запускаемое под управлением Windows 2000, автоматически начинает использовать возможности, обеспечивающие его безопасность. То есть, какое бы приложение не было бы запущено, операционная система (И ТОЛЬКО ОНА) контролирует доступ к своим ресурсам, таким как файлы, память и аппаратные устройства. Что интересно, разработчики Windows 2000 пошли еще дальше и решили централизовать доступ вообще к любым ресурсам системы (даже к таким достаточно абстракт-ным, как окна, процессы и потоки). Поэтому приложение, работающее в Windows, будет защищено от модификации исполняемого кода и данных со стороны других «некорректно» работающих приложений, да и просто нехороших людей, задумавших сломать вам систему. Кроме этого, возможно программное управление правами доступа к особенно критичным в смысле безопасности объектам со стороны отдельных пользователей. Таким образом, обеспечивается многоуровневая система защиты. Данные защищены настолько хорошо, что столкнуться с проблемами доступа к ним при этом могут даже администраторы, обладающие всеми полномочиями при управлении системой, если они не выполняют простейших правил обеспечения безопасности. Например, если не удается восстановить операционную систему после ее выхода из строя и невозможно воспользоваться сертификатом, с помощью которого производилось шифрование, то доступ к данным, хранящимся на томах хранения информации с применением EFS, будет невозможен из любой другой работающей системы, куда они будут перенесены. Поэтому сертификаты всегда желательно копировать на какой-нибудь надежный резервный носитель информации, который будет храниться в хорошо защищенном от постороннего доступа и вредных факторов воздействия месте.

Как известно, при разработке Windows 2000 учитывалось то, что она должна удовлетворять уровню безопасности C2, разработанному оборонными ведомствами США. Базовые принципы уровня безопасности C2 это:

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

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

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

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

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

Эти требования учитывались уже на этапе проектирования операционной системы и лежат в основе работы самых первых версий Windows NT, поэтому Windows 2000 уже на уровне ядра поддерживает объектную модель защиты. Надо сказать, что никакая другая компромиссная реализация функций, позволяющих работать системе паролей в ранних версиях Windows, сделанная на более высоком уровне (такая, например, как применение отдельных программных пакетов или встраивание соответствующих драйверов, патчей и библиотек в операционную систему) не смогла бы предоставить такого уровня защищенности при той скорости работы, которая достигается в NT. И именно требования безопасности явились катализатором и причиной, заставившей «Майкрософт» писать совершенно новую операционную систему почти с нуля и попрощаться с веткой Windows 9x. Объектная модель защиты подразумевает, что любой ресурс рассматривается системой Windows 2000 как объект, а это означает, что он обладает своими собственными свойствами (атрибутами), которые могут описывать, в том числе, и его поведение с точки зрения безопасности, а также включает в себя данные и все те функции, которые могут потребоваться для манипулирования этими данными. Возможностью прямого доступа к объектам (а значит и к ресурсам) обладает только сама Windows 2000, остальные приложения могут осуществлять доступ к ресурсам исключительно при посредничестве операционной системы путем вызова ее функций и под контролем системы безопасности ОС. Возможности объекта определяются его типом и теми атрибутами, которые были присвоены объекту при его создании (они могут быть изменены с течением времени).

Краеугольным камнем, на котором базируется вся реализация защиты данных, является пользовательская учетная запись или на сленге администраторов и ветеранов NT — аккаунт. Учетная запись — это своего рода пропуск, который позволяет пользователю обращаться к ресурсам системы и однозначно определяет, с какими ресурсами он может работать и каким образом. Каждый пользователь, который регулярно использует компьютер, должен обладать собственной индивидуальной учетной записью. Для тех же, кто входит в систему нечасто, существует одна на всех учетная запись — гость, — которая обладает, как правило, минимумом прав доступа. Для облегчения жизни администратору (а он тоже не бог, как может показаться некоторым неискушенным людям, а всего лишь человек) несколько учетных записей можно объединить в группу и назначать унифицированные права доступа всем ее членам, а не каждому пользователю в отдельности. Это уже относится к назначению групповых политик и обычно обсуждается при рассмотрении приемов администрирования, что мы и сделаем в одной из следующих статей. Вся информация об учетных записях и группах хранится в централизованной базе данных. В Windows NT 4, а также в Windows 2000 эта база называется SAM (Security Accounts Manager). В базе данных SAM каждый пользователь и каждая группа, а также каждый компьютер идентифицируется уникальным идентификатором безопасности SID (Security Identifier), который каждый раз при создании новой учетной записи автоматически генерируется ОС совершенно случайным образом и никогда не используется повторно. Соображения уникальности заставляют систему использовать в качестве SID число, а не символьную запись. Символьные обозначения учетных записей просто ставятся в соответствие SID’у, так делается только для удобства работы администратора. Из вышесказанного вытекает, что, если вы по ошибке удалите какую-либо учетную запись, то восстановить ее будет уже невозможно, так как если вы попытаетесь создать новую запись с таким же символьным именем, ОС все равно сгенерирует новый SID, который, естественно, не будет соответствовать по наполнению пре-дыдущему. Это обстоятельство обязательно следует учитывать при работе с Windows 2000.

Атрибуты защиты каждого объекта (будь то реестр, файл или общий ресурс) находятся в его дескрипторе защиты SD, который предоставляет сведения о владельце объекта (то есть содержит SID владельца) и дискреционный список управления доступом к объекту (DACL, Discretionary Access Control List). Дискреционный список управления доступом (часто называемый просто списком управления доступом) содержит информацию о том, какие действия запрещается или разрешается выполнять тем или иным пользователям или группам пользователей по отношению к данному объекту. То есть, он представляет собой некий перечень записей управления доступом ACE (Access Control Entry), каждая из которых соответствует некоторому пользователю или группе пользователей (содержит соответствующие SID), которым разрешен или запрещен доступ к данному объекту в форме, определяемой ACE. Помимо дискреционного списка управления доступом дескриптор SD включает в себя системный список управления доступом SACL или System ACL, который необходим для работы системы аудита доступа к ресурсам (системы протоколирования). Система аудита осуществляет слежение за доступом к объектам безопасности и протоколирует информацию об удачных и неудачных попытках доступа к ним в журнале аудита. Благодаря механизмам аудита администратор может узнать, кто и когда пользовался интересующим его ресурсом системы, или пытался им воспользоваться, если в доступе было отказано.

При загрузке Windows предложит вам зарегистрироваться в системе от имени одного из пользователей, для которых имеется учетная запись. При этом введенные данные сравниваются с теми, которые хранятся в операционной системе, и на основании результата сравнения принимается решение о регистрации (или отказе в доступе). В случае успешной регистрации, пользователю системой WinLogon назначается токен доступа (access token), который в дальнейшем будет присваиваться каждому процессу, который запустит пользователь. Токен содержит информацию о самом пользователе, группе, в которую он входит, привилегиях и правах доступа, то есть содержит SID пользователя и SID’ы всех групп, в которые он входит. При попытке процесса обратиться к какому-либо объекту производится поиск ACE, соответствующего обратившемуся процессу, в дискреционном списке ACL этого объекта. На основе сравнения токена доступа и ACE принимается решение о разрешении или запрещении доступа процесса, запущенного данным пользователем к объекту. Как мы видим, уже на достаточно низком уровне система неплохо защищена от возможных попыток несанкционированного доступа.

Еще одно средство защиты данных, интегрированное в Windows 2000, — это файловая система EFS (Encrypting File System), являющаяся дополнением к NTFS 5.0 и позволяющая производить шифрование файлов «на лету», т. е. как шифрование, так и дешифровка прозрачны для пользователя и для программ. Степень криптостойкости у этого метода на удивление высокая, что обеспечивается применением шифрования с комбинированным несимметричным (открытым) ключом, в который, к тому же, вносятся псевдослучайные изменения. При первой попытке зашифровать некоторый файл пользователю выдается системой сертификат, который содержит всю необходимую информацию по дешифровке и управлению безопасностью. Этот сертификат всегда желательно скопировать на какой-нибудь надежный носитель, поскольку в случае его утраты невозможно будет открыть ни один из зашифрованных файлов (система сообщит вам, что у вас нет прав доступа к нему). Ну и напоследок, хочется заметить, что EFS частично входит в ядро Windows, что позволяет наиболее эффективно обеспечивать сокрытие данных.

Отвлечемся от одиноко стоящей рабочей станции и обратим свои взоры к ЛВС. Что отличает сеть от простого компьютера? Правильно, наличие каналов обмена информацией, не всегда защищенных от постороннего воздействия и контроля, между отдельными хостами. А раз так, то наиболее критичную информацию необходимо как-то шифровать. Что касается целостности данных, то этим занимаются службы протоколов, ну а проблемы конфиденциальности решаются по-разному. Аутентификация на этапе соединения двух (или более) компьютеров позволяет произвести проверку того, что на другом конце линии действительно тот, с кем вы хотите связаться. Но к каналу связи (даже оптоволоконному) всегда можно подключиться, не говоря уже о том, что пакет данных при пересылке зачастую минует много серверов и маршрутизаторов, на которых он может быть перехвачен. Здесь на помощь приходит шифрование, к которому и прибегают все чаще и чаще в последние годы, если необходимо работать с хоть сколько нибудь ценными данными.

В Windows 2000 широко используются алгоритмы шифрования данных с открытым ключом, и они уже изначально встроены в систему. В первую очередь, эти средства позволяют по защищенным каналам обмениваться информацией внутри домена. Основа всей системы сетевой безопасности в Windows 2000 — это набор протоколов и методов взаимодействия с общим названием (уже одно оно очень многого стоит!) Kerberos. Эта спецификация предоставляет возможность установления защищенного канала связи между двумя хостами в незащищенной сети с их предварительной аутентификацией. В отличие от протокола Kerberos, который больше подходит для открытых сетей, средства безопасности протокола IP обеспечивают защищенность всей сети. При этом возможно централизованное управление безопасностью и назначением профилей безопасности. Данные предохраняются от перехвата и копирования на протяжении всего пути следования. Для надежной передачи информация шифруется с применением открытых или закрытых ключей. Шифрование с открытым ключом требует больших затрат ресурсов и поэтому применяется только в тех случаях, когда объем данных сравнительно невелик. Если объем большой, то они шифруются с применением закрытого ключа, который затем шифруется открытым.

Еще одна очень удобная возможность обеспечить сохранность данных при передаче их по сети — это использование политик безопасности IP. Защита данных в этом случае также обеспечивается применением алгоритмов шифрования и сертифицирования (Diffie-Hellman, HMAC, DES-CBC), причем они «прозрачны» как для клиентских программ, так и для пользователей. Предполагается, что путь следования данных с одного компьютера на другой неизвестен и, возможно, небезопасен.

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

Windows 2000 и XP — курс молодого администратора (Часть 4)

Иван Марциновский, Алексей Смирнов

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

Четвертая часть. Процесс загрузки системы.

«Воин живет действием, а не думаньем о действии или думаньем о том, что он будет думать, когда закончит действовать.»

Карлос Кастанеда, «Отдельная реальность»

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

Boot.ini

Bootsect.dos (необходим только при использовании мультизагрузки)

NTLDR

Ntdetect.com

Ntbootdd.sys (необходим только для загрузки с SCSI-винчестера)

Ntoskrnl.exe

Hal.dll

Необходимые драйверы и разделы реестра.

А теперь, зная необходимые для загрузки Windows 2000 файлы, рассмотрим весь процесс загрузки компьютера, который начинается с процедуры начального тестирования оборудования (POST — Power-On Self Test). Код, выполняющий POST, зашит в БИОСе каждого компьютера, и именно ему передается управление при включении питания. Если в процессе тестирования обнаруживаются какие-либо ошибки, то БИОСом генерируются коды ошибок (POST codes), которые отличаются для БИОСа разных производителей. Наверняка сердце почти каждого сборщика компьютеров не единожды замирало от противного писка динамика, выдающего трели из комбинации длинных и коротких гудков — это и есть звуковые коды, которые выдает POST в самых запущенных случаях, когда не может вывести текст на экран монитора. Если же процедура POST завершается успешно, то БИОС передает управление главной загрузочной записи (MBR — Master Boot Record) первичного жесткого диска системы, и можно сказать, этим завершает первую «аппаратную» стадию загрузки компьютера (весь процесс зависит только от аппаратуры компьютера, но не от установленного программного обеспечения). На второй стадии загрузочная запись, оперируя данными о разбиении жесткого диска на логические тома, передает управление исполняемому коду, расположенному в загрузочном секторе. Вот тут-то и начинается самое интересное, так как в случае Windows 2000 этим кодом является NTLDR (boot loader). Из-за сложности всех предварительных операций, когда программа, почти ничего не сделав, кроме как загрузив вторую, передает управление ей, а та, в свою очередь, поступает почти так же, как и первая, программисты-системщики шутливо сравнивают всю эту процедуру с поднимающим себя за собственные шнурки человеком. Первое, что делает загрузчик, это переходит в защищенный режим и производит необходимые для успешного функционирования в этом режиме манипуляции с памятью. Кроме функций, позволяющих работать с памятью, NTLDR имеет также несколько модулей, позволяющих работать с некоторыми другими базовыми ресурсами системы, в первую очередь с файловой системой. Все другие действия выполняются с помощью вызова прерываний БИОСа. После первичной инициализации загрузчик предоставляет пользователю возможность выбрать операционную систему, которая будет загружена, из списка систем, установленных на компьютере (то есть, NTLDR выводит на экран надпись OS Loader V5.0 и приглашение выбрать операционную систему; это сообщение выводится только в том случае, если в файле boot.ini зарегистрировано более одной ОС), после чего, если выбрана Windows 2000, начинает загрузку файлов ОС.

Перечень установленных операционок находится в файле boot.ini, который располагается в корневом каталоге системного раздела. Многие думают, что единственное, чего можно достичь путем прямого редактирования boot.ini, — это создание системы с несколькими установленными версиями Windows 2000, однако это не совсем так. Во-первых, диапазон возможных ОС для альтернативной загрузки достаточно широк — это и все Win9x, MS-DOS, OS/2, и даже UNIX. Ну а во-вторых, изменение параметров загрузки самой Windows 2000 позволяет существенно влиять на ее работу и бывает очень по-лезным при отладке. Параметры, указываемые в boot.ini, носят необязательный характер, однако с их помощью можно выбирать версии ядра и HAL, изменять некоторые параметры многопроцессорных систем, режим видеоадаптера, ограничивать объем используемой системой памяти, влиять на работу мыши и многое другое. Знать принципы работы с boot.ini полезно еще и потому, что очень часто при изменении конфигурации системы (удаление или установка логических дисков или физических носителей) или при неудачном редактировании самого файла, загрузчик оказывается не в состоянии найти путь к загрузочному разделу Windows. При этом появляется сообщение типа «NTLDR is missing или Couldn’t find NTLDR», а пользователь начинает в ужасе рвать волосы на голове — не самая приятная ситуация, знаете ли. В таких случаях иногда помогает немного храбрости и возможность вручную отредактировать файл и исправить ошибку; будьте внимательны, для описания пути (в не SCSI-системах) используется следующий формат:

multi(0)disk(0)rdisk(0)partition(3) WINNT, где:

multi() — номер адаптера IDE, с которого осуществляется загрузка,

disk() — параметр, аргумент которого равен нулю,

rdisk() — порядковый номер диска, нумерация ведется начиная с нуля,

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

path — каталог, в котором находятся файлы ОС.

К сожалению, в рамках журнальной статьи невозможно подробно описать все особенности использования boot.ini, поэтому наиболее любопытным читателям мы можем порекомендовать сайт
http://support.microsoft.com/default, где содержится огромное количество информации, так сказать, «из первых рук».

А сами тем временем «вернемся к нашим баранам», то есть, простите, к процессу загрузки. После выбора операционной системы загрузчик запускает Ntdetect.com. Этот компонент считывает из CMOS-памяти системную дату и время, после чего производит поиск и распознавание аппаратных средств, подключенных в данный момент к компьютеру. Завершив работу, Ntdetect возвращает управление и аккуратно собранную им информацию обратно в NTLDR.

Попутно заметим, что иногда бывает удобно создать несколько профилей оборудования, каждый из которых содержит отличный от других набор устройств (создание и управление профилями осуществляется при помощи диалогового окна Hardware Profiles с вкладки Hardware раздела System панели управления). Если такие профили существуют, загрузчик предложит выбрать один из них, после чего приступит к загрузке ядра Ntoskrnl.exe. Хочется подчеркнуть, что на этой стадии ядро только загружается в память, но ему не передается управление (то есть еще не инициализируется и не начинает исполняться системный код ядра).

В первую очередь в память загружается само ядро и уровень аппаратных абстракций. В этот момент на экране появляется подающая большие надежды надпись Starting Windows и индикатор завершенности процесса. Затем сканируется реестр (ищется куст, находящийся в Winnt System32 Config System) и составляется список драйверов устройств, необходимых для запуска. Из реестра извлекаются настройки, касающиеся организации памяти, которые могут задаваться как самим пользователем, так и специальными утилитами. Здесь же создается набор управляющих параметров (Control Set), который в дальнейшем играет очень важную роль в работе системы.

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

Определившись с используемым набором, загрузчик делает его активным, присваивая разделу HKEY_LOCAL_MACHINE SYSTEM Select значение Current, и переходит к разделу HKEY_LOCAL_MACHINE SYSTEM CurrentCont-rolSet Services, где ищет драйверы устройств, у которых переменная Start имеет значение 0х0, что означает, что они должны загружаться без инициализации. В свою очередь, параметр Group определяет, какие устройства в каком порядке будут загружаться. Здесь стоит отметить, что наличие «лишних» устройств (дублирующих друг друга, а иногда и вообще не установленных) в системе сильно замедляет ее работу, ведь им требуются дополнительные ресурсы. Как вы уже, наверное, неоднократно замечали, загрузка ядра состоит из двух фаз: начальной, проходящей в текстовом режиме на печально черном фоне, и графической (видны радостные эмблемки «Майкрософта»), когда происходит непосредственно инициализация. В течение всего времени выполнения каждой фазы отображается текущее состояние процесса (индикаторная полоска, заполняющаяся прямоугольниками). В самом начале текстовой фазы загрузки ядра в нижней части экрана появляется надпись, в которой сообщается, что если вы успеете нажать F8, то будут доступны дополнительные варианты загрузки, используемые обычно при отладке или неполадках в работе системы. Никогда не пренебрегайте ими, ведь они могут очень здорово выручить вас в критической ситуации. После окончания загрузки ядра операционная система практически готова к работе, осталось только проинициализировать драйверы и подготовить службы — индикатор полностью заполняется, и происходит переключение из текстового режима в графический. На этом шаге управление передается ядру Ntoskrnl, которое получает ссылки на объекты, созданные при помощи NTLDR, таким образом, ядру передается вся информация, собранная другими модулями, а в конце передается и управление. При своей инициализации ядро производит ряд действий в следующей последовательности:

окончательная подготовка к работе памяти и менеджера памяти;

инициализация диспетчера объектов;

установка системы безопасности;

инициализация менеджера Plug and Play;

установка базовых объектов и сервисов системы;

настройка драйвера файловой системы и сохранение начальных параметров в реестре (создается копия набора управляющих параметров Clone, в которой содержатся данные, идентичные Current ControlSet, инициализируются устройства согласно порядку инициализации, затем создается ключ HKEY_LOCAL_MACHINE HARDWARE);

загрузка и инициализация диспетчера ввода-вывода (обычно — самая длительная фаза);

ядро «убирает за собой мусор», который остался после загрузки;

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

Smss.exe — диспетчер сеансов. Он управляет другими сервисами и службами Windows, в том числе запускает Win32 (Csrss) и некоторые системные утилиты, выполняемые на этапе загрузки (указываются в разделе реестра HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Session Manager BootExecute). Еще две важные функции — реализация графического пользовательского интерфейса и запуск процессов csrss.exe и WinLogon.exe. Этот диспетчер запускается, тем не менее, в самом конце загрузки.

Csrss.exe — данный модуль предназначен, главным образом, для организации взаимодействия между компьютером и пользователем.

Lsass.exe — служба, запускаемая WinLogon.exe и отвечающая за безопасность системы. Она предоставляет возможность пользователю зарегистрироваться в системе, и только после того, как в системе зарегистрировался хотя бы один пользователь, загрузка считается успешной, и текущий набор управляющих параметров Clone переименовывается в LastKnownGood.

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

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

Подсистема безопасности обращается к базе данных SAM (Security Accounts Manager, подробнее про SAM смотри в части статьи, посвященной организации безопасности в Windows 2000) и проверяет, обладает ли пользователь полномочиями работы с системой.

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

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

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

Итак, процесс загрузки удачно завершен — УРА! Казалось бы, это происходит так быстро, но при этом, как вы успели увидеть, система совершает ошеломительное количество операций и действий как с аппаратной платформой вашего «железного коня», так и с собственными программными модулями.

Вас, конечно же, интересует, что делать дальше, после того как компьютер загружен. Что же, придется вкратце рассказать об этом. Если вы опытный пользователь или, не дай Бог, администратор, на ваш стол наверняка уже наклеен ярлык типа Quake III или Counter Strike, так что можете смело давить на него мышью. В противном случае стоит воспользоваться рекомендацией самой «Майкрософт», вдавить кнопку «Пуск» и начинать свой трудный рабочий день. Так или иначе, мы пропускаем интимные подробности вашей работы с компьютером и, предпо-ложив, что у вас все получилось великолепно, переходим к той, немного печальной и грустной поре, когда компьютер приходится выключать. Хотя эта часть работы системы довольно неприметна, она тоже может принести пару сюрпризов.

Стадия завершения работы начинается с того, что процесс csrss получает соответствующее сообщение, передаваемое Win32 функцией ExitWindowEx, которое сигнализирует о том, что некоторая программа желает завершить работу системы. После этого csrss посылает всем оконным функциям главных окон процессов, запущенных в данный момент в системе, сообщение WM_QUERYENDSESSION, которое, по сути, оповещает программы о скором завершении работы, а затем проверяются ответы каждой программы. Программа может быть «согласна» и «не согласна» с предложением Windows. Если она не согласна, csrss пре-доставляет ей возможность завершиться в течение некоторого небольшого времени, после чего, в зависимости от настроек системы, выводит (или не выводит) окно, в котором сообщается имя мятежной программы, не желающей завершать свою работу, и предлагается ее закрыть принудительно. Так или иначе, но через некоторое время после начала стадии выключения, операционной системой прерывается работа всех пользовательских приложений, и плавно начинают завершаться системные потоки. В первую очередь, это потоки, реализующие графический режим, а затем и все остальные. В отличие от пользовательских процессов, системные не прерываются принудительно, поэтому если один из них чем-то занят, завершение работы может быть отложено на неопределенное время. В это время сохраняются настройки системы в реестре, и из системного кэша измененные данные файлов записываются на жесткий диск. Непосредственно перед выключением ряду устройств передается предупреждение об этом, после чего в свою работу включается драйвер электропитания. Проходит еще пара секунд, и ваш монитор, подмаргивая огоньком светодиода, тихо, словно выдохнув, щелкает, и экран приобретает темный цвет безжизненного полотна остывающего люминофора.

Windows 2000 и XP — курс молодого администратора (Часть 5)

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

Карлос Кастанеда, «Дар Орла».

Иван Марциновский, Алексей Смирнов

Инсталляция

Итак, предположим, вы решили установить новую ОС на свой компьютер. Первое, в чем нужно убедиться, — что его аппаратных ресурсов хватит для ее функционирования, и в том, что у вас не возникнет проблем несовместимости операционной системы с некоторым (обычно устаревшим) оборудованием. В случае с Windows 2000 Professional минимальной конфигурацией является Intel-совместимый процессор не хуже, чем Pentium 133, VGA-монитор, 650 Mb свободного пространства на жестком диске и 32 Mb оперативки (хотя для приемлемой скорости работы желательно иметь не меньше 64 Mb). Требования не самые скромные, но большинство современных компьютеров им полностью удовлетворяет. Список совместимого с Windows 2000 оборудования (Hardware Compatibility List, HCL) вы найдете на компакт-диске Windows 2000 Professional в папке support или же можете получить свежую копию по адресу
ftp://ftp.microsoft.com/services/whql/win2000hcl.txt. Если вашего оборудования нет в списке, не отчаивайтесь, это еще не значит, что оно не будет работать под управлением этой ОС, просто оно не протестировано компанией Microsoft.

Окончательный номер сборки ядра (Final Edition) — 2195 (то есть 5.0.2195.2951), его можно посмотреть на вкладке «Свойства» файла ядра ntoskrnl.exe. Кроме того, информация о версии ядра регистрируется в журнале системы, каждый раз при загрузке Windows 2000. Чтобы просмотреть эту запись запустите Event Viewer (просмотр событий) из папки Administrative Tools, далее выберите System Log (журнал системы) и дважды щелкните мышкой на запись с кодом события 6009, теперь вы можете узнать, много-процессорная или однопроцессорная, а также отладочная или конечная версия ядра запущена системой. Соответственно, версии более ранние, чем 2195, могут работать не совсем так, как хотелось бы. Поскольку в нашей стране большая часть софта, к сожалению или счастью, является украденной пиратской версией, то может оказаться, что вы купили какую-нибудь бета-версию (номер сборки ядра у нее будет меньше) — это следует учесть при установке. Также следует обратить внимание на наличие так называемых сервис-паков, то есть официальных исправлений и дополнений от «Майкрософт». На сегодняшний день последним является третий сервис пак, который помимо устранения некоторых многочисленных ошибок позволит вам более полно настраивать процесс установки отдельных компонентов Windows (суд относительно монопольного по-ложения Microsoft все-таки дает какие-то результаты).

Вообще, процесс установки представляет большой интерес. Для пользователя он максимально упрощен и оптимизирован (сам процесс не намного сложнее, чем процесс установки Windows 98 или 95), но все же неплохо представлять, как он протекает. На первом этапе программа установки копирует часть дистрибутива, необходимую для запуска ядра Win2000, на жесткий диск, все операции выполняются в текстовом режиме MS-DOS. Этот этап необходим, потому что при загрузке новой системы возможно изменение буквенных обозначений дисков, вследствие чего путь к системной папке может быть утерян. По завершении происходит перезагрузка компьютера, и система загружается уже под управлением ядра Win2000, хотя и, опять-таки, в текстовом режиме. Вам будет предложено выбрать основные параметры установки, и будет проведен предварительный анализ конфигурации оборудования (в автоматическом режиме). По желанию можно произвести необходимые операции с дисками (форматирование, преобразование файловой системы и так далее), а также установить новую копию системы или попытаться восстановить уже имеющуюся. Здесь стоит обратить внимание на тот факт, что Windows 2000 предоставляет возможность создания систем с двойной загрузкой. Вы можете установить несколько копий Win2000 или на выбор сочетания Win2000 — MS-DOS, Win2000 — Win95 или Win98 и различные версии NT. Если выбрана установка новой системы, то копируются оставшиеся файлы дистрибутива (по выбору в соответствии с параметрами установки) и происходит очередная перезагрузка, после которой компьютер грузится уже в графическом режиме (GUI). Эта фаза завершает процесс установки и длится довольно долго. Система производит попытку распознать все без исключения установленные устройства и установить для них драйверы. Если во время работы происходит сбой или зависание с выдачей сообщения BSOD (Blue Screen Of Death, голубой экран смерти — страшный сон любого Windows администратора) — типа Hardware malfunction Call your hardware vendor for support то это говорит о серьезном нарушении работы аппаратных компонентов. Если ваш hard-ware vendor по каким-либо причинам недоступен (что для России справедливо почти в 99,9% случаев), можно попытаться справиться с возникшей ошибкой самостоятельно, например, иногда помогает отключение некоторых устройств, наличие которых в системе не критично. Что удивительно, включение этих же устройств уже после установки ОС иногда позволяет Windows безошибочно их обнаружить и в дальнейшем с ними работать без каких-либо проблем. Часто виновницей таких конфликтов выступает встроенная звуковая карта или другие мультимедиа-устройства.

Если инсталляция завершилась успешно, наступает этап настройки. Он проходит по-разному для разных типов Windows 2000. Если у вас версия Windows 2000 Server или более мощная, настройка потребует больше времени, так как необходимо будет настроить режим лицензирования, указать имя компьютера и выбрать необходимые компоненты, устанавливаемые на сервер.

По сравнению с более ранними системами от «Майкрософт», процесс установки длится довольно долго, но большинство процедур автоматизировано до предела. Кроме того, предусмотрена интересная возможность — так называемый файл ответов, который позволяет производить установку полностью в автоматическом режиме. Автоматизация установки Windows 2000 помимо сбережения времени администратора, необходимого для ее установки, предоставляет и некоторые другие преимущества, особенно заметные при формировании корпоративной рабочей среды. Так, например, при автоматизированной установке вы можете быть уверенными в том, что все клиентские компьютеры настроены одинаковым образом, при этом структура рабочей среды упрощается, что делает удобным ее управление. Напротив, если вы устанавливаете Windows на нескольких компьютерах вручную, не существует никаких гарантий того, что в результате их конфигурация будет полностью совпадать. Другое немаловажное свойство автоматизированной установки позволит вам быстро восстановить работоспособность по тем или иным причинам вышедшей из строя пользовательской рабочей станции. Конечно же, эффективность автоматической установки становится наиболее очевидной в случае, если речь идет о крупной сети, в которую входит множество компьютеров. Однако не стоит полностью исключать возможность использования автоматизированной установки в условиях малого офиса или домашней сети, тем более что Windows предоставляет сразу несколько различных вариантов автоматизированной установки, и вы можете выбрать тот, который наиболее соответствует вашим требованиям. Среди предложенных вариантов (установка при помощи сценариев, отображение дисков или так называемое клонирование, установка через сеть, а также электронное распространение прикладных программ) клонирование нам кажется наиболее удобным для применения в небольших компаниях как в случае первичной установки ОС, так и в случае каких-либо сбоев в работе системы. При этом данный метод является, на наш взгляд, наименее требовательным к знаниям и умениям администратора, а также к времени, необходимому на восстановление ОС. Программный продукт, который поможет вам осуществить клонирование, называется System Preparation Tool (программа подготовки системы). Основным преимуществом метода автоматической установки мы считаем возможность копирования не только операционной системы, но и всех установленных на компьютере прикладных программ, а также любых дополнительных программных компонентов. Согласитесь, достаточно удобно, вместо того чтобы часами искать и исправлять возникшие почему-то в системе ошибки (ну, некорректно поработал за компьютером сын бухгалтерши тети Наташи, ну, решил он установить парочку квейков и думов, а также «перенастроить» офис, — что возьмешь с малого дитяти), просто подключить винчестер и двумя щелчками мышкой вернуть все в исходное состояние. Неспортивно, конечно, но для начинающих администраторов эта возможность Windows на первых порах может оказаться настоящей палочкой-выручалочкой, до тех пор, пока они не научатся «правильным» политикам безопасности.

Процесс клонирования можно разбить на три этапа:

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

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

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

Следует только учитывать, что System Preparation Tool позволяет лишь подготовить образ диска к клонированию (то есть выполнить этапы 1 и 3). Эта утилита не может использоваться для переноса образа на жест-кие диски клиентских машин (этап 2). Для выполнения самой процедуры клонирования следует использовать стандартные утилиты клонирования, такие как Symantec Ghost или DriveImage, от такой популярной в нашей стране софтверной компании PowerQuest.

Windows 2000 и XP — курс молодого администратора (Часть 6)

Иван Марциновский, Алексей Смирнов

Итак, изучив некоторые технические аспекты функционирования Windows 2000, мы плавно переходим к основам ее использования. А это значит, что сегодня мы поговорим об администрировании, ведь хороший стиль политики администрирования — залог безопасности и бесперебойной работы всей компьютерной сети, а администратор — это «главный» человек, которому поклоняются и которого боготворят рядовые «юзеры». И если в предыдущих статьях мы делали основной упор на выявление основ функционирования системы безопасности операционной Windows 2000, то сейчас речь пойдет о том, как эти глубокие знания использовать на практике, ведь, в конечном счете, все делается именно для управления компьютером и наиболее эффективного использования его ресурсов. А это и есть администрирование, почти по определению.

Администрирование пользователей и групп

«Страх — одна из величайших сил в жизни воинов, потому что он заставляет их учиться.»

Карлос Кастанеда, «Огонь изнутри»

Основная задача администратора — управлять компьютером или сетью таким образом, чтобы обеспечить его наиболее эффективную бесперебойную работу. Компьютерная техника крайне сложна — так называемое «железо» состоит из миллионов элементов, один из которых когда-нибудь обязательно сломается, причем произойдет это, скорее всего, в самый неподходящий момент. Программное обеспечение последние годы также не радует простотой и прозрачностью использования, поэтому жизнь рядового администратора безоблачной никак не назовешь. Но и это не все! Зачастую бедному сисадмину, замученному техникой и криво написанными программами, приходится отражать атаки еще и Homo Sapiens, которые в некоторых случаях могут носить характер стихийного бедствия.

Страх перед этими атаками, как умышленными, так и непреднамеренными (случайными), как хакеров, так и просто не осознающих свои действия пользователей, заставляет администратора изучать давно известные более опытным коллегам способы защиты компьютерных систем, а также придумывать свои новые методы и личные уловки. Администратор должен предвидеть различные действия своих потенциальных «врагов» и предусмотреть всевозможные последствия этих действий, а также систему мер, позволяющих со всеми этими бедами бороться. В придачу к этому, администратор должен думать о том, чтобы работа пользователей оставалась максимально удобной и продуктивной. Задача, скажу я вам, не из легких. Но, слава Богу, бороться приходится не одному, а в коллективе единомышленников — так, в Интернете или Фидо, существует множество конференций и форумов, посвященных проблемам безопасности и администрирования, где вы всегда можете рассчитывать на квалифицированную помощь и дельный совет. Делятся люди опытом не только в форумах, но и посредством различных публикаций (как в электронных средствах массовой информации, так и в бумажных) и книг, посвященных администрированию.

Итак, когда же начинается сам процесс администрирования компьютера? А начинается он уже во время инсталляции ОС (точнее, еще раньше, когда вы продумываете политику безопасности, оцениваете, на какие группы разбить пользователей, какие права и привилегии каждой из них выделить, и так далее, но технически настройка всех параметров ОС начинается именно в момент инсталляции). Начнем с самого начала. После успешной установки операционной системы человеку, ее проводящему, предлагается ввести имя компьютера, а также утвердить пароль администратора. Это, пожалуй, самая важная часть всего процесса установки, поэтому отнестись к ней нужно серьезно, ибо администратор — это почти «бог». И если, в случае чего, у вас еще будет возможность изменить имя компьютера путем прямого редактирования реестра, то вот забыть пароль администратора — непростительная оплошность. А главное — еще и трудно исправимая, поэтому, если вы действительно умудрились забыть пароль, то мне вас искренне жаль. В то же время, мы крайне не рекомендуем записывать пароль где попало или брать в качестве него имя любимой жены, благо его-то уж знают все ваши сотрудники и при необходимости могут без труда подобрать. Лучше всего взять какое-нибудь длинное и хорошо запоминающееся слово (например, широко разрекламированный товар или марку), скажем panasonic, и заменить часть букв на схожие по написанию цифры (i или l на единицу, о на ноль) или некоторые буквы заменить на заглавные, в нашем примере получится pAnAs0nIc — сомнительно, что кто-то быстро подберет такой пароль, и в то же время он будет достаточно запоминающимся. Вспомните, какой был пароль у Фокса Малдера — легендарного агента ФБР из сериала «Секретные материалы» — Trustno1. Его не смогли адекватно перевести даже профессиональные переводчики ОРТ (закодированную фразу «не доверяй никому» они озвучили как «верю не верю один»).

Здесь есть еще один тонкий момент: поскольку администратор имеет неограниченный доступ ко всем ресурсам компьютера, не рекомендуется выполнять повседневную работу, входя в систему от имени администратора, поскольку таким образом вы колоссально увеличиваете уязвимость системы. Ведь все программы, запускаемые в рамках рабочего сеанса с расширенными административными полномочиями, могут представлять опасность для рабочей среды — особенно это касается использования всем известного Internet Explorer’а для серфинга по просторам сети, а также не менее известной почтовой программы Outlook. Кроме того, вы можете случайно изменить важные настройки, а запустившиеся вирусы в этой ситуации будут чувствовать себя просто восхитительно. Поэтому для домашнего компьютера оптимальным считается вариант, когда администратор обладает двумя учетными записями: одна из них обладает набором привилегий обычного (или опытного) пользователя, а вторая расширенным набором административных привилегий. Вся каждодневная работа выполняется с использованием первой учетной записи, а для выполнения задач, связанных с администрированием системы, администратор должен переключаться на использование второй. Для сети, где вопросы безопасности особенно важны, мы бы рекомендовали наделить правами администратора учетную запись с отличным от установленного по умолчанию именем (чтобы потенциальному нарушителю пришлось узнавать не только пароль, но еще и имя учетной записи), в то же время учетную запись с именем «Администратор» обеспечить минимальными правами и включить аудит на ее использование, — тогда вы сможете отслеживать в журнале событий все атаки, предпринимаемые на драгоценный сервер.

Естественно, что постоянное отключение от системы и подключение к системе с использованием различных учетных записей, меняющихся в зависимости от выполняемых задач, — весьма утомительное и нудное занятие. Но в Windows 2000 этого и не требуется делать, ведь она теперь поддерживает новый механизм, который позволяет запускать приложения в другом контексте безопасности, не отключаясь при этом от системы. Эта возможность обеспечивается благодаря автоматически запускающейся в начале работы системы службе Secondary Logon Service (запуск от имени). Чтобы воспользоваться этим механизмом, нужно просто щелкнуть на исполняемом файле правой кнопкой мыши, при этом удерживая нажатой клавишу Shift. В результате в выпадающем меню появится пункт Run As (Запуск от имени), и вы сможете запустить интересующее вас приложение от имени другого пользователя.

Добавлять новых пользователей в систему могут только администраторы и опытные пользователи, при этом опытные пользователи не могут назначать пользователям права большие, чем они имеют сами. Не стоит кидаться и сразу создавать кучу пользователей и назначать каждому из них определенные полномочия, лучше выключите компьютер, расслабьтесь и спокойно продумайте план инфраструктуры безопасности, ведь это, пожалуй, одна из самых важных составляющих общего плана развертывания Windows 2000 на предприятии. Очевидно, что при планировании системы безопасности крупной сети вам потребуется затратить значительно большие усилия, чем если бы вы планировали систему защиты сети, в которой работает лишь несколько клиентов. Однако, без всякого сомнения, время, потраченное на изучение принципов «правильного» администрирования даже одного компьютера, не окажется лишним. Скажем сразу, что законченный план безопасности обязательно должен содержать сведения о том, каким образом вы планируете использовать механизмы защиты ОС для того, чтобы обеспечить приемлемый уровень защиты ресурсов рабочей среды, желательно даже, чтобы это было сделано в письменной форме. Продумывая план безопасности, вы, прежде всего, должны оценить риски безопасности, то есть представить возможные ситуации, в которых рабочая среда может оказаться под угрозой. При этом вы должны по возможности разделить эти ситуации на категории, критерием деления будет служить вероятность возникновения ситуации и возможный в этом случае ущерб (например, следует учесть деструктивные действия вирусов, неправильное назначение привилегий, отказ служб, перехват идентификационных данных и т.д.). Обязательно определите политику создания паролей, то есть требование к сложности паролей, их длине, а также к интервалу времени, после которого пароль должен быть изменен (вместо того чтобы назначать правила, которым должны соответствовать придуманные пользователями пароли, вы можете сами назначать им пароли и запретить их изменять). Независимо от того, сами ли вы назначаете пользователям пароли, или они этим занимаются самостоятельно, постарайтесь исключить передачу незашифрованных паролей через каналы связи вашей сети. Продумайте действия, связанные с аудитом. Необходимо учитывать, что механизмы аудита требуют для своей работы дополнительного дискового пространства, а также влияют на производительность. Определите, желаете ли вы, чтобы старые сообщения в журнале аудита перезаписывались спустя несколько дней, или будет лучше, если компьютер будет останавливаться в случае, если происходит переполнение журнала безопасности. Обязанность просмотра журнала безопасности вы можете делегировать другому лицу. Обязательно проанализируйте меры безопасности, связанные с использованием в сети кода, загружаемого из Интернета или получаемого из других непроверенных источников. Также продумайте процедуры, связанные с цифровой подписью писем, отправляемых от лиц, являющихся членами вашей сети.

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

Итак, можете включать компьютер и начинать настраивать ОС. Поскольку мы только что установили систему, на компьютере у нас имеется всего две учетных записи: Администратор и Гость. Учетная запись Администратор позволяет полностью управлять компьютером, поскольку входит в группу Администраторы и, таким образом, обладает полным контролем над всей работой системы и ее безопасностью. К слову, учетная группа Администраторы — единственная, которая не может быть удалена или заблокирована ни при каких обстоятельствах, в эту группу обязательно должна входить хотя бы одна учетная запись. Гость — это учетная запись для тех пользователей, которые не зарегистрированы в системе. Для входа в систему в качестве гостя необязательно вводить пароль и предварительно регистрироваться. Таким образом, будьте особенно осторожны, при определении прав и привилегий учетной группы Гости. А лучше вообще отключите ее использование.

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

Как известно, в Windows 2000 реализован многопользовательский интерфейс, который предоставляет возможность работать на одном компьютере нескольким людям. Для их учета и идентификации используются учетные записи, поэтому каждый, кто регулярно работает на локальном компьютере, должен иметь учетную запись пользователя, которая содержит информацию о пользователе, включая имя пользователя, его пароль и различные необязательные пункты, определяющие, помимо прочего, когда и каким образом пользователю разрешено входить в систему (с локального компьютера или, скажем, используя telnet). Из этого следует, что одна из ключевых задач администрирования состоит в создании учетных записей для отдельных пользователей и их групп. Отдельная учетная запись предоставляет индивидуальные настройки рабочей среды, в которые входят настройки рабочего стола и интерфейса пользователя, а также индивидуальные настройки отдельных приложений, которые использует данный пользователь (например, настройки почтовой программы будут различны для различных использующих ее людей), настройки печати, набор разрешенных для выполнения программ и так далее. При этом предполагается, что часть индивидуальных настроек пользователи устанавливают сами в соответствии со своими вкусами и потребностями, а часть устанавливает администратор, и эти настройки кроме него не имеет права менять никто. Управление учетными записями осуществляется с помощью оснастки «Локальные пользователи и группы», а также при помощи пункта панели управления — «Пользователи и пароли» (Users and Passwords). Сразу следует оговориться, что вариант использования «Пользователи и пароли» предоставляет значительно меньше возможностей, чем первый, и служит скорее для упрощения администрирования. Однако, с другой стороны, он предоставляет два уникальных параметра: автоматический вход в систему при загрузке с использованием особой учетной записи; определение необходимости нажатия комбинации клавиш Crt-Alt-Del для доступа к диалоговому окну Вход в систему.

Каждая учетная запись может иметь членство в одной или нескольких группах. При установке системы автоматически создаются шесть встроенных групп: Администраторы, Операторы архива, Гости, Опытные пользователи, Репликаторы и Пользователи. Попробуем пояснить, зачем же нужны эти группы. Права доступа в системе можно назначать вручную для каждой учетной записи, так чаще всего и поступают, если пользователей немного. Но что делать, если их, например, больше 100? Администратору предстоит бессонная ночь, если он попытается назначать права доступа всем им прямым присвоением. Ну а если пользователи все время приходят и уходят, администратор, как Жучка, будет этим заниматься практически постоянно, а это рано или поздно приведет к анархии в администрировании, так как никто не будет иметь представления о том, каким пользователям предоставлены разрешения и какие именно. Гораздо предпочтительнее хорошо разработать несколько групп и включать туда при необходимости те или иные учетные записи. Но не стоит думать, что использование групп служит только для облегчения работы администратора, вовсе нет, преимущества их использования должны быть очевидны и руководителям, и топ-менеджерам. Предположим, вы директор крупного предприятия. Вы работаете с самыми разными документами: финансовыми договорами, производственными бумагами, договорами о поставках и так далее, все они хранятся на сервере вашего предприятия, поскольку с ними работают и другие сотрудники. Вам, вполне естественно, хотелось бы ограничить доступ бухгалтеров к производственным документам, а инженеров — к финансовым. С этой целью можно создать две группы: «Финансисты» и «Техники», каждой из которых назначить доступ к нужным файлам. Затем учетная запись директора включается в каждую из этих групп, и вы получите доступ ко всем документам сразу. Назначая права доступа не отдельным пользователям и их учетным записям, а целым группам, администратор может сильно повысить эффективность своей работы, особенно если в сети работает много пользователей с разными правами доступа.

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

Но права и разрешение на использование тех или иных ресурсов — это не единственное, что отличает различных пользователей одной сети или даже одного компьютера. Все мы люди, а значит, личности, то есть индивидуальности, поэтому у каждого из нас есть свои предпочтения и вкусы. Как писал классик: кто-то любит арбуз, а кто и свиной хрящик. При этом каждый обычно пытается эту свою индивидуальность выразить, поэтому поверхность десктопа очень быстро, словно скатертью, накрывается различными обоями и всевозможными иконками. Понятно, что люди, занимающиеся разной работой, обычно используют разные приложения, если десктоп у всех будет один и тот же — то он очень скоро превратится в «жуткое нечто», наполненное кучей ярлыков и ссылок. Работать эффективно будет почти невозможно. Поэтому все настройки рабочей среды, сделанные самим пользователем и называемые профи-лем пользователя, хранятся отдельно для каждого, кто пользуется компьютером. Локальный профиль пользователя хранится в папке Documents and Settings, перемещаемый профиль находится в специальной папке на выбранном для этого сервере, пути к которой прописаны для каждой учетной записи, использующей этот профиль. Однажды создав профиль пользователя, не хочется делать это заново в случае переустановки системы или изменения места работы пользователя. На этот случай предусмотрена очень приятная возможность: создание перемещаемого профиля, который хранится на сервере и может быть доступен на любом рядовом ее члене. Один из способов создания перемещаемого профиля — скопировать нужный про-филь в специальную папку на сервере, а затем переименовать файл настроек пользователя Ntuser.dat в Ntuser.man. После этого можно прописывать пути к этому профилю для нужных вам учетных записей, это делается либо с помощью оснастки Локальные пользователи и группы, либо — Active Directory — пользователи и компьютеры.

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

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

Windows 2000 и XP — курс молодого администратора (Часть 7)

Иван Марциновский, Алексей Смирнов

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

Диски и файловая подсистема

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

Карлос Кастанеда, «Искусство сновидения»

Как известно, первые операционные системы вроде CP/M или MS-DOS создавались в основном для того, чтобы управлять файлами, расположенными на дисках или других носителях, не зря DOS расшифровывается как Disk Operating System (то есть Дисковая Операционная Система). Были, конечно же, в их составе и сетевые расширения, и прообразы интерфейсов программирования, но они использовались достаточно редко, а иначе говоря, далеко не везде и не всегда. Сегодня же операционная система берет на себя гораздо большую функциональную нагрузку, чем просто работа с долговременной памятью (дисками): это предоставление интерфейсов программному обеспечению, обеспечение взаимодействия с пользователем, управление аппаратной частью и предоставление пользователю базового набора утилит и системных программ (очень различного, кстати сказать, у разных операционок). Тем не менее, ключевыми остались функции системы, реализующие работу с файлами, дисками и иными накопителями информации, это и неудивительно: важность надежного хранения информации очевидна, а последствия ее утери могут носить весьма неприятный характер.

Если сравнивать встроенные в Windows 2000 механизмы работы с дисковыми и файловыми системами с аналогичными в Windows NT 4.0, то можно сказать, что они не претерпели кардинального изменения. Но в то же время, следует отметить, что эти механизмы теперь обладают новыми чертами и особенностями реализации: так, кроме поддержки в Windows 2000 файловой системы FAT32 и новой спецификации NTFS (NTFS 5.0), обращает на себя внимание совершенно новая схема работы с дисковыми разделами. Теперь, работая с Windows 2000 Professional, вы можете использовать диски двух разных типов: базовые и динамические. Базовым назван способ разбиения диска, который с давних времен применяется в таких системах, как DOS, Windows 9x, а также в Windows NT. Этот формат дисков основан на использовании таблиц разделов (partition tables), в которых хранятся сведения о размере разделов, адреса начальных секторов каждого раздела, а также некоторые другие не менее важные для ОС данные. При этом раздел всегда представляет из себя непрерывный набор секторов, а на базовый том накладывается ограничение — он может занимать смежные секторы только одного раздела (некое исключение представляет использование составных томов в Windows NT 4.0 — но они не являются полностью переносимыми, без части информации хранимой в реестре NT вы не сможете прочитать с них какие-либо данные). Динамические диски — это новшество Windows 2000, которое позволяет использовать более гибкую схему разбиения винчестера на разделы, а значит, и всю мощь и преимущества составных томов (например, использовать тома очень большого размера, состоящие из нескольких разделов нескольких различных физических дисков, а также повышать отказоустойчивость дисковой подсистемы за счет применения программных RAID). При этом теперь вы можете манипулировать их структурой, не только не теряя при этом важную информацию, но и даже не перезагружая компьютер!

Как же этого добились разработчики компании «Майкрософт»?

Подсистема долговременного хранения данных в Windows 2000 состоит из двух основных компонентов: FT Disk (Fault-tolerant Disk Manager) — диспетчер отказоустойчивых дисков, перенесенный из Windows NT для сохранения совместимости и для обеспечения работы со старыми базовыми дисками. LDM (Logical Disk Manager) — диспетчер логических дисков, поддерживающий новые механизмы отказоустойчивости, обеспечивающий работу с системными метаданными, а также позволяющий пользователям использовать более удобные способы управления и администрирования дисков.

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

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

Для работы с файлами разные операционные системы поддерживают разные типы файловых систем. Наиболее распространенные файловые системы — это CDFS, UDF, FAT12, FAT16, FAT32, NTFS, HPFS (файловая система уходящей сейчас на покой, но некогда очень популярной OS/2), Windows 2000 поддерживает первые шесть из перечисленных. Ниже мы дадим их краткое описание. Первые две файловые системы будут нас интересовать гораздо меньше остальных, так как они предназначены для использования на компакт- и DVD-дисках.

CDFS (CD File System) — это наиболее простой формат, но он имеет ряд существенных ограничений, например, длина имени файла не должна превышать 32 байта, вы не можете использовать глубоко вложенные каталоги и так далее, поэтому сейчас используется более прогрессивный формат UDF (Universal Disk Format), который является надмножеством формата CDFS.

UDF — современный стандарт файловой системы дисков, поддерживаемый Ассоциацией технологий оптической долговременной памяти (OSTA). По некоторым своим характеристикам он уже больше напоминает форматы файловых систем, используемых в жестких дисках, достаточно сказать, что поддерживаемый размер собственно имени файла увеличен до 256 символов, добавлена возможность загрузки ОС, списки управления доступом, а также потоки. В состав Windows 2000 включена поддержка UDF v1.5, в то время как Windows 98 ограничивается UDF v1.02. Хочется еще заметить, что в текущих версиях Windows 2000 Professional драйвер UDF позволяет производить только операции чтения, для записи дисков вам придется воспользоваться реализациями UDF сторонних производителей.

FAT12 — наверное, является самой распространенной на сегодняшний день файловой системой, так как применяется практически на всех без исключения дискетах. Общее название всех форматов файловых систем типа FAT произошло от слов «таблица размещения файлов» (File Allocation Table), которая располагается в начале тома данных. Вторая часть имени представляет собой число, указывающее разрядность идентификатора кластера на диске. Для FAT12 это, соответственно, 12 разрядов, следовательно, максимальное число кластеров на диске будет равно 212 = 4096. Максимальный размер кластера, поддерживаемый Windows 2000, — 8 килобайт, из нехитрых расчетов видно, что максимальный размер тома для хранения информации с использованием FAT12 не сможет превысить 32 Мб, что, конечно же, очень мало для современных приложений (сама Windows не встанет на такой диск). Напрашивается вопрос: зачем же тогда оставлена поддержка FAT12? Ответ прост: все дискеты 5,25 дюймов и часть 3,25 дюймовых продолжают использовать формат FAT12, так как он оптимален для таких небольших дисков. Если бы стал использоваться FAT32, то на дискете, после того как туда будет записана таблица размещения файлов, осталось бы довольно мало места для самих файлов.

FAT16 — была представлена в MS-DOS 3.0 и до недавнего времени оставалась одной из самых распространенных файловых систем. По принципу устройства она ничем не отличается от своей младшей сестры FAT12, но размер указателя кластера на диске увеличен до 16 разрядов, таким образом, стало возможным адресовать до 65536 кластеров, что при использовании размера кластера 64 Кб позволяет адресовать 4 Гб дискового пространства. При создании формата казалось, что диска размером в 4 Гб в обозримом будущем должно хватить для любых нужд, тем более что на одном физическом диске можно создать несколько логических, но практика показала несостоятельность этой идеи, воплотившуюся в FAT32.

FAT32 — самая новая и мощная файловая система семейства FAT. Как явствует из названия, у нее 32-разрядный идентификатор файла, но в силу некоторых особенностей эффективно используются только младшие 28 бит. Учитывая, что максимальный размер кластера для FAT32 составляет 32 Кб, получаем, что том может иметь размер 8 терабайт. На самом деле Windows 2000 не позволит вам создать том, размер которого превышает 32 Гб, хотя, что забавно, позволяет работать с такими томами, если они созданы другими операционными системами.

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

О выборе размера кластера стоит поговорить особо. Все файловые системы, использующие в своей основе FAT, устроены так, что для хранения каждого из файлов нужно выделить хотя бы один кластер. Даже если вы храните файл нулевого размера, а размер кластера составляет 64 Кб, то вы потеряете 64 Кб. При этом частично занятый кластер уже не может в себя вместить какие-либо данные, принадлежащие другому файлу. Он оказывается выкинутым из системы, а незаполненное место не используется. Так получается, что при хранении множества маленьких файлов впустую теряются сотни мегабайт дискового пространства! Казалось бы, нет ничего проще, чем разбивать диск на максимально возможное количество кластеров, тогда каждый из них будет меньшего размера, и, соответственно, меньше места будет выкидываться на «свалку». Логика, казалось бы, верная, но она верна только до определенной поры. Начиная с какого-то момента, кластеров оказывается слишком много, а ведь на хранение информации о каждом из них выделяется 8 байт (32 бита в основной и столько же в резервной таблице разбиения файлов). Получается, что если использовать максимальное количество кластеров, то для хранения только таблиц FAT на достаточно больших дисках потребуется 2 Гигабайта! Все бы было не так плохо, если бы эти таблицы находились только в долговременной памяти, но ведь для обеспечения приемлемой скорости работы они кэшируются диспетчером кэша в ОЗУ!!! Поэтому, трижды подумайте, прежде чем менять размер кластера, предлагаемый по умолчанию.

О каждом кластере в FAT содержится некоторая информация, которая описывает состояние кластера: unused (не используется); claster in use by file (кластер содержит информацию файла); claster in file (последний кластер файла); last bad claster (испорченный кластер).

Ключевую роль играет корневая папка (корневой каталог), она находится на диске в четко определенном месте и имеет фиксированный размер. В FAT12 и FAT16 ей выделяется место, достаточное для хранения 256 записей, в начале тома. Таким образом, для этих файловых систем существует ограничение на число файлов и папок, находящихся непосредственно в корневом каталоге. Каждая папка содержит для каждого вложенного в нее файла и папки запись определенной длины, зависящей от типа файловой системы, в которой содержится информация о времени и дате создания, последнего доступа и последней модификации объекта (файла или папки), указатель на начальный кластер файла, его размер и собственно имя и расширение файла. Каждый кластер содержит в себе указатель на следующий кластер, содержащий этот файл, таким образом, файл может быть разбросан по диску без всякой системы, находясь в нескольких кластерах. Если кластер не содержит указателя, то он имеет идентификатор (0хFFFF — для FAT16 и 0xFFF для FAT12), который показывает, что этот кластер последний. Если имя файла не соответствует формату 8.3, то для его хранения выделяются дополнительные записи в таблице размещения файлов.

NTFS (NT File Sistem) сильно отличается от FAT по своим характеристикам и способу устройства. Эта система изначально поддерживалась платформами NT, и Windows 2000 работает с ней лучшим образом, чем со всеми другими. В отличие от рассмотренных выше файловых систем, данная работает с указателями на файлы длиной 64 бита, а это обеспечивает поистине громадные размеры для тома: до 16 экзабайт (263 -1) при размере кластера 64 килобайта. Сейчас не приходится говорить о том, что кому-то реально нужны такие объемы, но емкость дисков растет, и неизвестно, сколько дискового пространства понадобится серверу для успешной работы в будущем. Ниже перечислены все основные характеристики NTFS. кластер имеет размер от 512 байт до 64 Кб, минимальный размер тома составляет 10 Мб, максимальный размер — до 16 экзабайт (реально Windows позволяет адресовать только первые 128 Тб), используя NTFS, невозможно форматировать дискеты, возможность устанавливать разные права доступа к различным объектам файловой системы для отдельных лиц и групп, дисковые квоты, восстановление тома при сбоях, обеспечиваемое ведением журнала дисковой активности, где ведется протоколирование транзакций, поддержка шифрования файлов «на лету», возможность сжатия отдельных файлов и каталогов (если размер кластера не превышает 4 Кб), поддержка чередующихся томов, обеспечивающих быстрый доступ к данным, зеркальные тома и тома RAID-5, позволяющие обеспечить высокую надежность хранения данных.

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

Наиболее важная часть тома NTFS — загрузочный сектор раздела (Partition Boot Sector), он начинается с нулевого сектора и может иметь длину до 16 секторов. В PBS содержится информация о строении тома и файловой системы, а также имеется указатель на загрузчик операционной системы, установленной на компьютере.

Все файлы описываются в главной таблице файлов MFT (Main File Table). Она представляет собой набор записей о файлах, каждая запись имеет длину 1 Кб и обычно соответствует одному файлу. Структура NTFS довольно сложная, вся система хранится в нескольких файлах, каждый из которых содержит определенный тип информации (файлы журнала, тома, параметров защиты, распределения кластеров тома и т. д.)

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

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

имя_файла.расширение:поток

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

Еще одна интересная особенность NTFS — возможность создавать жесткие связи и точки соединения. Создавая жесткую связь, вы получаете возможность ссылаться на один и тот же объект файловой системы по нескольким разным путям: например, можно сделать так, чтобы папка внутри раздела «Мои документы» Мои документыС ссылалась на диск С:. Тогда на диск С можно будет ссылаться по двум путям. Точки соединения выполняют схожую функцию: они перенаправляют пользователя из одного каталога в другой прозрачно для него.

Если у вас на диске хранятся важные данные, можно воспользоваться функцией шифрования файлов, которая предоставляется расширением файловой системы NTFS — EFS (Encrypting File System). Шифрование файлов и их дешифрация происходят также прозрачно для пользователя, однако при запросе на доступ к файлу со стороны пользователя проверяется, соответствует ли учетная запись данного пользователя учетной записи того пользователя, который имеет право на доступ к этим данным. Вкратце алгоритм шифрования выглядит следующим образом: вначале EFS генерирует случайное число, с помощью которого шифрует файл, затем при помощи открытого ключа из пары ключей, сопоставляемых данной учетной записи, шифруется это число и сохраняется вместе с файлом; таким образом, для того чтобы расшифровать файл, нужно знать это случайное число, а его невозможно получить, не зная секретного ключа.

Поскольку Windows 2000 в большой степени ориентирована на работу в сети, это не могло не сказаться на файловой системе. Специально для облегчения доступа к сетевым ресурсам и объединения всех файловых ресурсов в одном пространстве имен создана DFS (Distributed File System). Она позволяет присваивать различным физическим адресам общих ресурсов в сети удобные и понятные логические имена, по которым и будет обращаться пользователь к интересующей его информации, при этом реальный физический адрес он может так никогда и не узнать.

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

Windows 2000 — курс молодого администратора (часть


Иван Марциновский, Алексей Смирнов

В прошлой статье мы более или менее разобрались с тем, как работает дисковая подсистема у Win 2000. Теперь обратимся к тому, как же нам использовать наши знания на практике. Для работы с дисками и файловыми системами существует множество утилит и специальных программ, наверное, наиболее известная из них — Partition Magic, которая позволяет творить просто чудеса с дисками и разделами. Существуют и другие, более специфичные — типа Win Ghost, утилиты из набора Norton Utilities или Fix-it Utilities, но мы не будем их описывать — во-первых, это выходит за рамки обзорной статьи, а во-вторых, научиться работать с ними достаточно просто. В Windows 2000 есть свои, встроенные, довольно неплохие средства решения большинства задач, возникающих в связи с управлением дисками и файловой подсистемой.

Часть восьмая. Администрирование файловых ресурсов

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

Карлос Кастанеда, «Сила Безмолвия»

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

Сразу скажем, что Windows 2000 предоставляет несколько возможностей и различных путей для решения одной и той же проблемы. Некоторые из них являются, по сути, одним и тем же способом, только для удобства вызываются из различных мест. Другие, наоборот, представляют собой практически взаимоисключающие друг друга стратегии… Возможно, система позволит вам использовать одновременно несколько из них, но ничего путного из подобного сочетания, скорее всего, не получится.

Так, разрешением на доступ к папкам можно управлять, используя «Общий доступ» (в окне «Свойства» выбрать вкладку «Доступ», а потом в появившемся окне нажать кнопку «Разрешение»), а можно и используя возможности файловой системы NTFS. Каждый из методов имеет свои преимущества и недостатки. Первый вариант удобен тем, что, используя его, можно ограничить доступ к папкам на разделах, отформатированных под файловую систему FAT16 и FAT32. Но, в общем-то, на этом его достоинства и заканчиваются, дальше следует недостатки: разрешения на доступ проверяются только для сетевых пользователей (иначе говоря, локальные пользователи могут делать с вашей папкой все, что их душе заблагорассудится); все разрешения задаются только для папки целиком, а не для отдельных файлов; предоставляется достаточно скудный набор параметров для конфигурирования (вам позволят разрешить или запретить только следующую функциональность: полный доступ, изменение, чтение). Поэтому мы не видим особых причин использовать «общие сетевые папки» на дисках, отформатированных под систему NTFS. А так как NTFS — это родная для Windows 2000 файловая система, мы рекомендуем вам использовать ее, и никакую другую.

Для изменения разрешений и запретов на доступ и проведение определенных операций с файлами и папками, расположенными на NTFS-дисках, нужно открыть у соответствующего объекта окно свойств и выбрать вкладку «Безопасность» (Security), на которой установить флажки для нужных параметров доступа. С помощью этих флажков можно регулировать доступ для отдельных пользователей и групп, запретить и разрешить можно следующую функциональность: смена владельца, смена и чтение разрешений, удаление, чтение и изменение атрибутов, запись и дозапись данных, чтение данных, обзор папок и выполнение файлов. Для папок также можно дополнительно указывать, как применяются настройки: только внутри этой папки, для дочерних папок, для файлов и так далее. Если пользователь является владельцем файла, он может распоряжаться им по своему усмотрению, предоставляя права доступа другим пользователям. Администратор, при желании, может стать владельцем любого файла или папки, таким образом, для того чтобы получить полный доступ к файлу, достаточно лишь стать его владельцем. Все разрешения носят аддитивный характер, то есть, права складываются из прав группы, в которую входит пользователь, и прав, которыми наделен лично он. При этом нужно помнить, что запрещающие директивы всегда имеют больший приоритет, чем разрешающие, и использовать их надо с осторожностью. Так, если у пользователя есть, например, право на чтение некоторого файла, но он входит в группу, которой это делать запрещено, то он не сможет читать файл.

Другое полезное нововведение, которое позволяет вам использовать NTFS, и которое недоступно на FAT-дисках, — это дисковые квоты.

Представьте себе ситуацию: веселый и нерадивый сотрудник вашей фирмы впервые приходит на свое рабочее место, и когда ему говорят, сколько ему можно использовать места на сервере, он отвечает: «Ух ты, как здорово! Это много, мне хватит!». Однако через некоторое время (обычно — очень непродолжительное) оказывается, что ему этого места не хватает, ведь, как известно, слишком больших винчестеров не бывает, на них всегда можно что-нибудь залить (фильмы, музыка в формате MP3, гламурные картинки, игры, да мало ли какого мусора можно найти в Интернете). Контролировать, кто и сколько занимает места на диске, — занятие довольно скучное и вряд ли кого-нибудь увлечет, кроме патологического маньяка-вуайериста. Хорошо, когда ситуация выглядит именно так, как мы описали, — с сотрудниками всегда можно договориться, а, скажем, на вашем сервере, расположенном в сети, действует вирус или червь, который постоянно записывает данные на винчестер — в какой-то момент это может привести к переполнению диска и отказу служб — пока вы найдете ошибку и «почистите» винчестер, пройдет время, в течение которого ваш информационный ресурс не будет работать. Но, на счастье, существует такая служба, как выделение дисковых квот пользователям. Это нововведение, и до Windows 2000 «Майкрософт» не предоставляла такой возможности. Объем файлов, принадлежащих пользователю, устанавливается путем суммирования размеров всех файлов, принадлежащих пользователю на данном логическом диске. Так как при создании нового файла его владельцем автоматически становится активный пользователь, инициирующий эту операцию, несложно проследить в самом начале, может ли он создать файл, или его лимит уже достигнут. Управление квотами включается на вкладке «Свойства» того тома, который требуется настроить. На этой вкладке можно установить поведение системы при превышении квот пользователями — записать в журнал аудита, или предупредить пользователя, или вообще запретить ему запись на диск, а также позволительно использовать любую комбинацию из этих опций. Кроме того, система позволяет установить две границы и настроить действие, выполняемое при превышении каждой из них (например, при превышении порога в 500 Мб предупредить об этом пользователя и записать в журнал аудита, а при превышении 580 Мб запретить запись на диск).

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

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

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

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

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

установка активного раздела;

форматирование дисков;

создание динамических томов;

работа с чередующимися, зеркальными, составными и RAID-5 томами;

«горячее» подключение дисков

Возможно, вы уже знакомы с этой терминологией, но для тех, кто впервые сталкивается со всякого рода «RAID-массивами», сделаем некоторые пояснения. Том — это довольно общее понятие для обозначения большого пространства, используемого для хранения информации. Том может располагаться на одном логическом диске — тогда он называется простым; или нескольких — тогда это составной, чередующийся, зеркальный том или том RAID-5. Если том располагается на нескольких логических дисках, он должен быть динамическим. Динамический том во многом более удобен, чем простой, единственный его серьезный недостаток — с динамического тома нельзя грузиться, исключение составляют зеркальные динамические тома, о которых мы поговорим чуть позже. Для чего это все делается? Составные тома могут быть очень большими, поэтому на них удобно хранить большие структурированные объемы данных. Если данные представляют большую ценность, для их хранения подходят зеркальные тома (RAID-1), поскольку они подразумевают дублирование информации, и если один из физических дисков выходит из строя, ее можно восстановить. Чередующиеся тома (RAID-0) не предоставляют возможности восстановления, зато они существенно ускоряют работу с дисками, то есть считывание и запись информации, это происходит за счет того, что все данные разбиваются на короткие блоки, часть из которых записывается на один диск, а часть — на другой, таким образом организуется два потока обмена информацией.

Всем этим управляют два драйвера, осуществляющие управление томами и дисками — это FtDisk и DMIO. Самые простые в реализации — составные тома и чередующиеся тома. Составной том — это всего-навсего несколько разделов на физических дисках, объединенных некоторым образом и представленных в виде одной логической единицы. Размер составного тома может быть динамически увеличен или уменьшен прямо в оснастке управления дисками. Чередующиеся тома очень похожи по реализации — несколько дисков точно так же объединяются в один логический, но при этом должно быть выполнено важное условие — диски должны быть одинакового объема. Система воспринимает такой том, как том, объем которого равен сумме объемов всех дисков. Зеркальные тома также устроены довольно тривиально — данные, записываемые на один диск, автоматически дублируются на другом, при этом, если они будут повреждены на одном из дисков, система считает их с другого, происходит это все прозрачно для пользователя. На зеркальные тома может быть установлена любая файловая система из числа поддерживаемых Win2000, кроме того, они, как уже упоминалось, могут быть загрузочными, поскольку загрузчик и другие модули операционной системы, исполняемые в начале, работают с данными, относящимися к одному из дисков, при этом им совершенно не нужен другой. Использование зеркальных томов дает не очень большое преимущество по скорости при работе с файлами, однако оно имеется, поскольку менеджер дисков балансирует нагрузку между несколькими дисками. Самый совершенный и эффективный из представленных вариант динамических томов — RAID-5, или чередующийся том с записью четности. Как явствует из названия, механизм поддержки таких томов сочетает в себе преимущества чередующихся томов и зеркальных томов. Для создания RAID-5 массива необходимо иметь хотя бы 3 одинаковых по объему логических диска. В начале каждый из участвующих дисков разбивается на одинаковые участки, в которые затем записываются данные, причем на два диска записывается непосредственно информация, разделенная таким образом, чтобы обеспечить максимальную скорость операций, а на третий диск записывается контрольная сумма соответствующих разделов на первых двух дисках, полученная в результате исключающей конъюнкции, которая позволяет при повреждении одного из первых дисков восстановить данные на втором. Не стоит думать, что один из дисков хранит только контрольные суммы — это не так, поскольку при записи на следующий участок дисков контрольная сумма будет записываться уже на другой диск, а данные — на тот, где уже имеются данные, и тот, где хранится контрольная сумма первого участка, и т. д. Все это кажется несколько запутанным и надуманным, но реально обеспечивает высокую скорость, повышенную защищенность и некоторую экономию места по сравнению с томами типа зеркальных.

Этот материал написан посетителем сайта, и за него начислено вознаграждение.

Понравилась статья? Поделить с друзьями:
  • Какие файловые системы не используются в ос windows a ntfs
  • Какие службы при загрузке можно отключить в windows 10
  • Какие службы отключить в windows 10 для улучшения производительности ноутбука
  • Какие файловые системы используются в операционной системе windows ответ кратко
  • Какие службы отключить в windows 7 после установки