Не правда ли, хочется воскликнуть: "Видел чудеса техники, но такие!.."! И действительно, современный жесткий диск — это настоящее чудо техники! Как видите, пример с авиалайнером — лишь жалкое подобие того, что есть на самом деле (не говоря уже о том, что он не вполне корректен с точки зрения физики).
Секторы. Дорожка записи на диске слишком велика, чтобы использовать ее в качестве единицы хранения информации. Во многих накопителях ее емкость превышает 50 000 байт, и отводить такой блок для хранения небольшого файла— крайне расточительно. Поэтому дорожки на диске разбивают на нумерованные отрезки, называемые секторами.
Количество секторов может быть разным в зависимости от плотности дорожек и типа накопителя. Например, на дорожке гибких дисков может быть 8-36 секторов, а на дорожке жесткого диска— 17-100 секторов. Секторы, создаваемые с помощью стандартных процедур форматирования, имеют емкость 512 байт, но не исключено, что в будущем эта величина изменится.
Нумерация секторов на дорожке начинается с единицы, в отличие от головок и цилиндров, отсчет которых ведется с нуля. Например, дискета HD (High Density) формата 3,5" (емкостью 1,44 Мбайт) содержит 80 цилиндров, пронумерованных от 0 до 79, в дисководе установлены две головки (с номерами 0 и 1), и каждая дорожка каждого цилиндра разбита на 18 секторов (1-18).
Как уже было сказано, в начале каждого сектора записывается его заголовок (или префикс — prefix portion), по которому определяется начало и номер сектора, а в конце — заключение (или суффикс — suffix portion), в котором находится контрольная сумма (спесЪит), необходимая для проверки целостности данных. Помимо указанных областей служебной информации, каждый сектор содержит область данных емкостью 512 байт. При низкоуровневом (физическом) форматировании всем байтам данных присваивается некоторое значение, например F6h. О низкоуровневом форматировании речь пойдет далее в этой главе.
При форматировании диска в начале и конце каждого сектора создаются дополнительные области, в которых записываются их номера, а также прочая служебная информация, позволяющая контроллеру идентифицировать начало и конец сектора Это позволяет отличать неформатированную и форматированную емкости диска После форматирования емкость диска уменьшается и с этим приходится мириться, поскольку для обеспечения нормальной работы накопителя некоторое пространство на диске должно быть зарезервировано для служебной информации.
Утверждать, что размер любого сектора равен 512 байт, — не вполне корректно. На самом деле в каждом секторе можно записать 512 байт данных, но область данных— это только часть сектора. Каждый сектор на диске обычно занимает 571 байт, из которых под данные отводится только 512 байт. В различных накопителях пространство, отводимое под заголовки (header) и заключения (trailer), может быть различным, но, как правило, сектор имеет размер 571 байт.
Для наглядности представьте, что секторы — это страницы в книге. На каждой странице содержится текст, но им заполняется не все пространство страницы, так как у нее есть поля (верхнее, нижнее, правое и левое). На полях помещается служебная информация, например названия глав (в нашей аналогии это будет соответствовать номерам дорожек и цилиндров) и номера страниц (что соответствует номерам секторов). Области на диске, аналогичные полям на странице, создаются во время форматирования диска; тогда же в них записывается и служебная информация. Кроме того, во время форматирования диска области данных каждого сектора заполняются фиктивными значениями. Отформатировав диск, в области данных можно будет записать информацию, как обычно. Информация, которая содержится в заголовках и заключениях сектора, не меняется во время обычных операций записи данных Изменить ее можно только, переформатировав диск.
Во многих случаях, чтобы очистить секторы, в них записываются специальные последовательности байтов. Заметим, что, кроме промежутков внутри секторов, существуют промежутки между секторами на каждой дорожке и между самими дорожками. При этом ни в один