Жесткий диск: принцип работы и основные характеристики. Разделы жёсткого диска и файловые системы. Базовые понятия и азы работы Логическая структура диска разделы кластеры сектора

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

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

Во время разбивки жесткого диска на разделы по умолчанию для системного тома устанавливается буква C , а для второго — D . Буквы A и B пропускаются, поскольку так обозначаются дискеты разных форматов. При отсутствии второго тома жесткого диска буквой D будет обозначаться DVD-привод.

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

Структуры MBR и GPT

С томами и разделами все предельно просто, однако присутствуют еще и структуры. Более старым логическим образцом называется MBR (Master Boot Record), а ему на замену пришел усовершенствованный GPT (GUID Partition Table). Давайте остановимся на каждой структуре и рассмотрим их детально.

Диски со структурой MBR постепенно вытесняются GPT, но все еще популярны и используются на многих компьютерах. Дело в том, что Master Boot Record — это первый сектор HDD объемом 512 байт, он зарезервирован и никогда не перезаписывается. Отвечает этот участок за запуск ОС. Удобна такая структура тем, что позволяет без проблем разделять физический накопитель на части. Принцип запуска диска с MBR происходит так:

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

За координаты расположения крайней записи раздела рассматриваемой технологии отвечает технология CHS (Cylinder Head Sector). Она считывает номер цилиндра, головки и секторы. Нумерация упомянутых частей начинается с 0 , а секторы с 1 . Именно путем считывания всех этих координат и определяется логический раздел жесткого диска.

Недостаток такой системы заключается в ограниченности адресации объема данных. То есть во время первой версии CHS раздел мог иметь максимум 8 ГБ памяти, чего в скором времени, конечно же, перестало хватать. На замену пришла адресация LBA (Logical Block Addressing), в которой была переработана система нумерации. Теперь поддерживаются диски объемом до 2 ТБ. LBA была еще доработана, но изменения коснулись только GPT.

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

Технология MBR обладала рядом недостатков и ограничений, которые не могли обеспечить работу с большим количеством данных. Исправлять ее или изменять было бессмысленно, поэтому вместе с выходом UEFI пользователи узнали о новой структуре GPT. Она была создана с учетом постоянного увеличения объема накопителей и изменений в работе ПК, поэтому на текущее время это самое передовое решение. Отличается от MBR она такими параметрами:

  • Отсутствие координат CHS, поддерживается работа только с доработанной версией LBA;
  • GPT хранит на накопителе две свои копии — одна в начале диска, а другая в конце. Такое решение позволит реанимировать сектор через хранящуюся копию в случае повреждения;
  • Переработано устройство структуры, о чем мы поговорим далее;
  • Проверка корректности заголовка происходит с помощью UEFI c использованием контрольной суммы.

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

Стоит отметить, что сектор MBR в GPT тоже присутствует, он является первым и имеет размер в один бит. Необходим он для корректной работы HDD со старыми комплектующими, а также не позволяет программам, которым неизвестен GPT, разрушить структуру. Поэтому этот сектор называется защитным. Далее располагается сектор размером в 32, 48 или 64 бита, отвечающий за разметку на разделы, называется он первичным GPT-заголовком. После этих двух секторов идет считывание содержимого, вторая схема томов, а замыкает все это копия GPT. Полная структура представлена на скриншоте ниже.

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

Еще хочется добавить, что GPT — более совершенный вариант, и в будущем в любом случае придется переходить на работу с носителями такой структуры.

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

Говоря о логической структуре HDD, нельзя не упомянуть о доступных файловых системах. Конечно, их существует много, но остановиться мы бы хотели на разновидностях для двух ОС, с которым чаще всего работают обычные пользователи. Если компьютер не может определить файловую систему, то жесткий диск приобретает формат RAW и именно в нем отображается в ОС. Доступно ручное исправление этой проблемы. Мы предлагаем ознакомиться с деталями выполнения этой задачи далее.

  1. FAT32 . Компания Microsoft начала выпуск файловых систем с FAT, в будущем эта технология претерпела множество изменений, и последней версией на данный момент является FAT32. Ее особенность заключается в том, что она не предназначена для обработки и хранения больших файлов, а также на нее будет довольно проблематично установить тяжелые программы. Однако FAT32 универсальна, и при создании внешнего жесткого диска она используется для того, чтобы сохраненные файлы можно было считать с любого телевизора или проигрывателя.
  2. NTFS . Майкрософт представила NTFS, чтобы полностью заменить FAT32. Сейчас эта файловая система поддерживается всеми версиями Windows, начиная от XP, также отлично работает на Linux, однако на Mac OS можно только считать информацию, записать ничего не получится. Выделяется NTFS тем, что не имеет ограничений на размер записываемых файлов, обладает расширенной поддержкой разных форматов, возможностью сжатия логических разделов и легко восстанавливается при различных повреждениях. Все остальные файловые системы в большем роде подходят для небольших съемных носителей и достаточно редко применяются в жестких дисках, поэтому мы не будем их рассматривать в рамках этой статьи.

С файловыми системами Windows мы разобрались. Хотелось бы обратить внимание еще на поддерживаемые типы в ОС Linux, поскольку она также является популярной среди пользователей. Линукс поддерживает работу со всеми файловыми системами Виндовс, однако саму операционку рекомендуется устанавливать на специально разработанную для этого ФС. Отметить стоит такие разновидности:

  1. Extfs стала самой первой файловой системой для Linux. Она имеет свои ограничения, например, максимальный размер файла не может превышать 2 ГБ, а его имя должно находиться в диапазоне от 1 до 255 символов.
  2. Ext3 и Ext4 . Мы пропустили предыдущие две версии Ext, поскольку сейчас они совсем неактуальны. Расскажем лишь о более-менее современных версиях. Особенность этой ФС заключается в поддержке объектов размером до одного терабайта, хотя в при работе на старом ядре Ext3 не поддерживала элементы размером более 2 ГБ. Еще одной особенностью можно назвать поддержку считывания программного обеспечения, написанного под Windows. Следом вышла новая ФС Ext4, которая позволила хранить файлы объемом до 16 ТБ.
  3. Главным конкурентом Ext4 считается XFS . Ее преимущество заключается в особом алгоритме записи, он называется «Отложенное выделение места» . Когда данные отправляются на запись, они сначала помещаются в оперативную память и ждут очереди на сохранение в дисковом пространстве. Перемещение на HDD осуществляется только тогда, когда ОЗУ заканчивается или занимается другими процессами. Такая последовательность позволяет сгруппировать мелкие задачи в крупные и уменьшить фрагментацию носителя.

Что касается выбора файловой системы под установку ОС, обычному пользователю лучше выбрать рекомендуемый вариант при инсталляции. Обычно это Etx4 или XFS. Продвинутые юзеры уже задействуют ФС под свои нужды, применяя ее различные типы для выполнения поставленных задач.

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

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

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

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

Начальный сектор диска имеет главную корневую запись, которая грузится в память и выполняется. Последняя часть этого сектора имеет таблицу разделов — 4 элементную таблицу с 16-байтовыми элементами. Такой таблицей руководит программа FDISK. При загрузке ROM-BIOS загружает этот сектор с записью про таблицу. Это делается для того, что бы определить активный раздел. Затем считывается корректный корневой сектор в память и выполняется.
Таблица 1 — Структура главной корневой записи и таблицы разделов

Таблица 2 — Структура описателя раздела

Код раздела предназначен для определения и положения на диске расширенного и основного разделов. После обнаружения раздела его размер и координаты можно прочитать из определенных полей. Если в поле кода раздела 0 , то описатель можно считать пустым, и будет определенно, что на диске нет никакого раздела.
Таблица 3 — Коды разделов ОС Microsoft

Код Вид раздела Размер Тип FAT ОС
01h Основной 0-15 Мбайт FAT12 MS-DOS 2.0
04h Основной 16-32 Мбайт FAT16 MS-DOS 3.0
05h Расширенный 0-2 Гбайт MS-DOS 3.3
06h Основной 32 Мбайт — 2 Гбайт FAT16 MS-DOS 4.0
0Bh Основной 512 Мбайт — 2 Гбайт FAT32 OSR2
0Ch Расширенный 512 Мбайт — 2 Гбайт FAT32 OSR2
0Eh Основной 32 Мбайт — 2 Гбайт FAT16 Windows 95
0Fh Расширенный 0 — 2 Гбайт Windows 95

За ОС других фирм зарезервированы следующие коды:

  • 02h — раздел СР/М
  • 03h — раздел Xenis
  • 07h — раздел OS/2 (HPFS)

Номера цилиндра и сектора занимают 10 и 6 бит:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
c c c c c c c c c c s s s s s s

Они запакованы так, что, когда загружается СХ 16-битовым значением, оно готово для вызова прерывания INT 13h для чтения определенной порции диска. После чтения главной записи загрузки в область памяти sect_buf функция:

CMP byte ptr sect_buf , 80h

проверит, активен ли первый раздел. А следующий алгоритм загрузит СХ для вызова INT 13h для чтения корневого сектора раздела №1.

MOV CX, sect_buf

Параметры относительного сектора по смещению 08h в каждом разделе равен головке, сектору и цилиндру начального адреса раздела. Относительный номер сектора прирастает сначала по каждому сектору на головке, затем по каждой головке и наконец по каждому цилиндру. Формула:

отн_сек = (#Цил * сек_на_цил * головок) + (#Гол * сек_на_цил) + (#Сек -1)

Разделы стартуют с четного номера цилиндра, за исключением первого раздела.

Структура корневого сектора

Формат корневого сектора дискеты или раздела жесткого диска показан на рис.1.

Рисунок — 1

Таблица параметров жесткого диска

Такая 16-байтовая структура располагается по адресу вектора прерывания INT 41h (4-байтовый адрес в 0:0104). Характеристики для второго жесткого диска (если он существует) располагаются по адрес вектора INT 46h.
Таблица 5 — Формат таблицы жесткого диска

Смещение Длина Содержимое
00h 2 Число цилиндров
02h 1 Число головок
03h 2 Не используется (всегда 0)
05h 2 Номер начального цилиндра предкомпенсации
07h 1 Максимальная длина блока коррекции ошибок ECC
08h 1 айт контроля:
биты 0-2 — не используются (всегда 0);
бит 3 — установлен, если число головок больше 8;
бит 4 — не используется (всегда 0);
бит 5 — установлен, если изготовитель разместил карту дефектов на цилиндре с номером «максимальный рабочий цилиндр + 1»;
бит 6 — запрет повторного контроля ECC;
бит 7 — запрет контроля ECC
09h 1 Не используется (всегда 0)
0Ah 1 Не используется (всегда 0)
0Bh 1 Не используется (всегда 0)
0Ch 2 Номер цилиндра зоны парковки
0Eh 1 Число секторов на дорожке
0Fh 1 Резерв

Таблица распределения файлов (FAT)

Размер файла может меняться со временем. Если предположить хранения файла только в смежных секторах, то при увеличении размера файла ОС должна полностью переписать его в другое место диска. Для упрощения задачи, в современных ОС реализованы таблицы распределения файлов (File Allocation Table — FAT), которые разрешают хранить файл в виде нескольких раздельных участков.

В FAT область данных логического диска поделена на участки одинакового размера — . Число секторов в кластере кратное 2 N и может принимать значения от 1 до 64. В каталоге файлов для каждого файла имеется номер начального элемента в таблице FAT, равен первому кластеру в цепочке файла. Пример показан на рис.2. Из рисунка видно:

  • MYFILE.TXT занимает 10 кластеров. Первый кластер это — 08, а последний 1Вh. Цепочка кластеров — 08h, 09h, 0Ah, 0Bh, 15h, 16h, 17h, 19h, 1Ah, 1Bh. Каждый компонент цепочки указывает на следующий компонент цепочки, это показано в табл.6.
  • Кластер 18h помечен как дефектный, и не входит в цепочку
  • Кластеры 06h, 07h, 0Ch-14h и 1Ch-1Fh пусты и доступны для других цепочек

Таблица 6 — Значение элементов FAT

FAT начинается с логичного сектора 1 в разделе DOS. Впринципи нужно прочитать корневой сектор DX=0, и взять смещение 0Eh. Там уже узнаем количество корневых и резервных секторов которые стоят перед FAT. Чтобы прочитать любой компонент FAT по цепочке, нужно прочитать всю FAT и получить из оглавления начальный номер кластера, и в случае FAT12:

  • умножить номер кластера на 3
  • разделить результат на 2
  • прочитать из FAT 16-разрядное слово, используя в качестве адреса результат предыдущего круга
  • Если номер элемента четный, но нужно выполнить AND над словом и маской 0FFFh. Если же нечетный, то сдвинуть значение вправо на 4 бита.

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

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

  • Понятия "жесткий диск" или "винчестер" и их возникновение

Определение и возникновение понятия "винчестер"

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

Самый первый в мире жесткий диск, такого типа, как мы привыкли видеть его сейчас и каким привыкли пользоваться, изобрел сотрудник IBM Кеннет Хотон в 1973 году. Эта модель называлась загадочным сочетанием цифр: 30-30, точно так же, как калибр у всем известной винтовки Winchester, Не трудно догадаться, что отсюда и пошло одно из названий - винчестер, которое популярно в среде айтишников до сих пор. А, возможно, кто-то его сейчас прочитал вообще в первый раз.

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

"А чем же это все отличается от простых дискет или CD-DVD?" - просите вы. А все дело в том, что в отличие от гибких или оптических носителей, здесь данные записываются на жесткие (отсюда и название, хотя кто-то может уже и догадался сам) алюминиевые или стеклянные пластины, на которые нанесен тонкий слой ферромагнитного материала, чаще всего для этих целей используется хром диоксид.

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

Внутреннее строение

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

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

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

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

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

В результате, головка чтения/записи «зависает» над пластиной на крошечном расстоянии всего в 5-10 нм. Работа головки чтения/записи схожа с принципом действия иголки в граммофоне, только лишь с одним отличием – у неё не происходит физического контакта с пластиной, в то время, как в граммофоне головка иголки соприкасается с пластинкой.

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

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

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

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

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

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

Интерфейсы подключения HDD

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

Первоначально в 1986 году интерфейс IDE разрабатывался только для подключения HDD. Затем его модифицировали в расширенный интерфейс ATA. В результате к нему можно подключать не только винчестеры, но и CD/DVD-приводы.

Интерфейс SATA – более быстрый, современный и производительный, нежели ATA.

В свою очередь, SCSI – высокопроизводительный интерфейс, который способен подключать различного рода устройства. Сюда входят не только накопители информации, но и различная периферия. Например, более быстрые SCSI-сканеры. Однако когда появилась USB-шина, необходимость подключения периферии посредством SCSI отпала. Так, что если вам посчастливится его где-то увидеть, то считайте, что вам повезло.

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

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

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

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

Дадим один полезный совет: если к вам часто приходят друзья со своими винчестерами переписать новых фильмов или музыки (да-да, друзья у вас настолько суровые, что носят с собой не внешний HDD, а обычный внутренний), и вы уже устали все время раскручивать системный блок, рекомендуем приобрести специальный карман для жесткого диска (он называется Mobile Rack). Они есть и с IDE, и с SATA-интерфейсами. Чтобы подключить к вашему компьютеру еще один дополнительный хард, просто вставляем его в такой карман и готово.

SSD диски - новый этап в развитии

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

Итак, SSD (Solid State Disk) – твердотельный накопитель, который работает по принципу флеш-памяти USB. Одна из самых важных его отличительных черт от обычных винчестеров и оптических накопителей – в его устройство не входит никаких подвижных деталей и механических компонентов.

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

Перечислим наиболее важные преимущества SSD:

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

Но не будем скрывать: пожалуй, есть два недостатка SSD – 1) за его определенную емкость вы заплатите значительно дороже, нежели за жесткий диск идентичного объема памяти (разница будет в несколько раз, хотя с каждым годом становится всё меньше и меньше); 2) SSD имеют относительно небольшое ограниченное количество циклов чтения/записи (т.е. изначально ограниченный срок службы).

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

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

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

Вызвать мастера

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

Вопросы предназначения и классификации жестких дисков?

Вопрос предназначения, конечно, риторический. Любой пользователь, пусть даже самого начального уровня, сразу же ответит, что винчестер (он же жесткий диск, он же Hard Drive или HDD) сразу же ответит, что он служит для хранения информации.

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

Современные модели достаточно разнообразны: обычные HDD, внешние жесткие диски, высокоскоростные твердотельные накопители SSD, хотя их именно к жестким дискам относить и не принято. Далее предлагается рассмотреть устройство и принцип работы жесткого диска, если не в полном объеме, то, по крайней мере, в таком, чтобы хватило для понимания основных терминов и процессов.

Обратите внимание, что существует и специальная классификация современных HDD по некоторым основным критериям, среди которых можно выделить следующие:

  • способ хранения информации;
  • тип носителя;
  • способ организации доступа к информации.

Почему жесткий диск называют винчестером?

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

Сам термин появился еще в далеком 1973 году, когда на рынке появился первый в мире HDD, конструкция которого состояла из двух отдельных отсеков в одном герметичном контейнере. Емкость каждого отсека составляла 30 Мб, из-за чего инженеры дали диску кодовое название «30-30», что было в полной мере созвучно с маркой популярного в то время ружья «30-30 Winchester». Правда, в начале 90-х в Америке и Европе это название практически вышло из употребления, однако до сих пор остается популярным на постсоветском пространстве.

Устройство и принцип работы жесткого диска

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

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

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

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

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

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

Как осуществляется запись и чтение информации?

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

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

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

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

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

Логическая структура и принцип работы жесткого диска с точки зрения форматирования

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

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

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

Логическое форматирование, прежде всего, затрагивает системную область, которая состоит из загрузочного сектора и таблиц разделов (загрузочная запись Boot record), таблицы размещения файлов (FAT, NTFS и т. д.) и корневого каталога (Root Directory).

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

Основные характеристики HDD

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

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

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

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

Интерфейс - самая значимая характеристика. Она определяет, каким именно способом устройство подключается к материнской плате, какой именно контроллер используется, как осуществляется чтение и запись и т. д. Основными и самыми распространенными интерфейсами считаются IDE, SATA и SCSI.

Диски с IDE-интерфейсом отличаются невысокой стоимостью, однако среди главных недостатков можно выделить ограниченное количество одновременно подключаемых устройств (максимум четыре) и невысокую скорость передачи данных (причем даже при условии поддержки прямого доступа к памяти Ultra DMA или протоколов Ultra ATA (Mode 2 и Mode 4). Хотя, как считается, их применение позволяет повысить скорость чтения/записи до уровня 16 Мб/с, но в реальности скорость намного ниже. Кроме того, для использования режима UDMA требуется установка специального драйвера, который, по идее, должен поставляться в комплекте с материнской платой.

Говоря о том, что собой представляет принцип работы жесткого диска и характеристики, нельзя обойти стороной и который является наследником версии IDE ATA. Преимущество данной технологии состоит в том, что скорость чтения/записи можно повысить до 100 Мб/с за счет применения высокоскоростной шины Fireware IEEE-1394.

Наконец, интерфейс SCSI по сравнению с двумя предыдущими является наиболее гибким и самым скоростным (скорость записи/чтения достигает 160 Мб/с и выше). Но и стоят такие винчестеры практически в два раза дороже. Зато количество одновременно подключаемых устройств хранения информации составляет от семи до пятнадцати, подключение можно осуществлять без обесточивания компьютера, а длина кабеля может составлять порядка 15-30 метров. Собственно, этот тип HDD большей частью применяется не в пользовательских ПК, а на серверах.

Быстродействие, характеризующее скорость передачи и пропускную способность ввода/вывода, обычно выражается временем передачи и объемом передаваемых расположенных последовательно данных и выражается в Мб/с.

Некоторые дополнительные параметры

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

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

  • 3600 - 8,33;
  • 4500 - 6,67;
  • 5400 - 5,56;
  • 7200 - 4,17.

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

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

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

Главные требования к HDD

Основных требований, которые в большинстве случаев предъявляются жестким дискам, не так уж и много. Главное - длительный срок службы и надежность.

Основным стандартом для большинства HDD считается срок службы порядка 5-7 лет со временем наработки не менее пятисот тысяч часов, но для винчестеров высокого класса этот показатель составляет не менее миллиона часов.

Что касается надежности, за это отвечает функция самотестирования S.M.A.R.T., которая следит за состоянием отдельных элементов жесткого диска, осуществляя постоянный мониторинг. На основе собранных данных может формироваться даже некий прогноз появления возможных неисправностей в дальнейшем.

Само собой разумеется, что и пользователь не должен оставаться в стороне. Так, например, при работе с HDD крайне важно соблюдать оптимальный температурный режим (0 - 50 ± 10 градусов Цельсия), избегать встрясок, ударов и падений винчестера, попадания в него пыли или других мелких частиц и т. д. Кстати сказать, многим будет интересно узнать, что те же частицы табачного дыма примерно в два раза больше расстояния между считывающей головкой и магнитной поверхностью винчестера, а человеческого волоса - в 5-10 раз.

Вопросы инициализации в системе при замене винчестера

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

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

Заключение

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

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

ОРГАНИЗАЦИЯ ЖЕСТКИХ ДИСКОВ

Введение

1. Организация жестких дисков

1.1. Блочные устройства

1.2. Устройство жестких дисков

1.2.1. Физические координаты НЖМД: цилиндры, головки и секторы

1.2.2. Логические блоки

1.2.3. Функции BIOS для работы с жесткими дисками

1.2.4. Проблемы BIOS при работе с большими дисками

2.3. Структурная схема жесткого диска

1.3.1. Структурная схема физического устройства

1.3.2. Иерархия уровней абстракции представления информации

1.4. Форматирование жестких дисков

1.4.1. Физическое форматирование (низкоуровневое)

1.4.2. Логическое форматирование

1.5. Разделы

1.5.1. Первичные разделы

1.5.2. Дополнительные (расширенные) разделы

1.5.3. Подразделы дополнительного раздела

1.5.4. Изменение размеров разделов.

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

1.6.1. FAT16

1.6.2. FAT32

1.6.3. NTFS

1.6.4. HPFS

1.6.5. Ext2fs

1.7. Монтирование файловых систем

1.7.1. Порядок назначения имен дисков

1.8. Порядок загрузки операционной системы

1.8.1. Главная загрузочная запись (MBR)

1.8.2. Загрузочный блок ОС (BR)

1.9. Заключение

Введение

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

1. Организация жестких дисков

1.1. Блочные устройства

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

Поиск места, где информация находится на носителе

Доступ к информации

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

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

1.2. Устройство жестких дисков

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

1.2.1. Физические координаты НЖМД: цилиндры, головки и секторы

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

  Цилиндр . При вращении дисков с магнитным покрытием головки двигаются по окружности относительно пластин. При этом все они находятся на определенном расстоянии от центра диска. Совокупность этих круглых траекторий головок на всех поверхностях дисков, находящихся на одном удалении от центра, называют цилиндром. Поскольку магнитные головки жестко связаны друг с другом, то они перемещаются синхронно и одновременно находятся в одном и том же цилиндре. Для установки головок на заданный цилиндр необходимо привести в движение блок головок, для чего требуется время порядка 1.20 миллисекунд.

  Головка . Несколько поверхностей обеспечивают дополнительную возможность выбора. Для перехода от одной головке к другой не требуется никакого времени, так как при этом переключение осуществляется без привлечения механических узлов.

  Сектор . Один блок информации является относительно небольшой порцией данных, которая территориально соответствует небольшой дуге окружности. Если смотреть из центра, то такие дуги размещаются в одном угловом секторе. Строго говоря, на современных дисках это не так, поскольку длины окружностей возрастают с увеличением радиуса, а размер одного бита всюду одинаков. Таким образом, на длинных дорожках помещается больше битов, а, стало быть, больше блоков данных. Для выбора сектора на дорожке двигать головки не нужно, зато нужно ждать, когда пластины повернутся так, чтобы адресная метка сектора подошла к головкам чтения/записи. При скорости вращения диска порядка 5.7 тысяч оборотов в минуту время ожидания сектора оказывается порядка 8-10 миллисекунд. Это время даже больше времени перемещения головок, однако, после их перемещения метку сектора все равно приходится искать, так что смена цилиндра является самой длинной операцией при поиске информации.

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

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

1.2.2. Логические блоки

Все современные жесткие диски перешли на новый, более простой в использовании вид адресации - линейный . Каждый блок характеризуется единственным числом, своим номером. Современный стандарт ATA-5 отводит для хранения номеров диска 28 бит , что позволяет адресовать 268435456 блоков, или примерно 137.4 Гигабайт.

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

<блок> = (<цилиндр> * ЧИСЛО_ГОЛОВОК + <головка>) * ЧИСЛО_СЕКТОРОВ + <сектор> - 1

ЧИСЛО_ГОЛОВОК Количество головок жесткого диска, возвращаемое BIOS

ЧИСЛО_СЕКТОРОВ Количество секторов жесткого диска, возвращаемое BIOS

<сектор> Номер сектора, из диапазона [ 1 . ЧИСЛО_СЕКТОРОВ ]

<головка> Номер головки, из диапазона [ 0 . ЧИСЛО_ГОЛОВОК-1 ]

<цилиндр> Номер цилиндра, из диапазона [ 0 . ЧИСЛО_ЦИЛИНДРОВ-1 ]

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

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

1.2.3. Функции BIOS для работы с жесткими дисками

Базовая система ввода вывода (BIOS) предоставляет программам возможность обмена информацией с жесткими дисками. Для этого имеется специальное программное прерывание, INT 13h .

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

Основными недостатками BIOS в отношении работы с дисками является то, что эти функции:

1. Слишком медленны. BIOS большинства компьютеров очень много времени тратят на выполнение повторных действий. Кроме того, они не всегда производят расширенную диагностику жестких дисков, в результате чего работа с жесткими дисками ведется не в самых оптимальных с точки зрения быстродействия режимах. Так, при современных скоростях чтения записи порядка 10 и более Мегабайт в секунду, скорость чтения через BIOS составляет всего 2-2.5Мб/c.

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

3. Имеют лишь 20-разрядную адресацию памяти. Функции BIOS изначально разработаны для процессоров Intel 8086, которые могли адресовать лишь 1 Мегабайт памяти. Таким образом, BIOS не может полностью реализовать возможности современного компьютера.

4. Имеют ограничения на адресацию блоков диска, которая приводит к проблемам с загрузкой ОС, расположенных за границей 8Гб. Современные версии BIOS имеют расширение, которое помогает решить эту проблему для современных ОС. Однако, это расширение несовместимо со старыми функциями BIOS, поэтому старые операционные системы, такие как DOS, которые пользуются старыми интерфейсами BIOS, не смогли и не смогут переступить границы в 8GB.

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

Функции BIOS предоставляют доступ к дискам путем назначения им уникальных номеров. Для номера диска отводится 1 байт, который содержит число в диапазоне 80-FFh (числам 00h-7Fh соответствуют дискеты). Внутри своих настроек BIOS именует диски буквами C, D, E., которые соответствуют номерам 80h, 81h, 82h, . Эти буквы соответствуют физическим дискам, и не следует их путать с буквами логических дисков, наблюдаемыми из операционных систем.

1.2.4. Проблемы BIOS при работе с большими дисками

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

-На номер цилиндра отводится 10 бит (1024 цилиндра).

-На номер головки отводится 8 бит (256 головок).

-На номер сектора отводится 6 бит (63 сектора).

Первый стандарт ATA на встроенные контроллеры жестких дисков определил

следующее диапазоны параметров жестких дисков:

-На номер цилиндра отводится 16 бит (65536 цилиндров).

-На номер головки отводится 4 бита (16 головок).

-На номер сектора отводится 6 бит (64 сектора).

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

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

Режим LARGE . Этот режим представляет собой усовершенствованный режим NORMAL. BIOS производит преобразование головок и цилиндров, тем самым, изменяя логическую геометрию диска. Поскольку количество головок, доступное BIOS превосходит максимально возможное количество головок самого диска в 16 раз, то BIOS уменьшает число логических цилиндров в 2,4,8 раз и одновременно с этим увеличивает число логических головок в такое же количество раз. Коэффициент перевода он запоминает и при каждом обращении к диску непосредственно перед формированием команды контроллеру он делает обратное преобразование. Таким образом, с помощью преобразования удается адресовать большее количество блоков диска.

Режим LBA . В этом режиме в контроллер посылается линейный номер блока. Благодаря этому BIOS не должен подстраивать свою логическую геометрию под некоторую начальную геометрию диска, ее просто нет. Поэтому BIOS просто назначает число головок равным 255, то есть максимально возможному значению, что позволяет адресовать до 8Гб.

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

2.3. Структурная схема жесткого диска

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

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

1.3.1. Структурная схема физического устройства

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

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

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

Рис. 1 Структурная схема жесткого диска

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

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

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

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

1.3.2. Иерархия уровней абстракции представления информации

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

Схема уровней приведена на Рис.2 ниже.

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

Уровень 2 представляет собой адресуемое пространство блоков данных. На этом уровне емкость диска соответствует заявляемой в паспорте устройства емкости носителя. Адресуемое пространство блоков уже не содержит неисправных блоков, поэтому блоки имеют уникальные линейные номера. Эти номера указываются контроллеру жесткого диска для операций чтения-записи. Обычно адресуемая емкость диска составляет 70-90% его сырой емкости, посчитанной по площади пластины и плотности хранения информации.

Уровень 3 представляет собой адресное пространство жесткого диска, разбитое на непересекающиеся разделы (partitions). Разделы полностью подобны целому диску в том, что они состоят из смежных блоков. Благодаря такой организации для описания раздела достаточно указания начала раздела и его длины в блоках.

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

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

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

Рис. .2 Многоуровневая организация жестких дисков

1.4. Форматирование жестких дисков

Для организации хранении информации существует несколько уровней абстракции - разметки диска (форматированием). Отличают физическое и логическое форматирование.

1.4.1. Физическое форматирование (низкоуровневое)

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

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

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

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

1.4.2. Логическое форматирование

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

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

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

Логическое форматирование применяется к разделу диска. Созданная в разделе файловая система обыкновенно отождествляется с самим разделом. Однако, это не совсем так. Дело в том, что информация о расположении раздела на диске хранится в суперблоке независимо от таблицы разделов, располагаемой в MBR. При создании суперблока в процессе форматирования информация из таблицы разделов о положении и длине форматируемого раздела переносится в суперблок. Это происходит по той причине, что операционная система берет все данные для работы с разделом именно из суперблока, а не таблицы разделов. Поэтому при изменении параметров раздела в таблице файловая система не ощутит этого изменения. Таким образом, содержимое таблицы разделов может не соответствовать файловой системе, если воспринимать ее как систему указателей для поиска нужных файлов или нового места для записи новых.

1.5. Разделы

Для организации операционных систем дисковое адресное пространство блоков разделяется на части, называемые разделами (partitions). Разделы полностью подобны целому диску в том, что они состоят из смежных блоков. Благодаря такой организации для описания раздела достаточно указания начала раздела и его длины в блоках. Уровень физических разделов (уровень 3 в иерархии) возник в ходе исторического развития. На первых жестких дисках не было разделов.

Жесткие диски были полными аналогами гибких дисков в том, что содержали только одну файловую систему. В те времена этой, по существу, единственной файловой системой для PC была FAT12. Она была рассчитана всего на 4096 кластеров, и была способна покрыть от 2 до 32Мб адресного пространства диска, что вскоре привело к проблемам, потому что жесткие диски постоянно совершенствовались. Наиболее простым выходом в складывающейся ситуации было изобретение псевдофизических дисков. разделов. Каждый раздел мог содержать одну файловую систему FAT12. Однако, для этого потребовалось указывать для каждого раздела его положение на диске и переводить логические адреса блоков внутри раздела в абсолютные адреса блоков. О времени этого перехода мы можем судить по усложнению структуры суперблока файловых систем FAT. Произошло это где-то с версии DOS 2.13, что соответствует, по-видимому, концу лета 1983 года.

Таблица разделов. Появление разделов привело к изобретению таблицы разделов. Таблица разделов описывает до четырех разделов на диске. Расположили это таблицу в самом первом блоке диска, поскольку это был единственный путь сделать ее легко доступной в процессе загрузки. После этого усложнения структуры первый блок диска получил название Главной Загрузочной Записи (MBR - Master Boot Record ).

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

-Установка более чем одной ОС на один жесткий диск;

-Повышение эффективности использования дискового пространства;

-Управление видимостью файлов для разных пользователей. (Защита от сторонних пользователей, вирусов и сбоев программ);

-Изоляция данных разного сорта для более простого и быстрого их архивирования и восстановления.

Разделы создаются программой fdisk, имя которой стандартно практически для всех ОС. Например такие утилиты, как Partition Magic и SyMon содержат свои собственные средства создания и работы с разделами, значительно превосходящие возможности обычных fdisk.

1.5.1. Первичные разделы

Первичные разделы называются так потому, что их описатели располагаются непосредственно в MBR. Первичные разделы описывают файловые системы, а также специальные разделы свопинга и дополнительные разделы. Загрузка компьютера может происходить только с первичных разделов для всех систем Microsoft и для большинства ОС других производителей.

1.5.2. Дополнительные (расширенные) разделы

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

Рис. 3 Внутреннее устройство расширенного раздела

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

-Каждая таблица разделов располагалась в первом блоке цилиндра.

-Каждая расширенная таблица разделов содержала только один описатель раздела и одну ссылку на следующую расширенную таблицу разделов.

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

-Раздел, описанный в расширенной таблице разделов, располагался сразу за ней, обычно в начале следующей дорожки.

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

1.5.3. Подразделы дополнительного раздела

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

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

1.5.4. Изменение размеров разделов.

Размер раздела хранится на физическом уровне в двух местах:

-в таблице разделов, основной (MBR) или какой-либо расширенной.

-в суперблоке файловой системы.

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

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

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

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

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

-Управление выделением свободных блоков под новые файлы

-Управление каталогами и именами файлов и ссылок

-Поиск содержимого файлов по имени.

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

1.6.1. FAT16

Эта файловая система является одной из самых старых систем, применяемых до сих пор. Поддержка ее реализована в большинстве современных ОС: DOS, Windows 95/98/ME, Windows NT /2000/ XP , OS /2, Linux , QNX , FreeBSD и других.

Название файловой системы происходит от имени ее главного управляющего элемента. таблицы размещения файлов (File Allocation Table). Единицей размещения данных является кластер, . совокупность нескольких смежных блоков диска. Размер кластера может быть 1, 2, 4, 8, 16, 32 или 64 блока. Файлы представляют собой цепочки кластеров. Таблица размещения файлов описывает цепочки кластеров, принадлежащих каждому файлу. Каждый кластер может принадлежать не более, чем одному файлу.

Число 16 в названии файловой системы говорит о количестве двоичных разрядов, отводимых под хранение номера кластера в таблице размещения файлов. FAT16 допускает на диске до 65525 кластеров, размер которых может быть от 512 до 32768 байт. Это позволяет создавать логические диски размером до 2Гб. Чем больше размер диска, тем больше необходим размер кластера.

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

Топология файловой системы FAT16 приведена на рисунке Рис. 4.

Рис. 4 Топология раздела FAT16

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

1.6.2. FAT32

Система FAT32 является развитием системы FAT. Количество разрядов, кодирующих номер кластера, доведено до 32. В результате этого, FAT32 способна содержать почти в 65000 раз больше кластеров, чем система FAT16. Даже при маленьком размере кластера, разделы размером до 2Тб могут быть отформатированы под эту файловую систему. Дополнительно, система FAT32 имеет резервную копию загрузочной записи, и допускает произвольное расположение корневого каталога.

Система FAT32 доступна для использования начиная с Windows 95 OEM Release 2, в системах Windows 98, ME, а также в системах Windows 2000, XP. MS-DOS, Windows 3.1, Windows NT 3.51/4.0, ранние версии Windows 95 не могут использовать FAT32.

Рис. 5 Топология раздела FAT32

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

1.6.3. NTFS

Файловая система NTFS является более сложной по сравнению с системами FAT. Для работы с ней требуется больше оперативной памяти, поэтому ее использование начинает оправдывать себя только на сравнительно производительных и требующих высокой надежности системах. NTFS применяется в операционных системах Windows NT, Windows 2000 и Windows XP. Не рекомендуется форматировать под NTFS разделы размером менее 400Мб, потому что значительная часть места «пропадает» под служебные структуры данных.

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

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

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

Рис. 6 Топология раздела NTFS

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

1.6.4. HPFS

Данная файловая система разрабатывалась фирмой IBM и является далеким родственником NTFS. Она используется преимущественно в операционной системе OS/2, о поддерживается также в ранних версиях Windows NT.

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

1.6.5. Ext2fs

Данная файловая система используется как основная файловая система для Linux.

1.7. Монтирование файловых систем

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

Таким образом, имя файла складывается из имени его раздела, и его имени внутри этого раздела. Это верно для любых файловых систем. Например, в системе DOS, для точного указания положения файла autoexec.bat необходимо указывать C:\autoexec.bat. В данном случае имя C: указывает раздел, а имя \autoexec.bat . имя файла внутри него.

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

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

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

Изменение имен дисков часто приводит к нарушению путей к программам, расположенным не на диске C:.

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

1.7.1. Порядок назначения имен дисков

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

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

DOS, Windows 3.x, Windows 95/98/ME, OS/2

Эти операционные системы назначают имена дисков жестким образом, исходя из имеющихся дисков и типов разделов на них. Правила назначения разделов таковы:

1. Имена назначаются всем распознаваемым активным primary разделам, в порядке следования физических дисков.

2. Имена назначаются всем распознаваемым дискам, располагающимся внутри расширенных разделов. Расширенные разделы перебираются в порядке следования физических дисков.

3. Имена назначаются всем оставшимся primary разделам, в порядке следования физических дисков.

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

Windows NT/2000/XP

Первоначально, в процессе установки, эти операционные системы поступают аналогично версиям DOS & Windows 9x, с той разницей, что разделы NTFS являются для них также распознаваемыми. Однако, в дальнейшем эти системы допускают переназначение имен всех дисков, кроме того, с которого производится загрузка системы. Переназначение дисков производится с помощью утилиты Disk Administrator, входящей в поставку Windows NT/2000/XP. После назначения имен дисков, они закрепляются за своими разделами и более не зависят от появления или удаления других разделов.

1.8. Порядок загрузки операционной системы

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

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

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

3. Загрузчик из MBR выявляет загрузочный раздел операционной системы. В случае стандартного загрузчика MBR загрузочным разделом становится раздел из таблицы разделов MBR, отмеченный специальным флагом как активный раздел. В случае SyMon загрузочный раздел указывается пользователем в настройках операционной системы. Из первого блока загрузочного раздела считывается загрузочный сектор операционной системы. Проверяется сигнатура этого блока и в случае успеха управление передается расположенному в нем загрузчику.

4. Загрузчик операционной системы производит загрузку ядра операционной системы и передает управление в ядро.

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

DOS ).

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

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

1.8.1. Главная загрузочная запись (MBR)

Главная загрузочная запись всегда располагается в блоке 0 физического диска и является, по существу, загрузочным сектором жесткого диска в целом. MBR всегда загружается средствами BIOS по адресу памяти 0x0000:0x7C00. BIOS не различает загрузочные записи жестких и гибких дисков, несмотря на то, что первые, в отличие от вторых, содержат таблицу разделов. Исключением является, пожалуй, то, что в некоторых режимах логическая геометрия диска (число головок и секторов) корректируется по значениям таблицы разделов MBR. Основная работа BIOS с MBR заключается в загрузке и передаче управления загрузочному коду.

Ниже приведена структура MBR (а) и структура одного раздела в таблице разделов (б) загрузочной записи.

Рис. 7 Формат главной загрузочной записи (MBR)

1.8.2. Загрузочный блок ОС (BR)

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

В конце загрузочного блока имеется сигнатура 0xAA55, полностью аналогичная сигнатуре MBR. Это связано с их родственным происхождением, . BIOS практически не различает по назначению эти блоки. Основной его принцип. загрузить, проверить сигнатуру и запустить.

Загрузочный блок ОС располагается всегда в самом первом блоке загрузочного раздела ОС. Точка входа в программу загрузчика находится всегда по адресу 0 относительно начала блока. Это дает универсальность загрузки любой ОС с помощью стандартного загрузчика MBR.

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

1. Достаточно мал, чтобы его было легко загрузить с помощью загрузчика размером всего 400-500 байт.

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

В зависимости от сложности файловой системы существует два решения этой задачи.

Первое заключается в том, что загрузчик пытается сразу прочитать часть файла операционной системы. Так делает, например, система DOS и ее наследники - Windows 95/98/ME. Их загрузчик находит в корневом каталоге файл IO.SYS и считывает первые его три блока. Основа этого. простота систем FAT, которая позволяет по первому кластеру файла, указанному в каталоге, выловить с диска начало файла. Тем не менее, системные файлы должны быть для этого дефрагментированными и скрытыми от обычных программ.

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

1.9. Заключение

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

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

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