Жесткий диск разбит на стороны, дорожки и сектора. В физическом секторе 1-ой нулевой дорожки нулевой стороны содержится Master Boot Record - главная загрузочная запись (MBR), которая содержит описатели логических разделов диска. Длина раздела в секторах MBR ограничивается 4-байтовым числом.
FFFFFFFFFH - это предельный размер логического раздела жесткого диска.
Адреса и соответствующие им значения признака следующие:
| 00h - признак активного раздела. | |
| 01h - то, что содержится в этой записи. | |
| 02h-03h - номер начала дорожки и начала сектора раздела. | |
| 04h - тип раздела. 12-битная или 16-битная FAT - расширенный том или гигантский том. | |
| 05h - номер последней строки раздела. | |
| 06h-07h - номер последней дорожки и последнего сектора раздела. | |
| 08h-0bh - номер 1-го сектора раздела относительно 1-го сектора диска. | |
| 0ch-0fh - длина раздела в секторах. |
В нулевом секторе каждого логического диска размещается загрузочная запись, которая состоит из загрузочной программы, которая передает управление загрузчику конкретной операционнной системы. Она предваряется блоком BPB (BIOS Parameter Block), в котором описано количество головок чтения-записи, размер сектора на диске, число секторов на кластер, на дорожку и в логическом разделе.
Пример:
| Параметр | Значение |
| число байт на сектор | 512 |
| число секторов на кластер | 16 |
| число зарезервированных секторов | 1 |
| число записей в корневом каталоге | 512 |
| число секторов на диске | - |
| байт описания носителя по адресу F8H | F8H |
| число секторов в FAT | 252 |
| число секторов на дорожку | 63 |
| число сторон диска | 16 |
| число скрытых секторов | 63 |
| число секторов логического диска | 1032139 |
| метка диска | - |
| идентификатор файловой системы | FAT16 |
| конец загрузочной записи | 55AAh (метка) |
FAT находится вслед за загрузочным сектором, и в ней описано физическое размещение всех файлов на диске. За FAT следует ее копия. В таблице размещения файлов столько записей, сколько кластеров на диске.Если объем диска больше 128 Мб, то используется 16-битовый формат FAT по 16 секторов в кластере. 16-битовая FAT описывает не более 65536 кластеров. Две первые записи в FAT зарезервированы для описания формата диска. Поэтому первый кластер в области дисковых данных пронумерован числом 2. Если в ячейке FAT записан 00h, то это значит, что кластер пуст.
Значение FF7h соответствует дефектному кластеру.
FF0h - соответствует зарезервированному кластеру.
FF8h-FFFh - соответствует EOF, обозначает последний кластер файла.
Любое другое значение записи в FAT соответствует номеру следующего за ним по счету кластера текущего файла. Номер начального кластера файла мы узнаем из соответствующей этому файлу записи в каталоге.
Последний кластер каждого файла используется не полностью. Неиспольхованная часть кластера называется хвостом. Чем больше размер кластера, тем больше потерь из-за неполного их использования. Объем неиспользованной памяти можно оценить, если умножить половину размера кластера на диске на общее количество дисковых файлов.
Пример:
На 503 Мб объема диска, содержащего 6500000000 файлов, остается неиспользованым 26 Мб дискового пространства.
По мере удаления информации в пространстве данных будут образовываться пустоты, которые будут заполняться новой информацией. Это приведет к прерывистости фрагментации файлов. Чем сильнее фрагментирован диск, тем больше времени занимает чтение и запись файлов.
Корневой каталог располагается за второй копией FAT и состоит из 512 32-битных записей, каждая из которых содержит информацию о файле или подкаталоге. Номер начального кластера в записи каталога является отпровной точкой для отслеживания файла по цепочке номеров в ячейках FAT. При удалении файла соответствующая ему запись не освобождается. Ее первый символ замещается на байт с номером 229 (X - русская кодировка)
Под значение размера файла в записи каталога отведено 4 байта. Следовательно, размер файла в MS-DOS 4 Гб.
Назад | Содержание | Вперед