Partition Magic. В составе ОС Windows 2000/XP для этой цели имеется консоль управления с оснасткой Управление дисками.
Следует отметить, что в операционной системе Linux логические диски и разделы нумеруются и обозначаются иным способом, чем в ОС Windows. Жесткий диск с IDE-интерфейсом, подключенный к первому порту как главный (master), имеет имя hda. Второй диск на этом же шлейфе – hdb. Далее – hdc и т. д. Разделы дисков обозначаются по номерам элементов таблицы разделов. Таким образом, независимо от того, сколько создано первичных разделов (от одного до четырех), номер первого логического диска в расширенном разделе будет пять, второго – шесть и т. д.
Операционные системы семейства Windows NT имеют возможность загружать не одну операционную систему, а несколько, т. е. системный загрузчик Windows NT /2000/ XP является менеджером загрузки. Для указания установленных ОС и выбора одной из них используется файл boot.ini. Этот файл является текстовым. Он обрабатывается программой ntldr, которая и является системным загрузчиком и на которую передается управление из внесистемного загрузчика.
Следует заметить, если на компьютере необходимо установить не одну операционную систему, то вначале желательно инсталлировать более старый вариант ОС, а затем – более современный. Например, при установке на один компьютер операционных систем Windows 98 и Windows 2000 сначала следует установить Windows 98, а затем – Windows 2000. При установке на один компьютер Windows 2000 и Windows ХР сначала желательно установить Windows 2000, а затем – Windows XP. Иначе могут возникнуть проблемы с работоспособностью ранее установленной системы. В частности, операционная система Windows ХР перестанет загружаться после установки на этот же компьютер Windows 2000, т. к. последняя из установленных систем заменяет системный загрузчик – программу ntldr на первичном системном разделе (диске С), а старая версия этой программы не знает особенности загрузки новой ОС.
Если все же такая задача возникла, то перед инсталляцией операционной системы Windows 2000 на компьютер, где уже стоит Windows ХР, необходимо сохранить где-нибудь вариант программы ntldr, созданной операционной системой Windows ХР, и заменить ее после установки Windows 2000. (Чтобы правильно отображалась кириллица из файла boot.ini, аналогично следует заменить и файл Bootfont.bin, сохранив его перед установкой Windows 2000, а также желательно восстановить модернизированный файл Ntdetect.com.
2.4.3. Файловые системы и системы управления файлами
Для удобства работы пользователю с данными операционная система подменяет физическую структуру хранящихся данных некоторой логической моделью, которая материализуется в виде дерева каталогов, отображаемого на мониторе специальными утилитами типа Windows Explorer или Norton Commander. Базовым элементом этой модели является файл.
Следует напомнить, что файл – это именованный набор байт, расположенный в области внешней памяти, в которую можно записывать и из которой можно считывать данные.
Для управления данными на диске создаются файловые системы, которые определяют способ организации данных на диске или на каком-нибудь ином носителе.
Специальное системное программное обеспечение, реализующее работу с файлами по принятым спецификациям файловой системы, часто называют системой управления файлами. Именно система управления файлами в ОС отвечает за создание, уничтожение, организацию, чтение, запись, модификацию и перемещение файловой информации, а также за управление доступом к файлам. Система управления файлами не существует сама по себе – она разрабатывается для работы с конкретной операционной системой.
Таким образом, термин "файловая система" определяет, прежде всего, принципы доступа к данным, организованным в файлы. Этот же термин используют и по отношению к конкретным файлам, расположенным на том или ином носителе данных.
Термин "система управления файлами" следует употреблять по отношению к конкретной реализации файловой системы, т. е. – это комплекс программных модулей, обеспечивающих работу с файлами в конкретной операционной системе.
Файловые системы поддерживают несколько функционально различных типов файлов: обычные файлы, файлы-каталоги, специальные файлы и др.
Обычные файлы или просто файлы, содержат данные произвольного характера, которые заносит в них пользователь или которые образуются в результате работы системных и пользовательских программ.
Файлы-каталоги, в дальнейшем просто каталоги, содержат информацию о данных, организованных в виде файлов. Другими словами, в каталоге должны содержаться дескрипторы файлов.
Специальные файлы – это фиктивные файлы, ассоциированные с устройствами ввода-вывода, которые используются для унификации механизма доступа к файлам и внешним устройствам (применяются в операционных системах UNIX).
Операционная система при работе с диском использует собственную единицу дискового пространства, называемую кластером (cluster).
Логическое объединение дисковых секторов в кластеры происходит при создании файловой системы с целью уменьшения возможной фрагментации файлов и ускорения доступа к ним.
Разметку диска под конкретный тип файловой системы выполняют процедуры высокоуровневого, или логического, форматирования. При высокоуровневом форматировании определяется размер кластера и на диск записывается информация, необходимая для работы файловой системы, в том числе:
информация о доступном и неиспользуемом пространстве;
о границах областей, отведенных под файлы и каталоги;
информация о поврежденных областях.
Кроме того, на диск записывается загрузчик ОС – небольшая программа, которая начинает процесс инициализации операционной системы после включения питания или рестарта компьютера.
На каждом разделе диска и логическом диске может создаваться только одна файловая система. При этом на разных логических дисках одного физического диска могут располагаться файловые системы разного типа.
Все разделы одного физического диска после низкоуровневого форматирования имеют одинаковый размер блока, записываемого в один сегмент, и, как правило, равного 512 байт. Однако в результате высокоуровневого форматирования в разных разделах одного и того же диска могут быть установлены файловые системы, в которых кластеры имеют разные размеры.
2.5. Современные файловые системы
В настоящее время существует большое количество файловых систем, но наибольшее распространение в персональных компьютерах получили FAT и NTFS благодаря их применению в семействе операционных систем Windows.
2.5.1. Файловая система FAT
Структура логического раздела (логического диска), отформатированного под файловую систему FAT (File Allocation Table – таблица размещения файлов), представлена на рис. 2.9.
Рис. 2.9. Структура файловой системы FAT на логическом диске
Структура логического диска состоит из следующих областей:
загрузочный сектор содержит программу начальной загрузки ОС; вид этой программы зависит от типа ОС, которая будет загружаться с этого раздела;
основная копия FAT содержит информацию о размещении файлов и каталогов по кластерам на диске в области данных;
резервная копия FAT;
корневой каталог занимает фиксированную область размером в 32 сектора (16 Кбайт), что позволяет хранить 512 записей о файлах и каталогах, т. к. каждая запись каталога состоит из 32 байт;
область данных измеряется в кластерах и предназначена для размещения всех файлов и всех каталогов, кроме корневого каталога.
В таблице FAT количество индексных указателей соответствует количеству кластеров в области данных, а номер индексного указателя равен номеру соответствующего кластера.
Индексный указатель имеет ограниченный размер (в частности: 12 бит в FAT 12, 16 бит в FAT 16 и 32 бит в FAT 32) и может принимать значения, представленные для FAT 16 в табл. 2.2.
|
Таблица 2.2
|
Значение индексных указателей таблицы FAT 16
|
Значение
|
Описание
|
0000 h
|
Свободный кластер
|
FFF0h – FFF6h
|
Зарезервированный кластер
|
FFF7h
|
Дефектный кластер
|
FFF8h – FFFFh
|
Последний кластер в цепочке
|
0002h – FFEFh
|
Номер следующего кластера в цепочке
|
Таблица FAT является общей для всех файлов раздела. После форматирования все индексные указатели (ячейки таблицы FAT) принимают значение 0000 h – «кластер свободен» (кроме дефектных и зарезервированных).
При размещении на диске файла операционная система просматривает таблицу FAT и ищет первый свободный индексный указатель. После его обнаружения в поле записи каталога «номер первого кластера» фиксируется номер этого указателя. В кластер с этим номером записываются данные файла, и он становится первым кластером файла. Если файл умещается в одном кластере, то в указатель, соответствующий данному кластеру, заносится значение «последний кластер в цепочке».
Если же размер файла превышает один кластер, то операционная система продолжает просмотр таблицы FAT и ищет следующий указатель на свободный кластер. После его обнаружения в предыдущий указатель заносится номер этого кластера, который теперь становится следующим кластером файла. Процесс продолжается до тех пор, пока не будут размещены все данные файла. Таким образом создается цепочка связанных кластеров файла.
Размер индексных указателей определяет количество кластеров. Например, в FAT 12 используются 12-битные указатели, поэтому возможно иметь только 212 = 4096 кластеров в области данных диска, в FAT 16 – 216 = 65 536 кластеров и в FAT 32 – более четырех миллиардов кластеров.
Так как количество кластеров ограничено, то размер кластера зависит от объема логического диска и обычно выбирается из диапазона от 1 до 128 секторов (от 512 байт до 64 Кбайт). Для уменьшения потерь из-за фрагментации желательно кластеры делать небольшими, а для сокращения объема адресной информации и повышения скорости обмена наоборот – чем больше, тем лучше.
Форматирование FAT 12 обычно используется для гибких дисков. Файловую систему FAT 16 целесообразно использовать для дисков с объемом до 512 Мбайт (несмотря на то, что эта файловая система позволяет иметь максимальный раздел логического диска до 4 Гбайт), чтобы размер кластера не превышал 8 Кбайт.
Для больших дисков до 32 Гбайт лучше подходит файловая система FAT 32, которая способна использовать кластеры 4 Кбайт при работе с логическими дисками объемом до 8 Гбайт или кластеры 8 Кбайт для дисков от 8 до 16 Гбайт.
Дальнейшее увеличение объема логического диска приводит к дальнейшему увеличению размера кластера (16 Кбайт или 32 Кбайт) и потерь за счет неполноты заполнения последнего кластера файла.
Поскольку файлы на диске изменяются, то правило выделения первого свободного кластера для новой порции данных приводит к фрагментации файлов, т. е. данные одного файла могут располагаться не в смежных кластерах, образуя сложные цепочки.
Таблица FAT загружается в оперативную память, причем, если позволяет место, то полностью. В связи важностью таблицы FAT она хранится на диске в двух экземплярах. Обновляются обе таблицы одновременно, а используется только основная таблица. Если основная таблица окажется разрушенной, то произойдет обращение к резервному экземпляру. Например, утилита ScanDisk из ОС Windows 9 x при обнаружении несоответствия основной и резервной таблиц предлагает восстановить главную таблицу, используя данные из копии.
Понятие «файл» для файловой системы включает не только имя и хранимые в выделенных кластерах данные, но и атрибуты – свойства файла. Поэтому в каталогах файловой системы для каждого файла выделяется запись (строка) размером 32 байта, в которой в FAT 16 и FAT 12 указываются следующие данные:
имя файла – 8 символов (8 байт);
расширение файла – 3 символа (3 байта);
атрибуты файла (1 байт) – архивный, скрытый, системный, только для чтения;
резерв – 10 байт;
время последней записи (2 байта);
дата последней записи (2 байта);
номер начального кластера (2 байта);
размер файла в байтах (4 байта).
В FAT 32 для номера начального кластера выделено 4 байта и вместо резервной области добавлены следующие атрибуты:
время создания файла (2 байта);
дата создания файла (2 байта);
дата последнего доступа (2 байта).
Корневой каталог отличается от обычного файла-каталога тем, что он помимо размещения в фиксированном месте логического диска (см. рис. 2.9) имеет еще и фиксированное число записей – 512.
Раньше в ОС использовались лишь короткие имена файлов по схеме «8.3». Начиная с Windows 95 OSR 2 файловые системы FAT 16 стали поддерживать длинные имена файлов размером до 255 символов, причем каждый символ хранится в двухбайтном формате Unicode.
Имя по схеме «8.3» стали называть «коротким именем» и оно по-прежнему хранится в первых 11 байтах записи каталога (для совместимости со старыми приложениями), а длинное имя помещается порциями по 13 символов в одну или несколько записей, следующих непосредственно за основной записью каталога.
2.5.2. Файловая система NTFS
Файловая система NTFS (New Technology File System – файловая система новой технологии) была разработана в качестве основной файловой системы для операционных систем Windows на основе технологии NT в начале 1990-х гг. с учетом опыта разработки существовавших файловых систем и предназначалась в первую очередь для серверов.
Основные отличительные свойства NTFS:
поддержка больших файлов и больших дисков объемом до 264 байт, т. к. используется 64-битная нумерация кластеров;
надежность – за счет введения средств самовосстановления после сбоев программ и аппаратуры управления дисками (в начале операции, связанной с изменением файловой структуры, делается соответствующая запись в журнале транзакций и если после сбоя операция помечена как незавершенная, то происходит откат – незавершенные операции отменяются и файлы возвращаются в исходное состояние);
высокая скорость операций – за счет использования в качестве базовой единицы распределения дискового пространства непрерывных областей кластеров, называемых отрезками; при этом в качестве адреса отрезка используется логический номер его первого кластера, а также количество кластеров в отрезке;
ограничение доступа к файлам и каталогам на основании разрешений, которые устанавливаются для учетных записей пользователей;
расширенные функции, например квотирование (в Windows 2000/XP), при котором пользователи могут хранить свои файлы только в пределах отведенной им квоты на дисковое пространство.
Отличием NTFS является деление на кластеры всего пространства логического диска, называемого томом, а не только области данных, как в FAT. Порядковый номер кластера в томе называется логическим номером кластера (Logical Cluster Number, LCN). Файловая система NTFS поддерживает размеры кластеров от 512 байт до 64 Кбайт (от 1 до 128 секторов). Обычно используется кластер размером 2 Кбайт или 4 Кбайт.
В отличие от FAT весь том состоит из файлов. Каждый файл также состоит из последовательности кластеров, при этом порядковый номер кластера внутри файла называется виртуальным номером кластера (Virtual Cluster Number, VCN).
Базовой единицей распределения дискового пространства на томе NTFS является отрезок – непрерывная область кластеров. Каждый отрезок обозначается логическим номером его первого кластера LCN и количеством кластеров в отрезке k, т. е. парой чисел: LCN, k. Часть файла, начинающаяся с виртуального кластера VCN, при размещении в отрезке характеризуется адресом, состоящим их трех чисел: VCN, LCN, k.
Основной структурой файловой системы NTFS является файл MFT, называемый главной таблицей файлов (Master File Table, MFT), в которой содержатся записи о каждом файле тома, включая и сам файл MFT.
Под файл MFT на диске выделяется 12 % места (с учетом дальнейшего роста таблицы файлов).
Каждая запись MFT имеет фиксированную длину, зависящую от объема диска, – 1, 2, или 4 Кбайт. Для большинства дисков, используемых сегодня, размер записи MFT равен 2 Кбайтам. Номер записи MFT, определяемый ее позицией в таблице, становится номером описываемого файла.
Первые 16 записей являются записями о служебных файлах NTFS, называемых метафайлами, причем самый первый метафайл – это сам файл MFT. В табл. 2.3 представлено назначение метафайлов.
|