Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Хранение и извлечение данных

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

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

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

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