Особенности структуры жесткого диска



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

Для обеспечения процесса начальной загрузки операционной системы, а также для хранения данных о физическом расположении логических дисков, в первом секторе жесткого диска (0-й цилиндр, 0-я сторона, 1-й сектор) создается специальная информационная структура – главная загрузочная запись (Master Boot Record, MBR), содержащая код программы начальной загрузки и таблицу разделов диска (Partition Table).

Каждый раздел в таблице представлен одним 16-байтовым элементом, содержимое которого формируется программой форматирования жесткого диска (Fdisk или другой аналогичной системной утилитой). Для просмотра таблицы разделов можно использовать утилиту DiskEdit. Редактирование таблицы разделов диска – крайне опасная процедура, в результате некорректного выполнения которой логические диски могут оказаться недоступными, что потребует полного переформатирования жесткого диска с потерей всех записанных на нем данных.

Таблица 1.6 -  Структура таблицы разделов диска

Смещение Длина, байт Содержимое

1-й элемент (для первого раздела диска)

+00 1 Флаг загрузки : 0 – не загружаемый,                       80h – загружаемый (Bootable)
+01 1 Начало раздела : HdS (№ головки)
  +02   2 Начало раздела :Sec (№ сектора - 6 младших битов)                         Cyl (№ цилиндра - 10 старших битов)
+04 1 Код системы: 0 – неизвестна;                   1 – DOS (12 bit FAT); 4 - DOS (16 bit FAT)
+05 1 Конец раздела: HdE  (№ головки)
  +06   2 Конец раздела : Sec (№ сектора - 6 младших битов)                               Cyl   (№цилиндра - 10 старших битов)
    +08     4 Абсолютный номер начального сектора раздела (соответствует номерам сектора, головки и цилиндра начала раздела) : Cyl * сект./дор. * дор./цил. + Hds * сект./дор. + ( Sec –1)
+0Ch 4 Число секторов раздела

2-й элемент (для второго раздела диска)

+10h 1 Флаг загрузки

Последний элемент (после описания последнего раздела диска)

    0AA55h

 

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

Особенности хранения длинных имен файлов

В отличие от MS DOS, операционные системы семейства Windows поддерживают "длинные русские имена" файлов – то есть имена длиной до 255 символов, которые могут содержать весь набор 8-битовых символов ASCII (для Windows9x с файловой системой FAT-16 или FAT-32) или набор 16-битовых символов UNICODE (для Windows NT/XP с файловой системой NTFS). Для обеспечения совместимости Windows автоматически генерирует поддерживаемое MS-DOS короткое имя (имя 8 символов + расширение 3 символа) для каждого файла, преобразуя его настоящее длинное имя.

Правила формирования коротких имен файлов в стиле MS-DOS различны для FAT и NTFS.

В системе FATкороткое DOS-имя файла формируется по следующему алгоритму:

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

2. Если в длинном имени присутствуют строчные русские буквы, они заменяются соответствующими прописными (заглавными).

3. Далее имя файла усекается справа до 6 символов, добавляется седьмой символ - тильда (~) и восьмой символ - цифра "1" (если отсутствует дубликат усеченного имени файла). 

4. Если в одном каталоге имеется несколько файлов, в длинных именах которых первые 6 символов одинаковы, то у соответствующих им коротких имен будет изменяться последний символ (цифра 2, 3 и т.д.). Если таких "похожих" файлов в одном каталоге больше четырех, то первые 6 символов короткого имени определяются по специальному алгоритму, а окончание имени всегда одинаково: "~5".

5. Расширение имени файла усекается до 3 символов по такой же схеме.

 

Например, если файл имеет имя "длинное имя файла.русское", то его короткое имя "ДЛИННО~1.РУС". Если у какого-либо файла в этом каталоге первые 6 символов имени и три символа расширения окажутся такими же, например, "длинное письмо.руслана", короткий вариант будет выглядеть так: "ДЛИННО~2.РУС".

В системе NTFS, поддерживающей 16-битовое кодирование символов,короткое имя образуется по несколько иному алгоритму: за основу берутся не первые 6 первых символов длинного имени, а их эквивалент в UNICODE.

Короткое имя файла (11 байтов) хранится в полях "имя" и "расширение" основной регистрационной записи каталога, а длинное имя – в дополнительной записи (или нескольких дополнительных записях) этого же каталога.


Дата добавления: 2018-02-15; просмотров: 165;