Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Организация структур на HDD для хранения информации в виде файлов.

Организация структур на HDD для хранения информации в виде файлов.

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

  Использование специального технологического режима работы накопителя (аналогично тому, как это делается самими производителями HDD) делает в этом режиме работы доступными операции, которые обычно выполняются на фирме-изготовителе: восстановление формата нижнего уровня (Low-Level Format); восстановление служебной информации, хранящейся на служебных дорожках накопителя (Resident Mikrocode); восстановление или изменение параметров в паспорте диска (Identify Drv); замена дефектных секторов и дорожек на резервные или их исключение из работы накопителя (Assigne, Realocation, Skipping Defects); реконфигурация HDD путем исключения из работы неисправных областей магнитных поверхностей или отключение неисправных магнитных головок.

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

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

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

Команда «Форматирование дорожки» доступна лишь для контроллеров старых дисков, которые не используют зонной записи, при совпадении внешней геометрии с реальной. На современных дисках  низкоуровневое форматирование выполняют лишь в специальном технологическом режиме. Для этого, например, могут использоваться нестандартные команды, причем для разрешения их использования могут присутствовать специальные джамперы на устройстве. Общение с винчестером в технологическом режиме может производиться и через специальный последовательный интерфейс, в качестве которого иногда используется стандартный RS-232C, что позволяет вести диалог с винчестером, например, через СОМ-порт и эмулятор терминала на персональном компьютере. В случае, когда технологические команды доступны через обычный интерфейс, производители накопителя обычно предлагают собственные утилиты низкоуровневого форматирования и обслуживания дисков (низкоуровневое форматирование не затрагивает сервоинформацию, которая записывается на поверхности лишь в заводских условиях). Низкоуровневые утилиты предназначены для конкретных моделей или семейств устройств конкретных производителей, Использование их с «чужими» дисками, как правило, блокируется (или выдается предупреждение). Обход этой блокировки обычно ведет к отказу винчестера.

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

Реальная геометрия дисков с зонной записью полно­стью скрыта от "внешнего мира". Данные о количестве цилиндров, головок и секторов, ука­занные в паспортах жестких дисков, -  это чисто логические параметры. Эти данные предна­значены для ввода в качестве значений соответствующих параметров в BIOS и не имеют никакого отношения к физическим параметрам диска (поэтому мы не должны удивляться, когда в логических параметрах диска видим 256 головок, 1024 цилиндра и 64 сектора). При зонной записи цилиндры разбиваются на группы, которые называются зонами, при­чем по мере продвижения к внешнему краю диска дорожки разбиваются на все большее чис­ло секторов. Во всех цилиндрах, относящихся к одной зоне, количество секторов на дорож­ках одинаковое. Возможное количество зон зависит от типа накопителя; в большинстве уст­ройств их бывает 10 и более. Еще одно свойство зонной записи состоит в том, что скорость обмена данными с накопите­лем может изменяться и зависит от зоны, в которой в конкретный момент располагаются голов­ки. Происходит это потому, что секторов во внешних зонах больше, а угловая скорость враще­ния диска постоянна (т.е. линейная скорость перемещения секторов относительно головки при считывании и записи данных на внешних дорожках оказывается выше, чем на внутренних).

В режиме логической адресации блоков (LBA) все секторы нумеруются подряд, без раз­деления по трем категориям (цилиндр, головка и сектор). Сквозная нумерация начинается с сектора (CHS 0,0,1), которому присваивается логический адрес 0, и заканчивается последним фи­зическим сектором диска.

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

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

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

 -  разбиение диска на разделы (разбили массив адресуемых блоков на разделы);

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

Существуют два основных варианта разбиения диска на разделы:

 - cтруктура служебной информации HDD (до 2 Тбайт) на основе MBR (PT - таблица разделов);

 - cтруктура служебной информации HDD (до 9,4 зетабайт) на основе GPT (MBR, заголовок GPT, массив разделов GPT).

Существуют два основных варианта организации хранения информации файлов в разделах диска:

 - с использоанием FAT ((таблица размещения файлов), разделы FAT32, FAT16, FAT12 и др.;

 - с использоанием таблицы MFT (файл $MFT), разделы NTFS.

Принципы организации хранения файлов в разделах FAT32/16/12.

1) FAT (таблица размещения файлов) состоит из элементов (12/16/32 разряда) в которых хранится информация о порциях файла (кластерах). Каждому элементу таблицы FAT (начиная со второго) соответствует кластер  в области данных с таким же номером.

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

3) Кластер — это непрерывная последовательность секторов (фиксированного размера). Это адресуемая «порция» файла.

4) Код в элементе таблицы FAT может еще определять свободный кластер, дефектный кластер и признак конца файла (прочитанный перед этим кластер — последний кластер файла).

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

 Принципы организации хранения файлов в разделах NTFS.

1. Раздел NTFS состоит из кластеров, они пронумерованы от 0 (кластер — это непрерывная       последовательность секторов заданного фиксированного размера).

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

3. Файл в разделе NTFS состоит из экстентов (экстент — это  непрерывная последовательность кластеров различного  размера. Размер экстента задается номером начального кластера и количеством кластеров в экстенте).

4. Основой для организации хранения информации в виде файлов является метафайл $MFT. Файл $MFT состоит из записей фиксированного размера (обычно 1 Кбайт), и каждая запись определяет соответствующий ей файл (либо маленький файл находится внутри записи в Атрибуте 80, либо файл состоит из экстентов, которые определяются последовательностью блоков VCN в  Атрибуте 80).

5. Блок VCN  содержит номер начального кластера экстента и количество кластеров в экстенте.

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

 

 

 

 

 

 


Лицензия