- •Физическое устройство нмд.
- •Физическая адресация на дисках.
- •Логическая система организации хранения информации на нмд.
- •Теперь перейдем, собственно к логической системе хранения информации на нмд.
- •Рассмотрим теперь, как происходит процесс последовательного чтения всей информации, относящейся к файлу с заданным именем(на примере файла «Осень»).
- •Что же взамен?
- •Как найти сектор на нмд, содержащий запись по ее номеру, например, 134.
- •Теперь возникает вопрос, а откуда практически берутся ссылки?
- •Все вышеизложенное является основой для более углубленного изучения методов проектирования и эксплуатации баз данных.
Рассмотрим теперь, как происходит процесс последовательного чтения всей информации, относящейся к файлу с заданным именем(на примере файла «Осень»).
Напомним, что и каталог файлов и FAT-таблица после включения компьютера постоянно находятся в ОП, все операции с ними совершаются в ОП, и время их реализации можно не учитывать по сравнению с механикой НМД.
Входим в каталог и находим строку с именем «Осень». Извлекаем из строки сквозной номер первого сектора, в который система записала первую порцию информации этого файла, в нашем случае это сквозной номер 9. Система пересчитывает сквозной номер в физический адрес CHR. Напоминаем еще раз, что все это делается в ОП. Наконец, по полученным координатам происходит обращение к НМД и читается сектор информации в ОП, где происходит ее обработка. После этого в FAT-таблице находится элемент 9 и из него извлекается сквозной номер продолжения цепочки для читаемого файла – это номер 4. Далее схема, аналогичная, и реализуется до тех пор когда на месте продолжения цепочки будет обнаружен признак конца файла.
Это тупик. Таким способом можно читать книги в электронном варианте. Для целей обработки информации время отклика, измеряемое минутами или часами (все зависит от объемов информации) неприемлемо. Практически, для чтения каждого сектора в цепочке потребуется 0.01 сек (один оборот) и к этому добавляется бесконечное перемещение головок под управлением хаотично созданных цепочек секторов.
Что же взамен?
Все современные системы обработки данных базируются на новом типе данных –это «Ссылка» и как следствие, на понятии составной тип данных. Что такое «ссылка». В конечном счете – это адрес какого-то объекта, опираясь на который можно найти искомый объект, не прибегая к последовательному перебору всего файла. Ссылки подразделяются на два типа логическая и физическая. Начнем с физической ссылки. Это прямой дисковый адрес объекта на НМД – это CHR, по которому, минуя каталог и FAT-таблицу, напрямую читается сектор, содержащий этот объект. Это самый быстрый способ работы с НМД. Возникает вопрос, а где взять этот адрес, если все так просто?
Внимание! Сейчас начинается самая трудно понимаемая часть работы системы. Пока только зафиксируем, что если как-то будет получен прямой адрес (физическая ссылка), то далее начинается самое быстрое общение с НМД, а именно, точечное чтение или запись сектора.
Логическая ссылка.
Сначала рассмотрим понятие «структура информации».
Понятие структурированной и неструктурированной информации в Системах обработки данных(СОД).
Неструктурированная информация это обычный текст («Война и мир»), который можно только просматривать последовательно, не только потому, что читаем книги последовательно, а потому что не за что зацепиться в этом потоке символов.
С неструктурированной информацией в базах данных не работают, по крайней мере- это глупо.
Структурированная информация.
1.Файл состоит из записей фиксированной длины, неизменной в пределах одного файла.
2. Записи состоят из набора полей, каждое из которых имеет свою длину, свой тип данных и наименование, которые неизменны для файла.
Соблюдение указанных условий позволяет ввести понятие логическая ссылка, используя которую можно добраться до физической ссылки, а значит напрямую к объекту.
Все дальнейшие рассуждения проведем на примере вымышленного файла «Товары», запись которого имеет следующую структуру: -наименование-15 байт;
Цена -10 байт:
-Производитель-15 байт.
Итого длина записи 40 байт.
Пусть количество записей будет 250.
Тогда объем файла =40*250=10000 байт.
Вся приведенная выше информация никакого отношения к параметрам НМД не имеет. Это параметры самого файла (логические параметры), безотносительно к тому на каком НМД будет записан этот файл. Но именно на этом этапе нужно и можно говорить о логической ссылке.
Логическая ссылка это относительный адрес записи в пределах файла отсчитанный от 0. Адрес начала файла, он же адрес первой записи равен 0.
Адрес второй записи равен 40 и т.д.
Для записи N логический адрес ЛА=Длиназаписи*( N-1).
Например, для нашего файла для N=5 ЛА=40*4=160 , то есть , начиная со 160 байта –это запись 5.
Еще раз, логический адрес записи в пределах файла, величина не связанная ни с каким НМД. На этом факте основана возможность перемещаемости баз с одного компьютера на другой, причем параметры НМД на разных компьютерах могут не совпадать. Позднее будет рассмотрена эта возможность.
Пришло время увязать логические параметры файла с физическими параметрами НМД, на который будет записываться файл.
Единственным параметром НМД для этой задачи является объем сектора, который в нашем случае равен 1000 байт.
Из этого сразу следует, что в одном секторе размещаются 1000/40=25 записей файла, и что для размещения файла потребуется 250/25 =10 секторов НМД, а также что длина цепочки в FAT-таблице будет равна 10 элементам. Если на другом компьютере длина сектора равна 2000 байт, то в одном секторе будет 2000/40=50 записей, для размещения файла необходимо 5 секторов и длина цепочки будет составлять 5 элементов.
Продолжим рассуждения для нашего случая, когда длина сектора равна 1000 байт. Введем понятие порции информации для логического файла, объем которой будет равен объему сектора НМД , на котором записан файл. То есть, объем порции логического файла привязан к объему сектора НМД. Из этого следует, что количество порций файла равно количеству секторов необходимых для размещения файла. Пожуем еще немного. Если тот же файл будет записан на другой НМД с другим размеромлл сектора то количество порций файла тоже изменится и снова будет равно количеству требуемых секторов. В чем же отличие порции от секторов. Порции файла, по умолчанию, расположены одна за другой в естественной последовательности. Сектора, в которых записан файл, принципиально, разбросаны по НМД и только цепочка дает возможность собрать весь файл целиком или поставить в соответствие номеру порции сквозной номер из FAT-таблицы.
