Структура магнитного диска
Файловая система
Файловая система – это набор спецификаций и соответствующее им программное обеспечение, которые отвечают за создание, уничтожение, организацию, чтение, запись, модификацию и перемещение файловой информации, а также за управление доступом к файлам и за управление ресурсами, которые используются файлами.
Все современные ОС имеют соответствующие системы управления файлами. Система управления файлами является основной (самой видимой) подсистемой в современных ОС, с ее помощью:
1. Связываются по данным все системные обрабатывающие программы;
2. Решаются проблемы централизованного распределения дискового пространства и управления данными:
3. Пользователям предоставляются следующие возможности:
a) создание, удаление, переименование и т.д. именованных наборов данных из своих программ или посредством специальных управляющих программ;
b) работа с не дисковыми периферийными устройствами как с файлами;
c) обмен данными между файлами, между устройствами, между файлом и устройством (и наоборот);
d) работа с файлами с помощью обращений к программным модулям системы управления файлами;
e) защита файлов от несанкционированного доступа.
В некоторых ОС может быть несколько систем управления файлами, что обеспечивает им возможность работать с несколькими файловыми системами.
Чтобы загрузить с диска саму ОС, а затем с ее помощью организовать работу систему управления файлами, были приняты специальные системные соглашения о структуре диска.
Информация на дисках размещается и передается блоками. Каждый такой блок называется сектором, сектора расположены на концентрических дорожках поверхности диска. Каждая дорожка (track) образуется при вращении диска под зафиксированной в определенном положении головкой чтения/записи. Накопитель на жестких дисках (винчестер – 1973 г.) содержит несколько дисков (часто два или три).
Группы дорожек (треков) одного радиуса, расположенных на поверхностях дисков, образуют цилиндры. Современные диски имеют по несколько десятков тысяч таких цилиндров. 3.5” дискета имеет 80 цилиндров (две рабочие поверхности, 18 секторов на каждой дорожке, каждый сектор 512 байт – 2х80х18х512 = 1 474 560 байт = 1.44 Мбайт).
Каждый сектор состоит из поля данных и поля служебной информации. Размер сектора устанавливается контроллером или драйвером. В большинстве
современных ОС сектор имеет размер 512 байт. Физически адрес сектора на диске определяется триадой [c-h-s], где c – номер цилиндра (дорожки на поверхности диска, cylinder), h – номер рабочей поверхности диска (магнитной головки, head), а s– номер сектора на дорожке (sector).
Обмен информацией между оперативной памятью и дисками физически осуществляется только секторами.
Жесткий диск может быть разбит на несколько разделов (partition). На каждом разделе может быть организована своя файловая система. Разделы диска могут быть двух типов – primary (первичный) и extended (расширенный). На диске должен быть, по крайней мере, один primary-раздел (максимум – 4). Загрузчик располагается в активном разделе и ему передается управление при включении компьютера и загрузке ОС.
На жестком диске может быть только один extended-раздел, который может быть разделен на большое количество подразделов – логических дисков. Каждый логический диск управляется своим логическим приводом. Каждому логическому диску на винчестере соответствует своя относительная нумерация. Физическая же адресация жесткого диска сквозная.
По физическому адресу [0-0-1] на винчестере располагается главная загрузочная запись (master boot record – MBR), содержащая внесистемный загрузчик (non-system bootstrap – NSB), а также таблицу разделов (partition table – PT). Эта запись занимает один сектор и размещается в оперативной памяти, начиная с адреса 0:7С00h. Затем управление передается коду, содержащемуся в этом самом первом секторе диска. MBR является основным средством загрузки с жесткого диска.
PT описывает размещение и характеристики имеющихся на винчестере разделов. Это одна из наиболее важных структур на жестком диске. Если эта таблица будет повреждена, то не только не будет загружаться ОС, но перестанут быть доступными и данные, расположенные на винчестере, особенно, если он разбит на несколько разделов.
Вслед за сектором MBR размещаются собственно сами разделы. В процессе начальной загрузки сектора MBR, содержащего PT, работают программные модули BIOS. Начальная загрузка считается выполненной корректно, когда таблица разделов содержит допустимую информацию.
Одной из самых известных и до сих пор используемых утилит, с помощью которой можно посмотреть и отредактировать PT, а также выполнить и другие действия, связанные с изучением и исправлением данных на диске, является программа Disk editor, работающая в среде DOS. На сегодняшний день ее главный недостаток, что она ограничена размером диска 8 Гбайт. В настоящее время оной из известных и мощных программ для работы с разделами жесткого диска является программа Partition Magic (работает в среде Win32API).