Среднее время ожидания - время, за которое диск совершит половину оборота и нужный сектор окажется под головкой.
Загрузочный сектор диска (или раздела диска) должен иметь следующий формат, который представлен в таблице 2.2
Таблица 2.2.
Загрузочный сектор диска
Смещ.
Длина
Содержимое
+0
3
JMP
xx
NEAR-переход на код загрузки
+3
8
‘I’
‘B’
‘M’
‘3’
‘.’
OEM-имя фирмы версия системы
+0Bh
2
Sector
size
Байтов на сектор
начало ВРВ
+0Dh
1
Cluster size
Кластера размер
+0Eh
Reserve
sect
Число резервных секторов (перед 1-й FAT)
+10h
FatCnt
Число таблиц FAT
+11h
Root
Size
Макс. число 32-байтовых элементов корневого оглавления
+13h
Tot
Sects
Общее число секторов на носителе (раздел DOS)
+15h
Media
Дескриптор носителя (То же, что 1-й байт FAT)
+16h
Fat
Число секторов в одной FAT
конец ВРВ
+18h
Trk
Секторов на дорожку (цил.)
Блок
параметров BIOS
+1Ah
Head
Cnt
Число головок ЧТ/ЗП (поверхностей)
+1Bh
Hidn
Sec
Число скрытых секторов
+1Eh
Размер форматированной порции корневого сектора, начало кода и данных загрузки
Это связный список, который DOS использует для отслеживания физического расположения данных на диске и для поиска свободной памяти для новых файлов. При размещении файла на диске FAT выделяет место на диске с дискретностью с один кластер, поскольку FAT рассматривает все секторы одного кластера как один сектор. Если файл не заполняет выделенные ему секторы в кластере, то они теряются и не могут быть использованы для другого файла. Файл может занимать несмежные кластеры, тогда FAT связывает кластеры в цепочки. Размер элемента FAT от используемого диска. FAT включает 12-разрядный элемент (1,5 байта) (или 16-разрядный - для жестких дисков емкостью свыше 10 Мбайт) для каждого кластера.
Работа накопителя от запуска до остановки. При подаче питающих напряжений начинает работать микропроцессор контроллера. Вначале он, как и компьютер, выполняет самотестирование и в случае его успеха запускает схему управления двигателем вращения шпинделя. Диски начинают раскручиваться, увлекая за собой прилегающие к поверхностям слои воздуха, и при достижении некоторой скорости давление набегающего на головки потока воздуха преодолевает силу пружин, прижимающих их к дискам, и головки "всплывают", поднимаясь над дисками на доли микрона. С этого момента, вплоть до остановки дисков, головки не касаются дисков и "парят" над поверхностями, поэтому ни диски, ни сами головки практически не изнашиваются. Тем временем, двигатель шпинделя продолжает раскручивать поверхности. Его скорость постепенно приближается к номинальной (тысячи оборотов в минуту). В это время накопитель потребляет максимум питающего напряжения и создает предельную нагрузку на блок питания компьютера по напряжению 12 Вольт. Поскольку в любой зоне дисков присутствует серво разметка, то серво импульсы начинают поступать с головок сразу же после начала вращения, и по их частоте контроллер судит о скорости вращения дисков. Система стабилизации вращения следит за потоком серво импульсов, и при достижении номинальной скорости происходит так называемый "захват", при котором любое отклонение скорости вращения сразу же корректируется изменением тока в обмотках двигателя. После достижения шпинделем номинальной скорости вращения освобождается фиксатор головок чтения/записи, и система его управления проверяет способность поворачиваться и удерживаться на выбранной дорожке путем выборочного произвольного позиционирования. При этом делается серия быстрых поворотов в разные стороны, что на слух выглядит как характерное "тарахтение", слышимое через несколько секунд после старта. Во время перемещения головок происходит слежение за поступающими с головок серво- импульсами, и система управления всегда "знает", над сколькими дорожками прошли головки. Аналогично происходит и удержание головок над выбранной дорожкой - при отклонении от центра дорожки изменяется во времени величина и форма серво- импульсов. Система управления может ликвидировать отклонение, изменяя ток в обмотках двигателя головок. Во время тестирования привода головок заодно делается и его калибровка - подбор параметров управляющих сигналов для наиболее быстрого и точного перемещения при минимальном количестве "промахов". Здесь нужно сказать, что микрокомпьютер ЖД, как и компьютер, имеет ПЗУ, в котором записан BIOS накопителя - набор программ для начального запуска и управления во время работы, и ОЗУ, в которое после раскрутки механической системы загружаются остальные части управляющих программ. Кроме всего прочего, в ОЗУ загружается так называемая карта переназначения дефектных секторов, в которой отмечены дефектные секторы, выявленные при заводской разметке дисков. Эти секторы исключаются из работы и иногда подменяются резервным, которые имеются на каждой дорожке и в специальных резервных зонах каждого диска. Таким образом, даже если диски и имеют дефекты (а при современной плотности записи и массовом производстве поверхностей носителей они имеют их всегда), для пользователя создается впечатление "чистого" диска, свободного от сбойных секторов. Более того - на каждом диске накопителя имеется некоторый запас резервных секторов, которыми можно подменить и появляющиеся впоследствии дефекты. Для одних накопителей это, возможно сделать под управлением специальных программ, для других - автоматически в процессе работы. Хранение подобной служебной информации на дисках, кроме очевидной выгоды, имеет и свои недостатки - при ее порче микрокомпьютер не сможет правильно запуститься, и, даже, если все информационные секторы не повреждены, восстановить их можно будет только на специальном заводском стенде.
После начальной настройки электроники и механики микрокомпьютер ЖД переходит в режим ожидания команд контроллера, расположенного на системной плате или интерфейсной карте, который в свою очередь программируется процедурами собственной BIOS или BIOS компьютера под управлением ОС. Получив команду, он позиционирует на нужный цилиндр, по серво- импульсам отыскивает нужную дорожку, дожидается, пока до головки дойдет нужный сектор, и выполняет считывание или запись информации [2]. Если контроллер запросил чтение/запись не одного сектора, а нескольких - накопитель может работать в блочном режиме, используя ОЗУ в качестве буфера и совмещая чтение/запись нескольких секторов с передачей информации к контроллеру или от него.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12