Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/a6b33b7844512d080995c27e4cdb4323 to your computer and use it in GitHub Desktop.
Save anonymous/a6b33b7844512d080995c27e4cdb4323 to your computer and use it in GitHub Desktop.
Логическая структура жесткого диска

Логическая структура жесткого диска - Виталий Леонтьев - Microsoft Office


Логическая структура жесткого диска



Физическая и логическая структура дисков
Логическая структура жестких дисков
Логическая структура жесткого диска
ЛОГИЧЕСКАЯ СТРУКТУРА ЖЕСТКОГО ДИСКА
7) Диски. Логическая структура жёсткого диска.
7) Диски. Логическая структура жёсткого диска.













Винчестеры, как и другие магнитные накопители с прямым доступом, имеют дорожковую организацию дисковой памяти. Это означает, что поверхность магнитных дисков разбивается на концентрические кольца разного диаметра — дорожки, начиная с внешнего края. Далее структуру информации на винчестере следует рассматривать отдельно с точки зрения физической и логической структур. Чаще всего путаница возникает при сравнении параметров, относящихся к различным структурам. С физической точки зрения обе поверхности всех магнитных дисков в массиве-пакете содержат дорожки. Каждой рабочей поверхности соответствует своя головка , по которым, собственно говоря, поверхности и нумеруются параметр heads. Физически максимально допустимое число головок за всю историю производства винчестеров было равно 11, но в современных накопителях более 6 головок не используется. В используемых ныне магнитных дисках число дорожек равно 80, а число дорожек жесткого диска достигает нескольких тысяч. Дорожки, как и головки, идентифицируются номером внешняя дорожка и верхняя головка имеет нулевой номер. Количество дорожек на диске определяется поверхностной плотностью записи. Дорожки, в свою очередь, разбиваются на сектора , являющие минимальными физическими элементами хранения и адресации данных. Чаще всего, сектора на каждой дорожке имеют фиксированный угловой размер, благодаря чему на всех дорожках располагается одинаковое количество секторов. Жесткий диск имеет обычно от 17 до 63 секторов так считает BIOS. Реально же на дорожке современного накопителя содержится около секторов, а максимальное их количество равно Размер сектора определен в байт. Нумерация секторов на дорожке начинается с единицы, а не с нуля, в отличие от головок и цилиндров. Каждый сектор несет не только данные, но и служебную информацию. В начале каждого сектора записывается его заголовок prefix , по которому определяется начало и номер сектора, а в конце — заключение suffix , в котором находится контрольная сумма checksum , CRC , необходимая для проверки целостности данных. Заголовок сектора включает в себя идентификатор ID сектора, первую CRC контрольная сумма и интервал включения записи. Идентификатор содержит информацию о номере цилиндра, головки и сектора. Далее следует интервал включения записи, после которого следует байт данных. За данными располагается вторая CRC и интервал между записями секторами , необходимый для того, чтобы застраховать следующий сектор от записи на предыдущий. Это может произойти из-за неравномерной скорости вращения диска. Завершает сектор прединдексный интервал, который имеет размер от байт, служит для компенсации неравномерности скорости вращения диска. Таким образом, размер сектора увеличивается до байта, из которых байт составляют данные. Вся эта информация записывается на заводе при низкоуровневом LowLewel форматировании, используя специальные программные средства например, Speed Store или Disk Manager или команды DOS. Кроме промежутков между секторами существуют еще и промежутки между самими дорожками. Префиксы, суффиксы и промежутки как раз и составляют то пространство диска, которое теряется при форматировании. Сектора, находящие друг над другом в пакете дисков, на которые одновременно может быть спозиционирован пакет головок, называется цилиндром. Геометрия ёмкостные параметры жесткого диска описываются в BIOS следующей формулой: Однако из-за ограничений работы контроллера винчестера и BIOS эта величина может быть существенно сокращена. Так, до года использовался стандартный CHS -режим стандарт ATA -1 , в котором физические параметры накопителя соответствовали логическим , передаваемым в BIOS. Первая модификация стандарта ATA -2 с режимом передачи PIO 3 использовала режим адресации ECHS , благодаря которому в CMOS Setup была введена опция Large и ECHS. Их надо было использовать для дисков, количество цилиндров которых превышает , но к которым нельзя было применить адресацию LBA. Пересчет происходил в 2 этапа: Этот метод позволил адресовать Гбайт дискового пространства. В дальнейшей модификации АТА-2 PIO 4,5 в году появилось использование логической адресации блоков. В этом режиме все секторы нумеруются без разделения по трем категориям цилиндр, головка, сектор , и адресуются единым битным кодом. С учетом ограничений BIOS цилиндра, головок, 63 сектора на дорожке при пересчете общая емкость жесткого диска достигает 8,4 Гбайт. Была изменена адресация к прерыванию Int 13h DOS , чем удалось преодолеть барьер цилиндров. Теперь для физической адресации использовались все 28 бит: Таким образом, теперь в интерфейсе ATA -5 теоретически был доступен максимальный объем винчестеров. Но биосописатели в очередной раз ошиблись. Они не учли, что при стандартном пересчете LBA с ю головками и мя секторами у винчестеров объемом более 33,8 Гбайт цилиндров окажется больше , и они не поместятся в 16 бит отведенные под цилиндры. Эта проблема была решена в году введением простого условия: Также для некоторых BIOS существовала ошибка определения винчестеров объемом больше 65 Гбайт, которая, как обычно, решалась обновлением прошивки. В году были выпущены жесткие диски, объем которых превышает Гбайт. Кроме того, что накопитель должен быть сконфигурирован в CMOS , его логическую структуру должна понимать операционная система. Для обращения к информации используется кластер allocation unit — минимальная логическая единица доступа к информации. Каждый кластер состоит из нескольких секторов 8 и более. Каждый кластер пронумерован и может быть либо свободен, либо монопольно занят для хранения определенного файла, даже если не все сектора внутри его заняты. Следовательно, даже файл размером несколько байт требует целого кластера. В результате, на каждом файле теряется около половины кластера. Чем больше размер кластера, тем больше потери. Использование кластеров позволяет ускорить работу, так количество кластеров существенно меньше количества секторов. Нумерация кластеров не соответствует их порядковому расположению на дисках. При работе используется тот факт, что при записи данных используются все сектора, которые на данный момент находятся под всеми головками, таким образом, заполняется цилиндр. Прежде чем перейти к следующему цилиндру, заполняется текущий чтобы иметь возможность считывать как можно больше информации без перемещения головок. Для DOS версии 3. Кластеры устроены так, что каждый из них ссылается на последующий. При работе DOS ищет свободные кластеры не с начала диска, а с места последней записи на диск. DOS устанавливает указатель последнего записанного кластера и ищет свободные кластеры, пользуясь этим указателем. Указатель размещается в RAM и уничтожается при перезарузке. Если DOS дошла до конца диска, то указатель также удаляется, а поиск начинается с начала диска. Таким образом осуществляются операции файлами на диске. Этот алгоритм позволяет восстанавливать удаленные файлы. Указатель выставляется на следующий свободный кластер, запись продолжается в идущих далее свободных кластерах. Перезапись кластера, в котором произошло удаление, произойдет только когда указатель в новом цикле дойдет до данного кластера. Даже, если переписывается один файл поверх другого, то запись работает по такой же схеме. А для каждого нового файла используется первая свободная запись. Файловая система через использование кластеров позволяет осуществлять доступ к данным. Большинство файловых систем построено на основе таблицы размещения файлов file allocation table - FAT. Наиболее распространены файловые системы FAT 12 диски менее 16 Мбайт , FAT 16 или просто FAT и FAT FAT подразумевает наличие следующих структур в порядке расположения их на диске:. Загрузочный сектор главного раздела — Master Boot Record MBR , Главная загрузочная запись или Partition table PT , Таблица разделов — является первым сектором на жестком диске занимает один или более секторов. Но под этот раздел отдана целиком вся первая дорожка цилиндр 0, головка 0, сектор 1. Он в себя включает Таблицу главного раздела, которая может содержать только четыре записи, так как больше не поместится в байт. Корневой таблице разделов принадлежат адреса 01BEhFDh. Очевидно, что можно создать только 4 раздела, среди которых могут быть Первичные Primary и Дополнительные Extended разделы. Поэтому если на диске выделен Дополнительный раздел, то Первичных уже можно создать не более трех. Первичный может иметь только один логический диск, в то время как количество логических в Дополнительном разделе не ограничено. Общее количество логических дисков томов не должно быть более 24 для DOS. В первом секторе Дополнительного раздела расположена его Таблица разделов с такой же структурой как и Корневая таблица разделов. В ней описываются адреса начала и конца первого логического диска в этом разделе и его файловая система, а также зоны, занимаемой остальными логическими дисками если они есть. Все последующие разделы в Дополнительном разделе имеют аналогичную структуру. MBR создается с помощью стандартной программы fdisk. Правда последняя накладывает некоторые ограничения: Также в Главной загрузочной записи находится главный загрузочный код — небольшая программа, которая выполняется из BIOS. Она передает управление активному загрузочному разделу. Загрузочная запись Boot Record занимает 32 первых сектора каждого логического диска для первичного раздела — цилиндр 0, головка 1, сектор 1. Загрузочный сектор активного раздела получает управление от MBR. Он выполняет некоторые проверки и запускает с диска первый системный файл io. Формирует загрузочная запись программой format. Напомню, что только Первичный раздел может быть активным. Загрузочная запись, как Корневая таблица разделов должны заканчиваться сигнатурой 55АА. По этой сигнатуре BIOS определяет, успешной ли была загрузка. Таблица размещения файлов FAT — основная часть файловой системы, давшая ей название. Она представляет собой набор записей с номерами, соответствующих номерам всех кластеров на логическом диске. Каждому кластеру соответствует одно число. Для каждого кластера запись может иметь несколько стандартных значений: Получается, что в таблице хранится информация только о первом кластере цепочки кластеров одного файла. Каждая ячейка FAT хранит значение длиной 12, 16 или 32 бита. Отсюда и пошли названия FAT 12, FAT 16 и FAT Размер записей в таблице FAT определяет максимальный размер логического тома. Так как в FAT 16 запись представлялась 2-байтовым числом, то на логическом диске не могло быть более кластеров: В результате несложных вычислений мы находим, что вся таблица FAT помещается в 1 Мбайте. В связи этим FAT , начиная с DOS 4. Операционные системы Windows 95 OSR 2 и старшие поддерживают разрядную FAT с размером кластера до 64 Кбайт. Таким образом, эта система поддерживает тома размером до 2 Тбайт. А применяется она в дисках объемом от Мбайт. Всего в каждом логическом диске существует 2 таблицы FAT , которые следуют друг за другом. При порче первого экземпляра, используется второй, путем корректировки первого. Но у этой системы защиты есть свои недостатки. Во-первых, вторая таблица используется только когда первая полностью испорчена. Во-вторых, вторая копия часто обновляется за счет первой, так что во второй также могут содержаться ошибки. В зависимости от размера логического диска меняется и размер кластера. Для FAT 16 тома до Мбайт используют кластеры размером 2 Кбайта, до 8 Гбайт — 32 Кбайта. Размеры кластеров и записей определяются при форматировании высоко уровня. Для FAT 32 зависимость размера кластера от размера тома приведена в таблице. Кол-во секторов на 1 кластер. Корневой каталог Root directory. Так как размеры таблицы FAT не постоянны, то Корневой каталог не имеет четко закрепленного места, но следует сразу за второй таблицей FAT. Размеры этого каталога четко фиксированы, поэтому существует ограничение на количество папок и файлов в корне диска. Под корневой каталог обычно отводится 32 сектора, именно поэтому корневой каталог ограничен записями. Подкаталог может хранить произвольное количество записей. Каждая запись в том каталоге имеет размер 32 байта. В записи содержится информация практически вся информация о файле, которой располагает DOS: Эта информация связана с FAT посредством одного из полей записи — номера первого занимаемого файлом кластера на диске. Чтобы отследить расположение файла, надо обратиться к каталогу и выяснить номер его первого сектора и длину файла, затем найти в FAT этот кластер и проследить цепочку кластеров до конца файла. И последним разделом, о котором мало кто знает, является цилиндр диагностики. Это последний цилиндр диска, операционная система и FAT его не видят. Он отделяется программой fdisk при создании разделов. Используется этот цилиндр для форматирования низкого уровня и тестирования данных винчестера. Итак, теперь мы можем определиться, что же на самом деле происходит при форматировании. В процессе низкоуровневого форматирования заводского или специальными утилитами дорожки разбиваются на сектора, формируется межсекторное пространство, записываются префиксы и суффиксы секторов. Во всех современных накопителях применяется зонная запись, при которой количество секторов на дорожке является переменным. Дорожки, более удаленные от центра, а значит, и более длинные, содержат большее количество секторов, и наоборот. При зонной записи цилиндры разбиваются на группы, которые называются зонами, причем в каждой зоне на дорожках свое количество секторов. Зон бывает 10 и более. При форматировании высокого уровня в тома заносится загрузочный сектор тома VBS — volume Boot Sector , записываются или переписываются таблицы FAT и корневой каталог. Как видно, данные не удаляются, всего лишь переписываются загрузочные данные для работы с операционной системой, и теряется их описание и каталог. Операционные системы, использующие файловые системы FAT и NTFS должны устанавливаться в Первичные разделы. При установке таких системы не будут видеть другие Первичные разделы, в которые установлены другие ОС. Общими для всех операционных систем будут логические диски, находящиеся в дополнительном разделе. Стоит отметить, что файловая система NTFS позволяет видеть диски FAT , но не наоборот. NTFS из DOS не виден. Кроме того, NTFS позволяет более рационально использовать дисковое пространство. Чтобы загрузиться с того или иного Первичного раздела, надо последний назначить активным active , в то время как остальные будут незагрузочными hidden. Флаг активного раздела выставляется в MBR в одной из 4 записей. Чтобы каждый раз не переназначать активные разделы при загрузке можно использовать программы-мультизагрузчики , которые модифицируют MBR , и при загрузке им передается управление, которое позволяет пользователю выбрать с какого раздела загружаться. Среди таких программ стоит отметить System Commander , SyMon и программу BootMagic из пакета Partition Magic. Последний еще и предлагает поставить пароли на загрузку тех или иных разделов. Linux , Windows и XP имеют встроенный загрузчик, которые, впрочем, не очень удобны. Вот теперь, похоже, мы разобрались со всеми аспектами размещения информации на винчестерах и можем перейти к параметрам жестких дисков, по которым следует выбирать то или иное устройство, но об этом в следующем номере….


Где изобрели спиннер
Как сделать тест на чувствительность
Схема проводки сова 200
Приказы 2015 года
Брить волосы на лобке можно
Письмо в жилищную инспекцию образец
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment