
- •1 Программное обеспечение сутп
- •2 Структура интегрированной системы автоматизированного управления.
- •4 Основные принципы тестирования и верификации программ
- •5 Физическая и логическая структуры данных
- •6 Общая концепция и типы структур распределенных баз данных
- •7 Проектирование по.
- •8 Эталонная модель взаимодействия открыты систем .
- •9 Основы концептуального проектирования бд
- •10 Нисходящая и восходящая технологии программирования.
- •11 Функции администратора по су тп.
- •12 Жизненный цикл по
- •13 Статические и динамические структуры данных, их особенности
5 Физическая и логическая структуры данных
Физический формат диска
Информация размещается в секторах фиксированной длины, расположенных на концентрических дорожках поверхности диска. Число секторов на дорожке конкретного носителя также постоянно.
Число секторов на дорожке задается программно (драйвером устройства). Стандартными для различных НГМД являются величины 8, 9, 15 и 18. Жесткие диски имеют обычно 17, 32 или более секторов да дорожку. Также как и число цилиндров программист может изменить приведенные значения.
Каждый сектор состоит из поля данных и поля служебной информации, ограничивающей и идентифицирующего его. Размер сектора также устанавливается драйвером. Пользовательский интерфейс DOS поддерживает единственный размер сектора - 512 байт. BIOS же непосредственно предоставляет возможности работы с секторами 128, 256, 512 или 1024 байт. Можно также в ручную обрабатывать секторы с другими размерами.
Заметим, что изощренным программированием контроллера дисковода можно добиться форматирования диска с различными числом секторов на дорожках и размерами секторов. Такая техника часто используется разработчиками ПО с целью защиты программных продуктов от несанкционированного копирования. Например, на одной из дорожек можно создать дополнительный сектор, содержащий ключ (пароль). Программный продукт при запуске проверяет его наличие и реагирует за его отсутствие прекращением работы. Системные средства копирования дисков и файлов оставят этот сектор незамеченным, вследствие чего несанкционированная копия программного изделия функционировать не будет. Описанная техника широко применялась для 8-секторных дискет, где остается место для девятого сектора. Имеются и такие системы защиты, которые записывают ключи в межсекторные промежутки.
Напомним, что обмен информацией между ОЗУ и дисками физически осуществляется только секторами.
Логический формат диска
Каждая дискета обычно рассматривается DOS как единственный логический диск.
Жесткий диск организуется иначе. Он может быть подразделен на несколько разделов, используемых различными ОС. Максимальное число разделов равно четырем. Собственно DOS может использовать один или два раздела. Первый из них должен быть первичным разделом DOS, второй - может быть только расширенным разделом DOS. В первичном разделе DOS может быть сформирован только один логический диск, а в расширенном - любое их количество. Каждый логический диск "управляется" своим логическим приводом.
На логическом уровне считается, что секторы логического диска имеют непрерывную нумерацию от ) до N-1, где N=T*H*S - количество секторов на диске. Соответствие между физическим адресом сектора и его логическим номером п (для дискет) определяется следующей формулой:
n=(t*H*S)+(h*S)+s-l (2.1)
Таким образом, сначала нумеруются секторы на нулевой дорожке нулевой поверхности, затем - на нулевой дорожке первой поверхности и т.д. После пере нумерации секторов на нулевых дорожках всех поверхностей описанный процесс повторяется для первой и всех последующих дорожек.
Каждому логическому диску на винчестере соответствует своя (относительная) логическая нумерация. Физическая же адресация жесткого диска сквозная. В формуле (2.1) это нужно учитывать, вычитая из вычисленного я абсолютный логический номер первого сектора данного логического диска, чтобы получить смещение в секторах относительно его начала (т.е. относительный логический номер).
Логическое дисковое пространство любого логического диска делится на две области: системную область и область данных.
Системная область логического диска создается и инициализируется при форматировании, а в доследующем обновляется при манипулировании файловой структурой. Область данных логического диска содержит файлы и каталоги, подчиненные корневому. Она в отличие от системной области доступна через пользовательский интерфейс DOS.
Системная область состоит из следующих, расположенных в логическом адресном пространстве подряд, компонентов:
загрузочной записи (BR - Boot Record);
зарезервированных секторов (RSec - Reserved Sector);
таблицы размещения файлов (FAT - File Allocation Table);
корневого каталога (RDir - Root Directory).
BR находится в секторе с физическим адресом [0-0-1] (для дискеты) и содержит блок параметров диска (DPB - Disk Parameter Block), а также блок начальной загрузки (БНЗ). Сектор, содержащий BR, зазывается стартовым.
За BR могут располагаться несколько RSec, используемых DOS. Стартовый сектор логического диска с BR относится к числу RSec. Обычно это единственный RSec на логическом диске. FAT является очень важной информационной структурой. Она представляет собой карту (образ) области данных, в шторой описывается состояние каждого кластера и связываются в цепочку принадлежащие одному файлу некорневому каталогу) кластеры. Кластер - это минимальная единица дисковой памяти, выделяемая файлу 'или некорневому каталогу). Каждый из них занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью. Кластер представляет собой один или несколько смежных секторов в логическом дисковом адресном пространстве (точнее - только в области данных). На дискетах кластер занимает один или два сектора, а на жестких дисках - обычно четыре или восемь секторов.