Файл: Левковиц, Д. Структуры информационных массивов оперативных систем.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