Файл: Левковиц, Д. Структуры информационных массивов оперативных систем.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 73

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

скольку вопрос этот относится скорее к учетной сфере. Однако некоторые примеры структуры данных, достаточ­ но подробно иллюстрирующие реализацию в памяти структуры информации для выбранного способа органи­ зации файла, будут приведены.

В целях удобства рассмотрения структуру информа­ ции можно разделить на два типа — иерархический и ас­ социативный, изображенные схематически на рис. 3-1.

Рис. 3-1. Схема иерархической и ассоциативной структур информации.

иерархическая;

ассоциативная.

И з о б р а ж е н н ы е на схеме точки

обозначают логические

записи файла, а соединяющие их сплошные и пунктир­ ные линии у к а з ы в а ю т соответственно иерархические и ассоциативные связи между записями. В верхней части схемы помещена запись наивысшего иерархического уровня по отношению к пяти другим записям файла, три из которых (слева) могут представлять некоторый подфайл записей с общими признаками и, возможно, общим форматом записи. Указанием на это с л у ж а т общие за­ мыкающие прямоугольники, с о д е р ж а щ и е соответственно три записи слева и две справа. Аналогично две записи справа стоят по иерархии выше других подфайлов . Та­ ким образом, иерархическую структуру можно изобра­ зить деревом с произвольным количеством уровней. Д р у ­ гое свойство иерархической структуры информации, как видно по нижней записи/схемы, состоит в том, что неко­ торая запись может быть использована несколькими за­ писями более высокой иерархии. Таким образом, запись, обозначенная через А, как это видно из взаимного рас -

4—88 49


положения прямоугольников, принадлежит двум различ­ ным подфаіілам, т. е. согласно схеме она соединена с двумя различными записями более высокого уровня.

!Это свойство преобразует дерево в г р а ф ; иерархические отношения определяют его направленность . Такой граф, кроме того, не имеет циклов. Однако при симметричных соотношениях вхождения или таких, при которых произ­ водная запись непосредственно зависит от одной из ис­

ходных, циклы могут^быть разрешены . Подобные инфор­

мационные структуры характерны,

например,

в з а д а ч а х

о маршрутах . Д л я работы с такой

структурой

информа ­

ции создана специальная система файлов (The General Electric integrated data store IDS [Л. 6]) . .

Итак, между некоторыми записями рассматриваемого файла существуют логические соотношения, которые устанавливаются при формировании файла . Н а п р и м е р , запись, обозначенная через А, логически связана со стар­ шей по иерархии записью, обозначенной С, а эта в свою очередь является младшей по соотношению к записи G.

Ассоциативная связь между записями, и з о б р а ж е н н а я на д и а г р а м м е пунктирными линиями, указывает на то, что соединенные между собой записи с о д е р ж а т некото­ рый общий идентичный ключ. Например, запись С может п р и н а д л е ж а т ь подфайлу «авиационный тип», а записи Е и А могут п р и н а д л е ж а т ь подфайлу «авиационные ком­ поненты», откуда согласно д и а г р а м м е записи Е и А являются компонентами записи С. Пусть далее в к а ж ­ дом из упомянутых подфайлов содержится дескриптив­ ный элемент «пункт капитального ремонта». Пусть, кро­

ме того, проектировщики

системы

хотят отметить все за­

писи независимо от их положения

в иерархии

ф а й л а , со­

д е р ж а щ и е в поле данных

равные

значения

дескриптив­

ного элемента «пункт капитального ремонта». Такой тип соотношений называют ассоциативным. Пунктирные ли­ нии на диаграмме, соединяющие записи D, Е, С и В, могут означать такого рода ассоциативное соотношение. При этом соотношение иерархии м е ж д у этими записями

(если

оно есть)

схемой ассоциативных

связей

в

явном

виде не указывается . Введенное

понятие

аналогично по-

I нятию

ассоциативной

памяти .

Т а к а я

структура

инфор­

мации

может

быть использована в

любой

списковой

структуре организации

файла .

 

 

 

 

 

 

З а д а н н а я система

файлов

может

характеризоваться

исключительно

иерархическими

или

 

ассоциативными

50


 

 

 

 

 

Т а б л и ц а

3-2

Имя

Тип

Относи­

Относи­

 

 

 

 

 

тельное

тельный

 

Состав

поля

 

записи

записи

 

 

обобщение

элемент

 

 

 

 

 

 

 

 

 

 

 

 

Счет

С

Поручи­

 

Номер

счета

 

 

 

 

тель

 

Наименование

счета

 

 

 

 

 

Баланс

 

 

 

 

 

 

 

 

Предельный

кредит

 

Поручитель

M

 

Счет

Номер

поручителя

 

 

 

 

 

Дата платежа

 

 

 

 

 

 

Сумма

платежа

 

Накладная

с м

Страсх

Счет

Номер

накладной

 

 

 

 

 

Дата

покупки

 

 

 

 

 

 

Объем

покупки

 

Страсх

M

 

Накладная

Номер статьи

расхода

 

 

 

 

И нвои

Объем

 

 

 

 

 

 

 

 

Отсрочка

 

 

 

Инвоп

с

Страсх

 

Номер

статьи

расхода

 

 

 

 

 

Поставщик

 

 

 

 

 

 

 

Цена

 

 

 

 

 

 

 

 

Количество

в наличии

 

 

 

 

 

Уровень повторения

 

 

 

 

 

заказа

 

 

 

свойствами или комбинацией тех

и других.

Структура

данных (т. е. форматы

записей и

у п р а в л я ю щ и е

призна­

к и ) , необходимые д л я интерпретации рассмотренных

ин­

формационных структур в р а м к а х единой системы фай­

лов,

приведены

в конце главы.

 

В

т а б л . 3-2

представлен

более детальный пример

иерархической структуры данных . П е р в ы й столбец та­

блицы

содержит имена пяти типов записей

или соглас­

но рис.

3-1 признаков подфайла . Последний

столбец со­

д е р ж и т некоторые типичные элементы тех данных, кото­

рые

могут находиться в полях соответствующих записей.

Д л я

простоты

можно предположить, что записи имеют

фиксированный

формат данных, т. е. д л я к а ж д о г о поля

внутри записи

фиксируется положение соответствующих

символов. Во втором столбце у к а з а н тип записи, харак ­ терный д л я иерархической природы подфайлов . Более высокую по иерархии запись согласно принятой термино­ логии назовем старшей или обобщающей (master), отно­ шение старшинства -— обобщением, отношение подчинен-

4* 51


мости — элементом

(Detail), a подчиненнукѵтю иерархии

запись — младшей

или

элементарной. Таким образом,

Счет можно рассматривать как старшую запись,

содер­

ж а щ у ю элементы:

номер счета, баланс и предельный

кредит. О б о б щ а ю щ а я

запись заполняется один

раз и

обычно содержит ссылки на все элементарные записи более низкого уровня иерархии. В приведенном примере, как указано в третьем столбце, запись Счет представляет

пример записи, старшей по отношению

к записям Пору ­

читель и Н а к л а д н а я . Таким образом,

подфайл Поручи­

теля может содержать серию записей, представляющих детализацию по отношению к некоторому номеру счета,

причем

к а ж д а я

из них содержит номер

Поручителя,

Д а ­

ту п л а т е ж а и

Сумму п л а т е ж а . Итак, как

указано в

чет­

вертом

столбце,

Поручитель

есть элемент

по

отношению

к Счету. Аналогично запись

Н а к л а д н а я

т а к ж е представ­

ляет собой элемент по отношению к Счету,

однако

за­

пись Н а к л а д н а я

сама

могла

бы, например,

содержать

только

номер

накладной, Д а т у

покупки

и Объем, а дру­

гой подфайл записей — специализацию

Н а к л а д н о й л Ч е т -

вертый

тип

записи,

называемый

Статья

расхода

(Страсх), определяется

как

Элемент Накладной,

содер­

ж а щ и й

номер

Страсх,

Объем

покупки,

и

вычисленную

Отсрочку п л а т е ж а . Таким образом, Н а к л а д н а я

отмечает­

ся в столбце «Тип записи» одновременно как

О б о б щ а ю ­

щий и

Элементарный . Пятый

тип записи,

Инвентарная

опись (Инвоп), обобщает только запись Страсх, так что записи типа Страсх являются общими д л я двух Старших записей, а именно Н а к л а д н а я и Инвоп. Рисунок 3-1 фак­ тически представляет собой схему иерархических связей, приведенных в табл . 3-2, причем Старшей записью выс­

шего ранга

служит

запись Счет, самого

низшего — Ин ­

воп. Записи

А и В

п р и н а д л е ж а т типу Страсх, общих

как

д л я

записи

Инвоп,

так и для записи типа

Н а к л а д н о й

(где

С и

F — записи

типа

Н а к л а д н а я ) .

 

 

Н а рис.

3-2

эти связи изображены* в

виде более

под­

робной схемы. К а ж д о м у прямоугольнику на рис. 3-2 соот­ ветствует запись файла . Старшие записи помечены за­ темненными верхними углами . М л а д ш и е — отчеркнутыми нижними углами соответствующих прямоугольников. Н а рис. 3-2 показаны одна запись типа Счет и элементарные по отношению к ней подфайлы Н а к л а д н а я и Поручитель, представленные соответственно двумя и тремя записями . Отношения подчиненности вместо разветвленного дерева,

52


иллюстрируемые рис. 3-1, представлены цепочками, кото­ рые можно пометить как цепочка С ч е т / Н а к л а д н а я и це­ почка Н а к л а д н а я / П о р у ч и т е л ь . Запись типа Н а к л а д н а я , как в и д н о ' и з д и а г р а м м ы , является одновременно обоб­ щающей и элементарной и имеет собственную подцепоч­ ку, которую можно назвать цепочкой Н а к л а д н а я / С т р а с х .

"индоп*

*18

Поручитель^

Счет/

Г.

*

цепочка

у

«

 

. #2

 

Поручитель

Счет

Счет/НакладнаяНакладная

 

 

 

 

#7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поручитель

 

 

 

Цепочка

Страсх

 

 

 

<

*3

 

 

 

 

 

 

 

 

Страсх Накладная/Страсх |^ * ^

 

 

 

 

 

 

 

 

 

 

, [

1 - Обобщающая запись

 

 

Страсх

 

I

\ -Элементарная запись

 

 

. *2 .

 

 

 

Рис. 3-2. Схема иерархической структуры

записей.

 

 

Н а

 

этой д и а г р а м м е

 

яснее видна

внутренняя

связь

между

Старшими записями Инвоп и Н а к л а д н а я и

запи­

сями типа

Инвоп.

 

 

 

 

 

 

 

Несмотря на то что на

рис. 3-1 и 3-2

и з о б р а ж е н а

одна

и та ж е

структура

информации, логика реализации до­

ступа,

а

следовательно,

и

организация файла (и, конеч­

но,

структура д а н н ы х ) ,

д о л ж н ы быть

отличными.

Вари ­

ант организации, описанной на рис. 3-1, позволяет в слу­ чае расположения О б о б щ а ю щ е й записи в оперативной памяти выбрать любую Элементарную запись заданной Обобщающей в одно обращение . Если логические записи

(т. е.

к а ж д а я О б о б щ а ю щ а я

 

или Элементарная)

разме ­

щены

произвольно, доступ

к

я-й Элементарной

записи

в цепочке С т а р ш а я / М л а д ш а я

требует

іг обращений.

Систем-a,

р а б о т а ю щ а я с

файлами,

д о л ж н а

обладать

способностью

создавать достаточное количество

иерархи-

53