Дайте описание построения жесткого диска. Физическая и логическая структура жесткого диска студента гр. Какие трудности нас могут ожидать

Начнем с первой – разбивки единого пространства жесткого диска на более мелкие кусочки. Это только для нас, пользователей, жесткий диск выглядит существом монолитным, единым и неделимым. Хотя даже с физической точки зрения это не так: информационное пространство нашего винчестера размещено на нескольких физических пластинах? Теперь оказывается, что и на логическом уровне дисков на одном винчестере может быть несколько! Прежде всего, диск можно разбить на несколько разделов. Например, на два – основной и дополнительный. Главная программа, необходимая для работы компьютера (операционная система), должна обязательно проживать в основном разделе (на практике на компьютер можно установить НЕСКОЛЬКО операционных систем). Но самое интересное начинается дальше: в каждом разделе мы можем создать еще несколько логических дисков! При этом для нас, пользователей, да и для компьютера они будут выглядеть как отдельные устройства, каждое из которых будет носить собственное имя. Бывает и наоборот – благодаря технологии RAID вы можете объединить в один логический диск несколько физических « винчестеров» . Дома этот способ используется редко, а вот на мощных серверах, занятых, к примеру, обработкой видео или в компьютерах-« библиотеках» , такие « супердиски» встречаются сплошь и рядом.

В большинстве случаев при установке на компьютер нового жесткого диска на нем создается всего один раздел и, соответственно, один логический диск. Но многие пользователи считают, что для правильной организации работы разумнее сделать иначе. Например, если у вас в системе установлен винчестер большой емкости (от 100–200 Гб), его можно разбить хотя бы на два раздела. Первый, объемом около 25–30 Гб, можно отвести только под операционную систему и прикладные программы. А второй, больший раздел, отдать на откуп документам, фотографиям, коллекции музыки или фильмов. Зачем это нужно? Очень просто: в том случае, если с « системным» разделом что-то случится, ваши документы останутся в неприкосновенности в своей « резервации» .

Несколько логических дисков пригодятся вам и в том случае, если вы захотите установить на компьютер сразу несколько операционных систем (например, Windows и Linux). Правда, такими трюками занимается, по статистике, менее одного процента пользователей.

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

Именами дисков служат буквы, например:

¦ А: – дискета;

¦ С: – жесткий диск;

¦ D: – второй жесткий диск или, при его отсутствии, дисковод DVD...

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

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

Кластеры и секторы

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

Впрочем, « борозды» уже проложили до нас: на физическом уровне жесткий диск уже разбит на дорожки, которые в свою очередь делятся на секторы. Сектор – это минимальный физический объем диска, который может быть занят данными: как правило, его объем составляет 512 байт. Это совсем немного – представьте, что вам понадобится дробить большой файл на кусочки по 512 байт, да еще и запоминать местонахождение каждого такого зернышка! Именно поэтому при логической разметке жесткого диска на нем создаются более крупные логические участки – кластеры , объединяющие несколько секторов. Число секторов в кластере, а стало быть, и его размер, зависят от объема жесткого диска и выбранного типа файловой системы.

Вот, к примеру, таблица размеров кластеров для файловой системы NTFS :

Размер кластера влияет и на объем, занимаемый вашими файлами, и на скорость работы всей системы. Ведь в кластер, частично занятый каким-либо файлом, нельзя поместить больше ничего. Допустим, ваш файл располагается в 10 кластерах размером 1024 Мб, причем в последнем – десятом кластере он занимает всего десять байт.

Что происходит с оставшимся свободным килобайтом? Ничего. Он просто пропадает для вас. Такие не пригодные ни к чему остатки называют «хвостами» . А в « хвосты» нередко уходит довольно значительный объем – до нескольких сотен мегабайт!

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

Как хранится информация?

Теперь, если вас спросят, как хранится информация на вашем компьютере, вы можете ответить так:

¦ Где именно? – на дорожках и секторах жесткого диска (или, на логическом уровне – в виде кластеров на логических дисках).

¦ Как именно? – в виде логических нулей и единиц (битов), а также их групп (байтов).

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

Файлы

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

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

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

Имя файла чаще всего может быть выбрано произвольно самим пользователем. Скажем, вы создали файл-документ с текстом своего договора с фирмой – его можно назвать « Договор» , « Документ 4155» или вообще « Апрельские тезисы» . Раньше, в эпоху DOS, имена файлов могли состоять максимум из восьми букв латинского алфавита – сегодня их может быть до 256 и никаких языковых ограничений не осталось. Работая с русской версией Windows, мы можем давать нашим документам-файлам русские имена, а китайцы, к примеру, могут с легкостью использовать свои иероглифы. Другой вопрос, что такой документ не всегда можно открыть на других компьютерах – « американская» Windows может не понять китайское имя, ну а наша, российская версия частенько спотыкается на западноевропейских символах.

Тип файла показывает, какого рода начинка хранится в каждом информационном « контейнере» – рисунок ли это, текст или программа.

О типе файла рассказывает его расширение – часть имени из трех (редко – из четырех) букв, отделенное от основной части названия точкой. Например, файл, в котором хранится эта книга, называется Compbook.doc.

В компьютерном мире существует бесчисленное множество расширений – запомнить все просто нереально.

Однако основных расширений не так уж много:

¦ ехе – обозначает « исполняемый» файл, хранящий в себе программу. Например, winword.exe;

¦ com – другой тип программного файла. Обычно файлы.com соответствуют небольшим (до сотни килобайт) программкам. Часто встречались в эпоху DOS, однако сегодня практически сошли со сцены;

¦ bat – так называемый пакетный файл, предназначенный для последовательного запуска нескольких программ (или команд). По сути дела, это обычный текстовый файл, в котором набраны названия программных файлов, которые вы хотите выполнить в необходимом вам порядке. Пример – файл autoexec.bat, автоматически выполняющийся в момент загрузки компьютера;

¦ cfg – конфигурационный файл, в котором программа указывает параметры своей работы;

¦ dll – так называемая динамически подключающаяся библиотека данных, к которой могут обратиться по мере надобности сразу несколько программ;

¦ hlp – файл справки, в котором хранятся « подсказки» , а иногда и полное руководство по той или иной программе;

¦ txt , doc – текстовые файлы;

¦ htm , html – гипертекстовый документ Интернета;

¦ xls – электронная таблица;

¦ dat – файл данных;

¦ wav , mp3 – звук в цифровом формате;

¦ bmp , jpg – графическая информация, картинки;

¦ arj , zip , rar , 7z – файлы архивов, то есть сжатой с помощью специальных программ «архиваторов» информации. В одном архивном файле на самом деле может храниться множество файлов. И так далее.

Работая в Windows, вы чаще всего будете видеть не расширение файла, а соответствующий ему графический значок. Например, лист с текстом и буквой W покажет, что перед вами – документ, созданный в программе Microsoft Word. Это, конечно, удобно – но только не забывайте, что значки могут меняться в зависимости от того, к какой именно программе привязан тот или иной тип файла. К тому же одним значком могут обозначаться файлы сразу нескольких типов. Расширение же во всех случаях остается неизменным. Есть у файла и еще один признак, называемый атрибутом . Однако, в отличие от имени и расширения (а в Windows – значка определенного типа) его-то пользователь как раз и не видит. Зато великолепно видит и понимает компьютер.

Вот лишь некоторые из этих атрибутов:

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

Только для чтения (Read-Only). А вот эти файлы всегда открыты любопытному взору... Но и только. Изменить их содержание нельзя – по крайней мере, без специальной команды пользователя, дабы последний был полностью уверен в том, что именно он делает.

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

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

Папки

Если мы сравнили файлы с листиками, то почему бы нам не продолжить аналогию дальше? Где же те деревья, на которых растут такие полезные листики? Сравнение с деревом тут не случайно. Ведь расположение файлов на жестком диске и называется именно древовидной структурой. Есть листья. Они растут на веточках. Веточки в свою очередь растут на ветках. Ветки... Ну, скажем, на сучьях. А уж сучья... И так до бесконечности. Понятно, что держать совершенно разные файлы в одной куче нельзя. Их надо упорядочивать. Каждому сверчку – свой шесток, каждой семье – отдельную квартиру... Ну и так далее.

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

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

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

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

А:\ С:\ D:\ Е:\

Диском А: чаще всего называется дисковод и, пока вы не вставите в него дискету, этого диска у вас как бы и не будет. И бог с ним: и без него дисков хватает.

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

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

C:\WINDOWS.

Ну а третий элемент адреса – имя самого файла. Например, адрес

C:\WINDOWS\regedit.exe

соответствует программе для редактирования системного реестра Windows, которая находится на диске C:\ в папке Windows.

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

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

Когда мы записываем на винчестер файлы и папки, компьютер разбивает их на привычные ему кластеры и раскидывает по всему пространству жесткого диска. Файл, конечно же, в одном кластере не помещается. Проживает он сразу в нескольких, причем совершенно не обязательно, что кластеры эти будут жить рядышком, как горошины в стручке. Чаще случается наоборот: файл хранится на диске в раздробленном виде – « голова» в одном участке диска, « ноги» в другом... Чтобы не заблудиться в собственных « закромах» , компьютер создает в самом начале жесткого диска специальный « путеводитель» по его содержанию – FAT, таблицу размещения файлов. Именно в FAT хранятся все сведения о том, какие именно кластеры занимает тот или иной файл или папка, а также – их заголовки. С одной стороны, это удобно: при таком способе размещения компьютер не должен лихорадочно искать на жестком диске кусок именно такого размера, который подходит для конкретного файла. Пиши куда вздумается! Да и удалять файлы и папки становится проще – не нужно стирать содержимое принадлежащих им кластеров, достаточно просто объявить их свободными, изменив пару байт в FAT. Да и у пользователя остается возможность быстро их восстановить с помощью все той же пары байт...

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

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

Например, древняя DOS и первые версии Windows использовали 16-разрядную файловую систему FAT16, в которой отсутствовала поддержка длинных имен, а объем логического диска не мог превышать 4 Гб (65536 кластеров по 64 кб). В частности, именно этот фактор заставлял владельцев винчестеров большой емкости « разбивать» его на несколько разделов – иначе работать с диском было невозможно.

Для Windows 95 была создана новая модификация файловой системы – 32-битная FAT32, которая позволяла использовать так полюбившиеся нам длинные имена. Уменьшился максимальный размер кластера – до 16 кб (стандартный же размер составлял 4 кб). А главное, увеличился максимальный размер жесткого диска – до 4 Тб! Впрочем, довольно скоро выяснилось, что и FAT32 работает небезупречно: несмотря на декларированную поддержку до 4 Тб дисковой памяти, стандартные утилиты позволяли создавать логические разделы объемом лишь до 32 Гб. К тому же размер файла в FAT32 не мог превышать 4 Гб, что крайне осложняло работу любителям цифрового видео (ведь оцифрованный фильм может занять на диске сотни гигабайт!). Так что задуматься о смене файловой системы пришлось довольно скоро, хотя и сегодня FAT32 используется, например, при создании DVD-дисков. А семь лет назад мир потихоньку начал переходить на файловую систему нового типа – NTFS , количественные изменения в который были куда менее интересны, чем качественные. Да, благодаря NTFS удалось снять ограничения на объем файла – теперь он может занимать хоть весь жесткий диск целиком – а максимальный размер дискового раздела увеличился до 12 Тб. Однако куда интереснее были новые возможности: помимо привычных логических дисков фиксированного размера NTFS позволяет создавать еще и динамические жесткие диски, поддерживает шифрование и защиту паролем отдельных разделов и папок.

Главное качество новой системы – надежность хранения данных: если « уронить » жесткий диск с FAT32 было легче легкого, то под защитой NTFS ваши данные будут чувствовать себя гораздо увереннее. NTFS ведет свой собственный журнал операций, который позволяет защитить данные в случае сбоя.

Попробуйте внезапно выключить компьютер при копировании или удалении файла в FAT32 – и, скорее всего, вы поплатитесь за такую вольность потерей данных. Ведь изменения в таблице размещения файлов не будут сохранены, и ваш документ превратится в кучу « потерянных кластеров» . Поэтому FAT всегда хранится в 2-х экземплярах! NTFS же вносит изменения в таблицу лишь тогда, когда операция успешно завершена, а « журнал» помогает застраховать файлы от преждевременной кончины.

Увы – ради надежности приходится жертвовать совместимостью:

Если жесткие диски, отформатированные в FAT16 и FAT32, способны увидеть практически все версии Windows (а также операционные системы семейства Linux), то при использовании NTFS вы намертво привязаны к линейке Windows 2000 -ХР -Vista .

Если на вашем компьютере уместилось две операционные системы – старая Windows ME и новая Windows ХР (с файловой системой NTFS), – то содержимое « икспишного» раздела или целого диска останется невидимым для ME. Более того – вы теряете возможность работать с диском, загружаясь в режиме « командной строки» с компакт-диска или « загрузочной» дискеты – для DOS файловая система NTFS тоже как бы не существует.

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

Конечно, существуют специальные программы для работы с разделами и файловыми системами – например Partition Magic, которая умеет конвертировать диск NTFS в FAT32 без потери информации. Но их использование сопряжено с немалыми трудностями – в особенности для новичков... И все же, несмотря на все недостатки, использование NTFS сегодня дает куда больше преимуществ, чем неудобств. Поэтому уверенно отвечайте «Да!» на вопрос о переводе в NTFS – и окончательно прощайтесь с прошлым.

Программы и их виды

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

Виды программ по назначению

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

Первую и самую обширную группу программ, с которыми нам придется иметь дело, составляют Системные программы.

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

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

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

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

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

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

Офисные программы . Задача этих программ – создание и редактирование документов, будь то текст, электронная таблица, изображение или их совокупность. Иногда такие программы называют по старинке « редакторами» (хотя настоящим редактором остается человек, а программа – лишь его рабочий инструмент). Сегодня отдельных программ этого класса на рынке почти не осталось – куда чаще продаются « полные наборы» , включающие все, что вам нужно. Самый популярный офисный пакет Microsoft Office состоит из текстового редактора Microsoft Word, электронной таблицы Microsoft Excel, программы для подготовки презентаций Microsoft PowerPoint, программы управления базами данных Microsoft Access и ряда вспомогательных программ поменьше.

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

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

Программы для обработки и создания изображений . Это – уже вполне профессиональные программы, ставить которые на ваш компьютер стоит лишь в одном случае – если вы хотя бы умеете рисовать. Если нет, то даже такая мощная программа, как редактор векторной графики (рисунков) CorelDraw, вам не поможет. То же самое относится и к программам для обработки фотоизображений – например Adobe Photoshop. Конечно, с их помощью можно соорудить великолепный фотомонтаж или поиздеваться над фотографией обожаемой женушки... Но, опять-таки, является ли это для вас жизненно необходимым?

Программы для работы со звуком. Минимальный комплект программ для обработки и проигрывания звуков и музыки уже включен в комплект вашей операционной системы. Несколько дополнительных программ (например, проигрывателей, или « плейеров» ) не помешают. А серьезные, профессиональные пакеты для обработки звуков (Sound Forge, CoolEdit) оставьте профессионалам.

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

Редакторы трехмерной графики и анимации . Благодаря « Парку Юрского периода» и прочим напичканным спецэффектами фильмам, эти программы стали у нас удивительно популярны (хотя на Западе те же 3D Studio MAX или SoftImage – сугубо профессиональные программы стоимостью в десятки тысяч долларов).

Профессиональные программы. Весьма условная группа. Вообще-то к профессиональным, узкоспециализированным программам можно отнести программу любой группы – это зависит только от ее « навороченности» , востребованности сравнительно небольшим кругом людей и, как следствие, высокой цены. Объединяет эти программы одно – для домашнего офиса и для повседневного употребления они непригодны. А необходимы они специалистам, которые знают, зачем им, собственно, эта программа нужна. Можно, конечно, и дома в 3D-Studio поиграться, но дело это неблагодарное. Конечно, помимо того, что описано здесь, существует еще море « специализированных» программ, но обо всех написать, увы, невозможно.

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

Системы автоматизированного проектирования (CAD). Эти программы (например, AutoCAD) тоже частенько ставят на домашние машины – по незнанию, видимо, ибо рисование профессиональных блок-схем занятие трудное и на игру не похожее.

Математические и научные программы – вотчина ученых и продвинутых инженеров.

Коммерческий статус программ

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

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

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

Условно-бесплатное программное обеспечение (shareware). Самая массовая группа программ, в которую входят практически все утилиты, а часто – и весьма серьезные, умелые программные пакеты. Как правило, shareware-программы распространяются в виде полнофункциональных версий, ограниченных либо по времени работы, либо по количеству запусков. По истечении отведенного вам на тестирование срока (как правило – от 15 до 45 дней) программа либо просто перестает запускаться, либо утрачивает часть своих функций, превращаясь в менее функциональную freeware-версию. В самом благоприятном для вас случае программа полностью сохраняет работоспособность, однако время от времени надоедает вам настоятельными призывами заплатить – так поступает, например, популярный файловый менеджер Windows Commander.

Если вы все-таки решитесь приобрести программу и перечислите на счет автора некую сумму, то в обмен вы получите специальный цифровой код (ключ), который необходимо ввести в специальное регистрационное окошко программы. В качестве варианта может быть выслан специальный « ключевой » файл, который необходимо скопировать в папку с установленной программой.

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

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

Коммерческое программное обеспечение (commercialware). За эти программы всегда надо платить, и чаще всего – довольно значительные суммы. Сюда относятся все крупные программные пакеты известных производителей и ряд утилит. Программы этого типа можно приобрести в красивых коробках или без оных в любом компьютерном супермаркете. Однако сегодня все чаще и чаще программные продукты продаются через сеть Интернет. Купить их можно либо на сайтах производителей программ, либо – в больших интернет-магазинах программного обеспечения. Получить товар вы можете двумя способами. Большие программы в виде тех самых красочных коробок с компакт-диском или документацией доставляются вам на дом курьерской службой или по почте, а мелкие программы вы можете скопировать прямо с сайта Интернет. При этом, как и в случае с shareware-программами, вы получаете урезанную (Demo ) или ограниченную по времени работы (Trial ) версию. Trial, как и shareware-программу, можно превратить в полнофункциональный вариант с помощью регистрации, а вот с демоверсией такой фокус не пройдет, поскольку в ней некоторые функции отсутствуют изначально. Например, в текстовом или графическом редакторе вы не сможете сохранить внесенные вами изменения.

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

«Условно-платные» программы (donation ware). Автор такой программы намекает, что, в принципе, он не отказался бы от пары-другой монет за свое детище, но платить он никого не принуждает и функциональность программы не ограничивает. Появится желание – заплатите, не появится... Ну что ж, на нет и суда нет! Понятно, что таких « альтруистов наполовину» среди программистов немного. А честных плательщиков среди пользователей – и того меньше.

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

Версии программ

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

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

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

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

Такие обновления в большинстве случаев документируются и их описание помещается в файл history.txt или WhatsNew.txt. К такой версии стоит приглядеться повнимательнее – есть большая вероятность того, что там появилось что-то такое, чего вам не хватало...

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

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

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

Бета (Beta) – уже вполне пригодный к употреблению продукт. Грубые ошибки убраны, базовые задачи программа выполняет успешно. Остались лишь маленькие недоделки, которые могут исчезнуть уже в следующих « бетах» . В статусе « беты» многие программы пребывают большую часть жизни, вспомним хотя бы проигрыватель WinAmp, почтовую программу The Bat! и ряд других программ, « бетовость» которых не мешает пользоваться ими миллионам пользователей.

После того как ошибки, обнаруженные в альфа– и бета-версиях программы, исправлены, а функции добавлены, наступает очередь RC (Release Candidate) – кандидат на окончательную версию. Эта программа уже считается стабильной и используется для выявления наиболее скрытых ошибок – такую программу, практически без опаски, могут скачивать и устанавливать даже те пользователи, которые слабо разбираются в компьютерах. А так как таких – большинство, то увеличивается число пользователей, что означает увеличение числа « тестеров» . Ошибки в RC-версиях вычисляются довольно редко, так что при переходе в « основную» версию программа практически не меняется.

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

Начальный сектор диска имеет главную корневую запись, которая грузится в память и выполняется. Последняя часть этого сектора имеет таблицу разделов — 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 бита.

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

Введение

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 разделов, описанных в таблице разделов. Для загрузки большего количества ОС требуется специальное программное обеспечение, обеспечивающее загрузочное меню и загрузку выбранной пользователем операционной системы.

Первый серийный жесткий диск емкостью 16 кбайт был выпущен компанией IBM еще в 1973 р., и содержал 30 магнитных цилиндров по 30 дорожек на каждом. Острые на язык разработчики уловили схожесть этих цифр с маркой "30/30", которая соответствует названию оружия - "винчестеру". - это накопитель информации на жестких магнитных дисках. Основным элементом накопителей на жестких магнитных дисках (HDD - Hard Disk Drive) является несколько жестких алюминиевых или стеклянных пластин круглой формы - дисков. Поверхность такого диска покрывается тонким слоем вещества, которая способна сохранять остаточную намагниченность после воздействия на нее внешнего магнитного поля. Этот слой называется рабочим или магнитным и на нем сохраняются записанные данные. Накопитель состоит из таких элементов.
  • Дисков с вращающимся приводом, которые смонтированы на общей вертикальной оси.
  • Головки чтения/записи информации с собственным приводом.
Основной критерий качества - поверхностная плотность записи . Современный показатель - 60-80 Гбайт/пластину.

Любой винчестер состоит из трех основных блоков. Итак, рассмотрим, каковы составляющие структуры жесткого диска . Первый блок - собственно, само хранилище информации - одна или несколько стеклянных (или металлических) дисков. Структура диска выглядит так: магнитная поверхность каждого диска разделена на концентрические "дорожки (track) ", которые, в свою очередь, делятся на отрезки - секторы . Наряду с дорожками, которые имеют свой номер, и секторами, существуют цилиндры. Цилиндр - это совокупность всех совпадающих друг с другом дорожек по вертикали по всем рабочим поверхностям. Таким образом, чтобы узнать, какое количество цилиндров содержит жесткий диск, необходимо просто умножить число дорожек на суммарное число рабочих поверхностей. При низкоуровневом форматировании диска, которое исполняется на заводе-производителе, сначала и в конце каждого сектора создаются области, которые содержат информацию об их номерах и другое (служебная информация). Размер сектора составляет величину 571 байт, из которых 512 байт отведено под полезные для пользователя данные, другие - под заголовок (header) или префикс, по которому определяется начало и номер сектора и окончание (trailer) или суффикс, где записывается контрольная сумма, необходимая для проверки сохранности диска.
Второй блок - механика жесткого диска, которая отвечает за вращение массива "блинов" и точное позиционирование системы считывающих головок. Каждой рабочей поверхности жесткого диска соответствует одна считывающая головка, причем размещаются они по-вертикали точным столбиком. А значит, в любой момент времени все головки находятся на дорожках с одинаковым номером. То есть, работают в пределах одного цилиндра. Третий блок включает электронную начинку - микросхемы, отвечающие за обработку данных, коррекцию возможных ошибок и управления механической частью, а также микросхемы кэш-памяти. Кластер (cluster) - это наименьшая область диска, которая выделяется для файла или его части. Каждый файл занимает на диске пространство, которое равняется целому числу кластеров. Как правило, кластер состоит из нескольких секторов. Для жестких дисков размер кластера определяется при форматировании и зависит от версии операционной системы и размера диска. Но дисковое пространство занимается неэффективно. Например, необходимо сохранить файл в 500 байт. Зная, что каждый файл может занимать пространство на целом числе кластеров, то в этом случае будет занят один кластер. Файл будет записан с потерей дискового пространства.

Качественные характеристики жесткого диска

Время поиска сектора . Время поиска сектора (latency time) - это среднее время, необходимое для того, чтобы искомый сектор оказался под головкой после ее выведения на дорожку. Среднее время поиска равняется половине периода вращения диска и рассчитывается по формуле: Среднее время поиска = 1/(число оборотов двигателя в секунду*2) То есть при частоте вращения 7200 об/хв. время поиска составляет величину 4,17 мс. Скорость чтения данных и спецификация . Средний показатель скорости чтения данных - около 40-45 Мбайт/с. Считается, что контроллер на материнской плате спецификации UDMA/33 обязан обеспечивать скорость чтения данных не менее 33 Мбайт/с. А современные спецификации, например, UDMA/100 и UDMA/133 должны гарантировать не менее 100 и 133 Мбайт/с. Скорость передачи данных определяет объемы данных, которые могут быть переданы из накопителя в компьютер и назад за определенные промежутки времени. Скорость передачи данных определяется двумя факторами:
  • Способом подключения накопителей, то есть производительностью интерфейса.
  • Скоростью считывания данных головками.
Скорость считывания данных (ее называют внутренней скоростью обмена данными и измеряют в Мбайт/с) можно определить по формуле: Скорость считывания данных = количество секторов на дорожке * 512* * частота вращения дисков / 1000000. Частота вращения дисков измеряется в об/с, 512 - количество байт данных в секторе. Среднее время поиска . Среднее время поиска (Average seek time) - среднестатистическое время, в течение которого головки смещаются из одного цилиндра на другой. Этот показатель зависит от конструкции привода головок и составляет величину до 10 мс. Среднее время доступа . Определяется как сумма среднего времени поиска и времени задержки и характеризует среднестатистическое время, необходимое для получения доступа к данным, записанным на произвольном секторе. Скорость вращения диска . Показатель, напрямую связанный со скоростью доступа и скоростью чтения данных. Существуют параметры 5400 об/хв., 7200 об/хв. (IDE); 10000 об/хв., 15000 об/хв. (SCSI). Жесткие диски подключаются к материнской плате при помощи специальных шлейфов-кабелей.

Таблица размещения файлов

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

Популярные файловые системы

FAT . Эта файловая система используется в операционных системах MS DOS, Windows 3.x/9.x/2000, ME, XP, OS/2. HPFS . Название этой файловой системы пошло от High Реrfomаnce File System, что значит высокопродуктивная файловая система. Поддерживается операционными системами OS/2, Windows NT. NTFS . Название этой файловой системы пошло от Windows NT File System, что значит файловая система Windows NT/2000, поддерживается операционными системами Windows NT/2000, ХР.

Логические диски

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

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

Для наглядности, разберём 3.5-дюймовый SATA диск. Это будет совершенно новый терабайтник Seagate ST31000333AS. Осмотрим нашего подопытного кролика.


Зелёная закреплённая винтами пластина с проступающим узором дорожек, разъёмами питания и SATA называется платой электроники или платой управления (Printed Circuit Board, PCB). Она выполняет функции электронного управления работой жёсткого диска. Её работу можно сравнить с укладкой в магнитные отпечатки цифровых данных и распознание обратно по первому требованию. Например, как прилежный писарь с текстами на бумаге. Чёрный алюминиевый корпус и его содержимое называется гермоблоком (Head and Disk Assembly, HDA). В среде специалистов принято называть его «банкой». Сам корпус без содержимого также называют гермоблоком (base).

Теперь снимем печатную плату (понадобиться отвертка «звёздочка» T-6) и изучим размещённые на ней компоненты.


Первым в глаза бросается большой чип, расположенный посередине – Система на кристалле (System On Chip, SOC). В ней можно выделить два крупных составляющих:

  1. Центральный процессор, который производит все вычисления (Central Processor Unit, CPU). Процессор имеет порты ввода-вывода (IO ports) для управления остальными компонентами, расположенными на печатной плате, и передачи данных через SATA-интерфейс.
  2. Канал чтения/записи (read/write channel) – устройство, преобразующее поступающий с головок аналоговый сигнал в цифровые данные во время операции чтения и кодирующий цифровые данные в аналоговый сигнал при записи. Так же выполняет слежение за позиционированием головок. Иными словами, создает магнитные образы при записи и распознает их при чтении.

Чип памяти (memory chip) представляет собой обычную DDR SDRAM память. Объём памяти определяет размер кэша жёсткого диска. На этой печатной плате установлена память Samsung DDR объемом 32 Мб, что в теории даёт диску кэш в 32 Мб (и именно такой объём приводится в технических характеристиках жёсткого диска), но это не совсем верно. Дело в том, что память логически разделена на буферную память (кэш) и память прошивки (firmware). Процессору требуется некоторый объём памяти для загрузки модулей прошивки. Насколько известно, только производитель HGST указывают действительный объём кэша в описании технических характеристик; относительно остальных дисков, о реальном объёме кэша остаётся только гадать. В спецификации ATA составители не стали расширять ограничение, заложенное в ранних версиях, равное 16 мегабайт. Поэтому, программы не могут отобразить объем более максимального.

Следующий чип – контроллер управления шпиндельным двигателем и звуковой катушкой, перемещающий блок головок (Voice Coil Motor and Spindle Motor controller, VCM&SM controller). На жаргоне специалистов – это «крутилка». Кроме того, этот чип управляет вторичными источниками питания, расположенными на плате, от которых питается процессор и микросхема предусилителя-коммутатора (preamplifier, preamp), расположенная в гермоблоке. Это главный потребитель энергии на печатной плате. Он управляет вращением шпинделя и движением головок. Так же при отключении питания переключает останавливающийся двигатель в режим генерации и полученную энергию подает на звуковую катушку для плавной парковки магнитных головок. Ядро VCM-контроллера может работать даже при температуре в 100°C.

Часть программы управления (прошивки) диска хранится во флэш-памяти (на рисунке обозначено: Flash). При подаче питания на диск микроконтроллер загружает сначала маленькое boot-ПЗУ внутри себя, а дальше переписывает содержимое флэш-чипа в память и приступает к исполнению кода уже из ОЗУ. Без корректно загруженного кода, диск даже не пожелает запускать двигатель. Если на плате отсутствует флэш-чип, значит, он встроен в микроконтроллер. На современных дисках (где-то с 2004 года и новее, однако исключение составляют жёсткие диски Samsung и они же с наклейками от Seagate) flash-память содержит таблицы с кодами настроек механики и головок, которые уникальны для данного гермоблока и не подойдут к другому. Поэтому операция «перекинуть контроллер» всегда заканчивается либо тем, что диск «не определяется в BIOS», либо определяется заводским внутренним названием, но все равно доступ к данным не даёт. Для рассматриваемого диска Seagate 7200.11 утрата оригинального содержимого flash-памяти приводит к полной потере доступа к информации, так как подобрать или угадать настройки не получится (во всяком случае, автору такая методика не известна).

На youtube-канале R.Lab есть несколько примеров перестановки платы с перепайкой микросхемы c неисправной платы на исправную:
PC-3000 HDD Toshiba MK2555GSX PCB change
PC-3000 HDD Samsung HD103SJ PCB change

Датчик удара (shock sensor) реагирует на опасную для диска тряску и посылает сигнал об этом контроллеру VCM. Контроллер VCM немедленно паркует головки и может остановить вращение диска. Теоретически, такой механизм должен защищать диск от дополнительных повреждений, но на практике он не работает, так что не роняйте диски. Ещё при падении может заклинить шпиндельный двигатель, но об этом позже. На некоторых дисках датчик вибрации обладает повышенной чувствительностью, реагируя на малейшие механические колебания. Полученные с датчика данные позволяют контроллеру VCM корректировать движение головок. На таких дисках установлено, кроме основного, ещё два дополнительных датчика вибрации. На нашей плате дополнительные датчики не припаяны, но места под них есть - обозначены на рисунке как «Vibration sensor».

На плате имеется ещё одно защитное устройство – ограничитель переходного напряжения (Transient Voltage Suppression, TVS). Он защищает плату от скачков напряжения. При скачке напряжения TVS перегорает, создавая короткое замыкание на землю. На этой плате установлено два TVS, на 5 и 12 вольт.

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


Теперь рассмотрим гермоблок.


Под платой находятся контакты мотора и головок. Кроме того, на корпусе диска имеется маленькое, почти незаметное отверстие (breath hole). Оно служит для выравнивания давления. Многие считают, что внутри жёсткого диска находится вакуум. На самом деле это не так. Воздух нужен для аэродинамического взлета головок над поверхностью. Это отверстие позволяет диску выровнять давление внутри и снаружи гермозоны. С внутренней стороны это отверстие прикрыто фильтром (breath filter), который задерживает частицы пыли и влаги.

Теперь заглянем внутрь гермозоны. Снимем крышку диска.


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


Информация хранится на дисках, называемых также «блинами», магнитными поверхностями или пластинами (platters). Данные записываются с двух сторон. Но иногда с одной из сторон головка не установлена, либо физически головка присутствует, но отключена на заводе. На фотографии вы видите верхнюю пластину, соответствующую головке с самым большим номером. Пластины изготавливаются из полированного алюминия или стекла и покрываются несколькими слоями различного состава, в том числе ферромагнитным веществом, на котором, собственно, и хранятся данные. Между пластинами, а также над верхней из них, мы видим специальные вставки, называемыми разделителями или сепараторами (dampers or separators). Они нужны для выравнивания потоков воздуха и снижения акустических шумов. Как правило, их изготавливают из алюминия или пластика. Алюминиевые разделители успешнее справляются с охлаждением воздуха внутри гермозоны. Ниже приведен пример модели прохождения потока воздуха внутри гермоблока.


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


Головки чтения-записи (heads), устанавливаются на концах кронштейнов блока магнитных головок, или БМГ (Head Stack Assembly, HSA). Парковочная зона – это область, в которой должны находиться головки исправного диска, если шпиндель остановлен. У этого диска, парковочная зона расположена ближе к шпинделю, что видно на фотографии.


На некоторых накопителях, парковка производится на специальных пластиковых парковочных площадках, расположенных за пределами пластин.


Парковочная площадка накопителя Western Digital 3.5”

В случае парковки головок внутри пластин для съёма блока магнитных головок нужен специальный инструмент, без него снять БМГ очень сложно без повреждения. Для внешней парковки можно вставить между головками пластиковые трубочки, подходящие по размеру, и вынуть блок. Хотя, и для этого случая так же есть съемники, но они более простой конструкции.

Жёсткий диск – механизм точного позиционирования, и для его нормальной работы требуется очень чистый воздух. В процессе использования внутри жёсткого диска могут образовываться микроскопические частицы металла и смазки. Для немедленной очистки воздуха внутри диска имеется циркуляционный фильтр (recirculation filter). Это высокотехнологичное устройство, которое постоянно собирает и задерживает мельчайшие частицы. Фильтр находится на пути потоков воздуха, создаваемых вращением пластин


Теперь снимем верхний магнит и посмотрим, что скрывается под ним.


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

Вот что можно там увидеть.


Ещё мы видим здесь катушку (voice coil), которая является частью блока магнитных головок. Катушка и магниты образуют привод БМГ (Voice Coil Motor, VCM). Привод и блок магнитных головок образуют позиционер (actuator) – устройство, которое перемещает головки.

Чёрная пластиковая деталь сложной формы называется фиксатором (actuator latch). Он бывает двух типов: магнитный и воздушный (air lock). Магнитный работает как простая магнитная защёлка. Высвобождение осуществляется подачей электрического импульса. Воздушная защёлка освобождает БМГ после того, как шпиндельный двигатель наберёт достаточное число оборотов, чтобы давление воздуха отодвинуло фиксатор с пути звуковой катушки. Фиксатор защищает головки от вылета головок в рабочую область. Если по какой-то причине фиксатор со своей функцией не справился (диск уронили или ударили во включенном состоянии), то головки прилипнут к поверхности. Для дисков 3.5“ последующее включение из-за большей мощности мотора просто оторвет головки. А вот у 2.5“ мощность мотора меньше и шансы восстановить данные, высвободив «из плена» родные головки, довольно высоки.

Теперь снимем блок магнитных головок.


Точность и плавность движения БМГ поддерживается прецизионным подшипником. Самая крупная деталь БМГ, изготовленная из алюминиевого сплава, обычно называется кронштейном или коромыслом (arm). На конце коромысла находятся головки на пружинной подвеске (Heads Gimbal Assembly, HGA). Обычно сами головки и коромысла поставляют разные производители. Гибкий кабель (Flexible Printed Circuit, FPC) идёт к контактной площадке, стыкующейся с платой управления.

Рассмотрим составляющие БМГ подробнее.

Катушка, соединенная с кабелем.


Подшипник.


На следующей фотографии изображены контакты БМГ.


Прокладка (gasket) обеспечивает герметичность соединения. Таким образом, воздух может попасть внутрь блока с дисками и головками только через отверстие для выравнивания давления. У этого диска контакты покрыты тонким слоем золота для предотвращения окисления. А вот со стороны платы электроники окисление случается частенько, что приводит к неисправности HDD. Удалить окисление с контактов можно стирательной резинкой (eraser).


Это классическая конструкция коромысла.


Маленькие чёрные детали на концах пружинных подвесов называют слайдерами (sliders). Многие источники указывают, что слайдеры и головки – это одно и то же. На самом же деле слайдер помогает считывать и писать информацию, поднимая головку над поверхностью магнитных дисков. На современных жёстких дисках головки двигаются на расстоянии 5-10 нанометров от поверхности. Для сравнения: человеческий волос имеет диаметр около 25000 нанометров. Если под слайдер попадёт какая-нибудь частица, это может привести к перегреву головок из-за трения и выходу их из строя, именно поэтому так важна чистота воздуха внутри гермозоны. Ещё попадание пыли может вызвать царапины. От них образуются новые пылинки, но уже магнитные, которые прилипают к магнитному диску и вызывают новые царапины. Это приводит к тому, что диск быстро покрывается царапинами или на жаргоне «запиливается». В таком состоянии ни тонкий магнитный слой, ни магнитные головки уже не работают, и жёсткий диск стучит (клик смерти).

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


Рассмотрим поверхность слайдера поближе.


Как видите, поверхность слайдера не плоская, на ней имеются аэродинамические канавки. Они помогают стабилизировать высоту полёта слайдера. Воздух под слайдером образует воздушную подушку (Air Bearing Surface, ABS). Воздушная подушка поддерживает почти параллельный поверхности блина полёт слайдера.

Вот ещё одно изображение слайдера.


Здесь хорошо видны контакты головок.

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


Предусилитель располагают прямо в БМГ по очень простой причине - сигнал, идущий с головок, очень слаб. На современных дисках он имеет частоту более 1 ГГц. Если вынести предусилитель за пределы гермозоны, такой слабый сигнал сильно затухнет по пути к плате управления. Установить же усилитель прямо на голове нельзя, так как она существенно нагревается во время работы, что делает не возможным работу полупроводникового усилителя, вакуумно-ламповых усилителей таких малых размеров ещё не придумали.

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

Хватит о головках, давайте разбирать диск дальше. Снимем верхний сепаратор.

Вот как он выглядит.


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


Стал виден нижний магнит.

Теперь прижимное кольцо (platters clamp).


Это кольцо удерживает блок пластин вместе, не давая им двигаться друг относительно друга.

Блины нанизаны на шпиндель (spindle hub).


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


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

Разделительное кольцо – высокоточная деталь, изготовленная из немагнитного сплава или полимеров. Снимем его.


Вытащим из диска все остальное, чтобы осмотреть дно гермоблока.


Так выглядит отверстие для выравнивания давления. Оно располагается прямо под воздушным фильтром. Рассмотрим фильтр внимательнее.

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

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


Внутри spindle hub закреплен постоянный магнит. Обмотки статора, меняя магнитное поле, заставляют ротор вращаться.


Моторы бывают двух видов, с шариковыми подшипниками и с гидродинамическими (Fluid Dynamic Bearing, FDB). Шариковые перестали использовать более 10 лет назад. Это связано с тем, что у них биение высокое. В гидродинамическом подшипнике биения намного ниже и работает он значительно тише. Но есть и пару минусов. Во-первых, он может заклинить. С шариковыми такого явления не происходило. Шариковые подшипники если и выходили из строя, то начинали громко шуметь, но информация хоть медленно, но читалась. Сейчас же, в случае клина подшипника, нужно при помощи специального инструмента снять все диски и установить их на исправный шпиндельный двигатель. Операция очень сложная и редко приводит к удачному восстановлению данных. Клин может возникнуть от резкого изменения положения за счет большого значения силы Кориолиса, действующей на ось и приводящей к ее сгибанию. Например, есть внешние 3.5” диски в коробочке. Стояла коробочка вертикально, задели, упала горизонтально. Казалось бы, не далеко улетел то?! А нет - клин двигателя, и никакой информации уже не достать.

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


Уточнение связи между русскоязычной и англоязычной терминологией выполнено Леонидом Воржевым.


Обновление 2018, Сергей Яценко

Перепечатка или цитирование разрешены при условии сохранения ссылки на перво