- •Физическое устройство нмд.
- •Физическая адресация на дисках.
- •Логическая система организации хранения информации на нмд.
- •Теперь перейдем, собственно к логической системе хранения информации на нмд.
- •Рассмотрим теперь, как происходит процесс последовательного чтения всей информации, относящейся к файлу с заданным именем(на примере файла «Осень»).
- •Что же взамен?
- •Как найти сектор на нмд, содержащий запись по ее номеру, например, 134.
- •Теперь возникает вопрос, а откуда практически берутся ссылки?
- •Все вышеизложенное является основой для более углубленного изучения методов проектирования и эксплуатации баз данных.
Логическая система организации хранения информации на нмд.
Предварительно рассмотрим еще один способ адресации – сквозная адресация. Все сектора НМД нумеруются натуральными числами от 1 до максимально возможного вне связи с пластинами, дорожками. Это и есть сквозные номера. В нашем примере, максимальный номер сектора равен 20 пластин*100 дорожек*20 секторов =40000
Сквозные номера используются при создании Таблицы размещения файлов (FAT). Об этой таблице –позднее. Сейчас остановимся на проблеме пересчета сквозного номера в CHR.
Напомним, что нумерация пластин и дорожек начинаются с 0. Сектора на дорожке нумеруются с 1.
Пример, из которого будет понятен алгоритм пересчета.
Допустим, необходимо для сквозного номера 17324 получить CHR.
Максимальный номер сектора на пластине равен 100 дорожек * 20 секторов =2000 .
Отсюда номер пластины это целое от деления 17324/ 2000 =8. То есть H=8 – это пластина номер 8.
Остаток от деления 1324. Поделим остаток на количество секторов на дорожке на 20. Целая часть от деления 1324/20=66 – это будет номер дорожки (номер цилиндра) на пластине 8. Остаток от деления равен 4. Это номер сектора на дорожке 66 пластины 8.
Итак, имея сквозной номер, система пересчитывает его в физический адрес. Такой пересчет происходит в ОП и не требует затрат времени по сравнению с механикой. Само использование сквозных номеров это вопрос удобства и отвязки от физики НМД.
Алгоритм пересчета легко понять на бытовом примере многоэтажного многоквартирного дома. Например, дом 5 подъездов, по 20 квартир в подъезде, 4 этажа и, следовательно , по 5 квартир на этаже. Всего квартир 100. Если необходимо попасть в квартиру 67, то ясно что это 4 подъезд, 2 этаж и квартира 2 на этаже.
Теперь перейдем, собственно к логической системе хранения информации на нмд.
Файловая организация на НМД состоит из двух частей:- Каталог файлов;
-Таблицы размещения файлов(FAT-таблица).
Каталог файлов это таблица, имеющая следующую структуру: - имя файла;
- размер файла (количество секторов –кластеров, требуемых для размещения файла;
- сквозной номер первого сектора, в который записана первая порция информации этого файла.
FAT-таблица – это двумерная таблица. В нижней части полный перечень сквозных номеров от 1 до 40000.
В верхней части сквозной номер сектора, куда будет записана очередная порция информации. Кроме сквозного номера, в верхней части может записываться признак окончания файла(конец файла –EOF) или признак плохого (поврежденного ) сектора (bad). Если ничего не записано, то это означает что сектор свободный.
Таким образом, в FAT-таблице создаются для каждого файла цепочки секторов, в которых размещается конкретный файл. Для лучшего понимания, рассмотрим пример размещения двух файлов с именами «Лето» и «Осень». Пусть файл «Лето» имеет объем 3 сектора, а файл «Осень» -5 секторов. Допустим в процессе записи файла «Лето» система определила 3 сектора со сквозными номерами 5 – 7 -3, а для файла «Осень» - 5 секторов со сквозными номерами 9-4-2-8-6. Тогда будем иметь следующее состояние каталога и FAT-таблицы.
КАТАЛОГ ФАЙЛОВ
Имя файла |
Размер |
Адрес сектора 1 |
Лето |
3 |
5 |
Осень |
5 |
9 |
FAT-таблица
-
8
кф
2
7
кф
3
6
4
bad
1
2
3
4
5
6
7
8
9
10
…
40000
Все указанные номера секторов выдает система, выбирая очередной сектор из числа свободных секторов, причем алгоритм выбора такой, что предпочтение отдается сектору, который находится на том же цилиндре, что и предыдущий сектор в цепочке этого файла или на ближайшем цилиндре. Это заложено в системной программе. С течением времени после множества стираний и записей НМД приходит к полнейшему несоответствию логических и физических размещений (полный коллапс). НМД начинает трещать. Это можно услышать. Это щелкают головки от непрерывных перемещений. Тогда необходимо провести системную процедуру, называемую «дефрагментацией», смысл которой сводится к переписи всей информации с учетом максимального использования концепции цилиндров.
Цепочки дают возможность «собрать» файл из хаотично разбросанных по НМД секторов. Причин для хаоса несколько. Во-первых, применение концепции цилиндров. Во- вторых, смежный сектор, куда бы хотелось записать очередную порцию информации может быть или поврежденным или занятым другим файлом. Этих причин достаточно чтобы уяснить, что запись на НМД происходит хаотично и механизм цепочек это единственная возможность в этом хаосе «вытащить» информацию, относящуюся к файлу, с заданным именем.
