5. Чтение, запись на HDD

5.1 Чтение HDD

Хранение и извлечение данных с диска требует взаимодействия между операционной системой, программами BIOS, контроллером жесткого диска и электронными и механическими компонентами самого HDD. Если компьютеру требуется считать информацию с диска, он указывает контроллеру накопителя номера цилиндра, сектора и стороны диска (головки), где находится начало нужного файла, а также количество секторов, которое нужно прочитать. Далее контроллер вырабатывает команды, побуждающие блок головок переместиться к нужному цилиндру. После этого контроллер ждет, когда вращающиеся диски займут такое положение, при котором нужный сектор окажется под головкой, и лишь затем считывает информацию. DOS помещает данные на хранение и обслуживает каталог секторов диска, закрепленных за файлами (FAT). Когда в систему поступает команда записать файл или считать его с диска, она передает ее в контроллер жесткого диска, который перемещает магнитные головки к таблице расположения файлов соответствующего логического диска. Затем DOS считывает эту таблицу, осуществляя в зависимости от команды поиск свободного сектора диска, в котором можно записать вновь созданный файл, или находится начало запрашиваемого для чтения файла.

5.2 Запись на HDD

Нужно отметить, что файл может быть разбросан по сотням различных секторов жесткого диска. Это связано с тем, что DOS сохраняет файл в первом встреченном ею секторе, помеченном как свободный. При этом файл может разбиваться на множество частей и размещаться в секторах, которые не расположены непосредственно друг за другом (что, впрочем, почти незаметно для пользователя, хотя несколько снижает быстродействие компьютера). FAT хранит последовательность номеров секторов, в которые был записан файл. Таким образом они собираются в цепочку, каждое звено которой хранит следующую часть файла. Попутно заметим, что существуют специальные сервисные программы, которые позволяют оптимизировать размещение файлов на диске и, тем самым, уменьшать время их обработки.Информация FAT поступает из электронной схемы накопителя в контроллер жесткого диска и возвращается операционной системе, после чего DOS генерирует команду установки магнитных головок над соответствующей дорожкой диска для записи или считывания нужных секторов. Записав новый файл на свободные сектора диска, DOS возвращает магнитные головки в зону расположения FAT и вносит изменения в таблицу размещения файлов, последовательно перечисляя все сектора, на которые записан файл.

Операционная система обращается к диску на уровне логического устройства, содержащего некоторый перечень файлов, управляемых DOS. Она генерирует команды управления контроллером дисков. Контроллер дисков управляется операционной системой с использованием наиболее общих понятий, таких как физическое имя накопителя, номер головки и цилиндра, операция записи или чтения и т.п.

Содержание
▲ Наверх