книги из ГПНТБ / Левковиц, Д. Структуры информационных массивов оперативных систем
.pdfВ |
некоторых языках |
запроса высказывания |
отно |
|||||
сительно ф о р м а т а выходных данных |
перемешаны с вы |
|||||||
сказываниями д л я обработки, однако |
в |
описываемом |
||||||
прототипе в |
целях иллюстрации работы блока обработ |
|||||||
ки в |
чистом |
виде |
эти |
две |
функции |
четко |
разделены. |
|
Более |
того, |
такое |
разделение может |
оказаться |
вполне |
|||
оправданным |
с инженерно-психологической точки зре |
|||||||
ния, потому |
что при продумывании вопросов обработки |
|||||||
информации |
человек |
обычно знает, какие данные и когда |
сн хочет получить, но задумываться об уточнении фор матов не хочет. Следовательно, введение минимальных указаний с меткой, позволяющей вести дальнейшую об
работку, может |
оказаться |
более предпочтительным. |
||
Н а |
принятом |
языке вводится высказывание PRINT (п), |
||
что |
означает, |
что |
данные |
будут напечатаны согласно |
форматному высказыванию, имеющему метку п в разде ле Выходной формат . FILE3 в приведенном примере, во обще говоря, состоит из некоторого числа групп, отсор
тированных но |
равным значениям |
PROCUREMENT |
||
A C T I O N (PROCUREMENT |
A C T I O N |
5, |
PROCURE |
|
M E N T A C T I O N |
6 и т. д . ) . |
Следовательно, |
три послед |
них высказывания следует повторить д л я каждой такой группы. Н а языке формирования документов эти группы различных эквивалентных решений внутри ключа сор
тировки |
называют |
сечениями. Обработка |
высказывания |
|||||
FOR |
FILE2 т а к ж е |
демонстрирует интересную особен |
||||||
ность |
во |
взаимодействии человек — машина . Л ю д и , |
при |
|||||
выкшие |
работать |
над |
составлением |
документов |
или |
|||
использующие их, |
знают, что |
наиболее |
эффективный |
|||||
способ |
классификации |
сечений |
состоит |
в |
предваритель |
ной сортировке файла, собирающей одинаковые ключе
вые значения внутри |
сортируемой |
последовательности. |
||||
Разумеется, |
здравый |
смысл |
подсказывал |
бы |
т а к у ю ж е |
|
процедуру. |
Следовательно, |
в целях увеличения эффек |
||||
тивности обработки естественно |
поместить |
высказыва |
||||
ние FILE3='SORT Dl* |
по классификации |
сечений, хотя |
подсчет можно осуществить без. сортировки с помощью одной только функции T 2 = T A L L Y S A M E Dl*. Э т а про цедура, однако, потребовала бы либо многократных про ходов по файлу FILE2, либо встроенной сортировки д л я функции SAME .
Н а |
рис. |
4-4 изображается в о з м о ж н а я |
форма доку |
||
мента, |
полученная в |
соответствии с выходным |
форматом |
||
(рис. 4-5). |
Ответ без |
метки начинается с |
1-й |
строки за- |
80
TOTAL ACTIONS AND DOLLARS OR NEW |
|
|
||
CONTRACTS |
|
|
|
|
TOTAL ACTIONS 8 |
|
|
|
|
TOTAL DOLLARS |
§325,800 |
|
|
|
CONTRACT MODIFICATIONS AND DOLLARS BY TYPE |
||||
CONTRACT MODIFICATION |
NUMBER |
DOLLARS |
||
Additional Task |
|
18 |
3,252,000 |
|
Change of Scope |
|
3 |
70,000 |
|
Termination |
|
1 |
65,000 |
|
Renegotiation |
|
4 |
120,000 |
|
Рис. 4-4. Форма документа для запроса 2. |
|
|
||
головком T O T A L ACTIONS A N D D O L L A R S |
OF NE W |
|||
CONTRACTS. Поскольку |
функция |
TAB (пробел) |
отсут |
|
ствует, печать начинается с левой |
границы. Н а 3-й стро |
|||
ке (2-я строка пропущена) после |
TAB 10 (десяти |
про |
||
белов) печатается метка |
T O T A L |
A C T I O N , |
непосред |
ственно за меткой начинается 77, интерпретируемая как
промежуточное поле памяти, |
ранее определенное в поис |
|||
ковом разделе обработки. Это поле, |
как указано выше, |
|||
содержит подсчет |
или T A L L Y дл я F U L E 1 . Н а 4-й строке |
|||
вслед за пробелами печатается |
метка T O T A L D O L L A R S |
|||
с последующим значением S1, |
с о д е р ж а щ и м |
сумму AC |
||
T I O N A M O U N T S |
новых контрактов. |
|
|
|
Н а 7-й строке, |
начиная от |
края, |
'печатается заголо |
|
вок CONTRACT M O D I F I C A T I O N S |
A N D D O L L A R S BY |
|||
TYPE; на 9-й строке от к р а я |
заголовки — CONTRACT |
|||
M O D I F I C T A I O N , |
N U M B E R после TAB (20) |
д в а д ц а т ь |
||
пропусков и D O L L A R S после |
TAB (40). |
|
OUTPUT FORMAT
(LI)"TOTAL ACTIONS AND DOLLARS OF NEW CONTRACTS"
(L3) TAB 10 "TOTAL ACTIONS "Tl
(L4) TAB 10 "TOTAL DOLLARS $"Sl
(L7) "CONTRACT MODIFICATIONS AND DOLLARS BY T Y P E "
(L9) «CONTRACT MODIFICATION» TAB 20
«NUMBER» TAB 40, «DOLLARS»
PRINT (1)
(LIOF) DECODE Dl* TAB 20, T2, TAB 40, S2,- REPEAT
Рис. 4-5. Образец запроса 2.
6-88 |
81 |
С л е д у ю щ им форматом вывода |
является |
(1), |
|||||||
на который имеется ссылка |
в разделе Обработка, свя |
||||||||
з а н н а я € FILE3 . |
Этот |
ответ |
будет |
выдан в |
соответству |
||||
ющее |
время при обработке; |
в рассматриваемом |
приме |
||||||
ре оно выполнится для каждого сечения |
FILE3 (т. е. для |
||||||||
всех |
отличных |
между |
собой |
значений |
функций |
SAME |
|||
Dl*). |
Оператор |
начинается |
с 10-й |
строки |
и |
зани |
мает столько последовательных строк, сколько это необ
ходимо, т. е. д л я |
каждого 'повторения PRINT |
(1) в |
раз |
деле Обработка |
намечается следующая |
строка |
из |
раздела Выходной формат . Строка начинается с испол нения функции DECODE н а д D1*. Функция переводит значение в поле имени PROCUREMENT A C T I O N в его английский эквивалент, используя код в таблице перево
да. Печать начинается от левой |
границы, |
поскольку |
||||||||||||||
предшествующая функция T A B отсутствует. Таким об |
||||||||||||||||
разом, |
термины |
A D D I T I O N A L |
TASK, C H A N G E |
OF |
||||||||||||
SCOPE, T E R M I N A T I O N |
R E N E G O T I A T I O N |
принадле |
||||||||||||||
ж а т полю PROCUREMENT |
A C T I O N |
с кодом, |
более |
4, |
||||||||||||
и выбираются из файла согласно логическому |
в ы р а ж е |
|||||||||||||||
нию поиска FILE2 . На |
той |
ж е |
строке |
находится |
функ |
|||||||||||
ция TAB 20, |
после |
чего |
печатается |
значение |
из |
Т2. |
Из |
|||||||||
р а з д е л а Обработка |
поиска по запросу |
видно, |
что |
значе |
||||||||||||
ние из Т2 есть подсчет |
|
числа |
сечений |
по |
значениям |
|||||||||||
PROCUREMENT A C T I O N , т. е. кратность, |
с |
которой |
||||||||||||||
данное значение PROCUREMENT A C T I O N |
появляется |
|||||||||||||||
в выборке из FILE2 . После T A B 40 |
печатается |
значение |
||||||||||||||
из FILE2, представляющее |
сумму |
A C T I O N |
A M O U N T S |
|||||||||||||
д л я напечатанного значения PROCUREMENT A C T I O N . |
||||||||||||||||
Таким образом, на рис. 4-4 |
показано, |
что |
PROCURE |
|||||||||||||
M E N T A C T I O N |
A D D I T I O N A L |
T A S K |
встречается в |
вы |
||||||||||||
борке |
18 раз, |
а |
о б щ а я |
сумма |
в д о л л а р а х , |
|
связанная |
|||||||||
с этой |
акцией, |
равна 3 252 000; |
C H A N G E OF |
SCOPE |
||||||||||||
повторяется |
три |
раза, |
а о б щ а я |
сумма |
по |
всем |
трем |
ак |
||||||||
циям |
равна |
70 000 |
и |
т. |
д. |
Последнее |
высказывание |
|||||||||
в последовательности |
оператора PRINT |
(1) |
|
содержит |
||||||||||||
функцию REPEAT без аргумента и означает возвраще |
||||||||||||||||
ние управления в блок поиска |
раздела |
обработки. |
Та |
|||||||||||||
ким образом-, |
четыре строки |
отчета, |
начиная |
|
с |
10-й |
||||||||||
( A D D I T I O N A L |
T A S K |
183, |
252 |
000), |
печатаются в |
ре |
зультате четырех последовательных исполнений выска
зывания PRINT |
(1). |
|
|
|
Н а |
рис. 4-6 |
представлен еще |
более |
сложный пример |
языка |
запроса, |
п р и н а д л е ж а щ и й |
тому |
ж е прототипу. |
82
ACT |
5, |
PR1, |
FA2586 |
|
|
|
R E T R I E V E AND REPORT |
|
|
||||
OUTPUT D E V I C E |
|
|
|
|||
• |
LINE PRINTER |
|
|
|||
DATA CONDITIONS |
|
|
||||
|
Al |
(SEX=M) |
|
|
|
|
|
A2 |
(AGE .GT. AVERAGE |
(AGE)) |
|
||
|
A3 |
(SALARY |
.GT. MAX |
i R E N T + L I V E X P ) |
||
PROCESSING |
|
|
|
|
||
|
INTRA |
|
|
|
|
|
|
|
F I L E |
1=A1 |
AND A2 AND A3 |
|
|
|
INTER |
|
|
|
|
|
|
|
FOR |
F I L E |
1 |
|
|
|
|
F I L E 2 = NAME, ADDRESS, A2*, |
A3* |
|||
|
|
FOR |
F I L E |
2 |
|
|
|
|
F I L E 3 = SORT A3*, NAME |
|
|||
OUTPUT |
FORMAT |
|
|
|
||
|
(LIF) WHOLE RECORD |
F I L E 3 |
|
|||
|
Рис. 4-6. Образец запроса 3. |
|
||||
В отличие от |
предыдущих |
примеров в раздел |
Условие |
может быть включено наименование функции. В процес соре этого типа условие выводится из форм Имя/Отно - шение/З'Начение через Имя/Отношение/Функция имени. Это иллюстрируется элементом А2, состоящим из зна чений AGE, больших чем A V E R A G E OF AGE . Это озна
чает, |
что |
значение |
из |
А2 образуется |
в |
результате |
вычис |
|||||||
ления функции A V E R A G E . Возможность работы запро |
||||||||||||||
са такого типа в условиях реального |
|
м а с ш т а б а |
времени |
|||||||||||
поиска зависит от нескольких факторов . |
Во-первых, ес |
|||||||||||||
ли аргумент |
функции |
(в н а ш е м |
случае AGE) |
является |
||||||||||
ключом |
и |
если |
справочник |
|
организован |
правильно, |
||||||||
поиск |
в |
реальном |
масштабе |
времени, |
возможен . |
Схема |
||||||||
справочника, |
п о з в о л я ю щ а я реализовать |
такой |
тип поис |
|||||||||||
ка, называется |
деревом |
и |
будет |
рассмотрена н и ж е |
||||||||||
в гл. |
6. |
К а ж д о е |
из значений |
|
AGE |
|
можно |
поместить |
||||||
в справочник-дерево |
и |
далее |
вычислить |
среднее |
значе |
|||||||||
ние. |
Если аргументом |
функции |
служит |
классификатор, |
в справочник он не попадет и тогда возможны две аль тернативы. Одна из них состоит в том, что функциональ ные преобразования ограничиваются значениями, при н а д л е ж а щ и м и подфайлу, выбранному с помощью клю чей. Это означает, что усреднению подвергнутся только значения, с о д е р ж а щ и е с я в записях, выбранных по усло-
6* |
83 |
виям ключей |
р а з д е л а |
Условие, что, |
разумеется, отлича |
|
ется от среднего значения по всему |
файлу . В этом |
слу |
||
чае поиск в |
реальном |
масштабе времени, возможен, |
но |
при этом пользователи д о л ж н ы понимать и .учитывать
ограниченный смысл указанных функций. Если |
ж е в ка |
||||
честве второй |
альтернативы функции |
всегда |
относятся |
||
к файлу в целом, поиск |
в реальном |
масштабе времени |
|||
по |
аргументам |
классификатора невозможен, |
поскольку |
||
для |
получения |
значений |
функции необходим |
просмотр |
каждой записи файла .
Условие A3 вносит новые осложнения . Аргументом здесь служит арифметическое выражение; трудность со
стоит в вычислении с л о ж н ы х |
аргументов. Если аргумен |
||||||||
ты RENT и L I V E E X P были |
бы ключами, |
поиск в |
реаль |
||||||
ном |
масштабе |
времени |
по |
условию |
A3 |
логически |
был |
||
бы |
невозможен, |
поскольку |
|
тогда |
через |
справочник |
|||
д о л ж н ы быть вычислены |
все |
параметры |
комбинации |
значений из обоих множеств. Помимо того, что процесс
этот займет много времени, эти комбинации |
сами |
по |
||||||||||||||||||
себе |
бессмысленны. |
|
Следовательно, |
единственное |
ра |
|||||||||||||||
зумное решение состоит в том, что |
|
этот |
тип |
.условий |
||||||||||||||||
действует только |
|
на |
|
выбранном |
|
списком |
лодфайле, |
|||||||||||||
(т. е. как классификатор) . При этом опять |
ж е |
пользо |
||||||||||||||||||
ватель |
д о л ж е н |
сознавать, |
что |
условие |
|
прнложимо |
не |
|||||||||||||
к |
полному |
файлу, |
|
а |
к |
его |
подфайлу, |
|
образованному |
|||||||||||
с |
помощью |
ключей. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Внутризаписная |
логика |
поиска |
в |
приводимом |
приме |
||||||||||||||
ре |
представлена |
|
конъюнкцией |
трех |
элементов. |
М е ж з а |
||||||||||||||
писная обработка найденного ф а й л а |
(файл |
с |
|
меткой |
||||||||||||||||
FILE1) |
состоит |
в |
создании |
файла |
(с |
меткой |
F I L E 2 ) , |
|||||||||||||
представляющего |
собой |
выборку полей |
из к а ж д о й |
запи |
||||||||||||||||
си |
F I L E 1 |
(т. е. |
полей |
ключей |
или |
классификаторов) |
||||||||||||||
с |
именами |
N A M E , |
ADRESS, |
AGE, |
SALARY. |
Может |
||||||||||||||
оказаться, |
что |
при |
этом |
д а н н ы е т а к ж е |
редактируются и |
|||||||||||||||
подвергаются |
выборке. Д а л е е , |
все |
записи F I L E 2 |
сорти |
||||||||||||||||
руются |
по |
N A M E |
|
внутри |
SALARY, |
и |
отсортированный |
|||||||||||||
файл |
получает |
метку |
FILE3 . |
|
|
|
|
|
|
|
|
|
||||||||
|
Р а з д е л |
Выходной |
формат состоит из |
печати |
|
FILE3, |
||||||||||||||
начиная |
с |
1-й строки. Следует заметить, |
что |
в докумен |
||||||||||||||||
те появятся только четыре отобранных поля |
(FILE2), |
|||||||||||||||||||
отсортированных |
|
по |
N A M E в |
пределах |
SALARY. |
По |
||||||||||||||
скольку |
заголовки и пропуски в указаниях д л я |
печати |
от |
|||||||||||||||||
сутствуют, из библиотеки процессора запроса |
|
может |
||||||||||||||||||
быть |
выбран |
стандартный |
формат |
|
печати |
записи |
и |
84
MR76, PRIORITY 2, FA8721
UPDATE
DATA CONDITIONS
|
• |
Al |
(ACC NO. = 67215) |
|
|
|
|||
|
|
A2 |
(GRADE=67) |
|
|
|
|||
|
PROCESSING |
|
|
|
|
|
|||
|
|
INTRA |
|
|
|
|
|
||
|
|
|
F I L E |
1=A1 |
|
|
|
||
|
|
|
FOR |
F I L E 1 |
|
|
|
||
|
|
|
|
D E L E T E KEY GRADE |
|
|
|||
|
|
|
|
ADD KEY A2 |
|
|
|
||
|
Рис. 4-7. |
Образец запроса 4 (обновление). |
|
|
|||||
с его |
помощью |
под |
управлением |
системной |
функции |
||||
W H O L E RECORD |
отпечатана соответствующая |
стра |
|||||||
ница |
документа. |
|
|
|
|
|
|
|
|
Н а |
рис. 4-7 и |
4-8 представлены варианты формули - . |
|||||||
ровки |
задачи обновления |
файла |
на языке |
прототипа |
|||||
запроса. Первый |
из |
них, |
идентифицируемый как |
MR 76, |
не содержит требований на работу с внешними устрой
ствами. Р а з д е л |
Условие содержит |
имена полей данных |
|||||
и значения, участвующие |
в |
обновлении; AI |
— номер до |
||||
ступа единичной |
записи, |
А2 |
— имя |
ключа |
и значение, |
||
MR77, |
PRIORITY 2, FA8721 |
|
|
||||
UPDATE |
|
|
|
|
|
|
|
OUTPUT D E V I C E |
|
|
|
|
|
||
TYP |
|
|
|
|
|
|
|
DATA CONDITIONS |
|
|
|
|
|||
В (YEAR.BTW.1966, |
1969) |
|
|||||
С (TYPE=XL78) |
|
|
|
||||
D (STR COL PLAN NO. 87Ѳ5231Е) |
|
||||||
PROCESSING |
|
|
|
|
|
|
|
INTRA |
|
|
|
|
|
|
|
|
F I L E |
1=B |
AND |
С |
|
|
|
INTER |
|
|
|
|
|
|
|
|
FOR |
F I L E |
1 |
|
|
|
|
|
D E L E T E DATA E7 |
|
|||||
|
ADD |
DATA |
F7 |
D |
|
||
|
RESTORE F I L E 1 |
|
|||||
OUTPUT FORMAT |
|
|
|
|
|||
(LIF) DATA |
F I L E 1 |
|
|
||||
Рис. 4-8. Образец |
запроса |
5 |
(обновление). |
85
п р е д с т а в л я ю щ ие данные модификации. Поскольку в об
новлении |
участвует одна запись и оно |
не |
зависит |
от |
||||||
с о д е р ж а н и я других записей, процедура обработки |
огра |
|||||||||
ничивается внутризаписной обработкой. |
Пусть |
в |
файле |
|||||||
F I L E 1 с помощью |
двух |
системных |
функций |
|
д о л ж н а |
|||||
быть обновлена запись |
AI. |
С н а ч а л а |
из |
записи |
изыма |
|||||
ется ключ GRADE . Таким о б р а з о м из записи |
исключа |
|||||||||
ется, возможно, |
неизвестны |
пользователю |
|
как |
имя |
|||||
GRADE, |
та к и его значение, |
а сама запись |
исключается |
|||||||
из списка |
пар N A M E / V A L U E . З а т е м |
к записи |
присоеди |
няется ключ А2, а сама запись включается в соответст вующий список.
Н а |
рис. 4-8 |
представлен |
последний пример запроса. |
З а п р о с |
состоит |
в обновлении |
и содержит требование на |
работу |
с внешним устройством. Обновляемый файл |
содержит записи об атомобилях с соответствующими но мерами марок в качестве данных ( D A T A ) . Обновлению подлежит набор записей, определяемых как все автомо
били типа |
X L 78, произведенных |
в период |
1966— 1969 гг. |
||||||
П о д ф а й л |
F I L E 1 создается |
как результат |
спискового по |
||||||
иска при внутризаписной |
обработке. Из каждой |
|
записи |
||||||
F I L E 1 исключается |
поле |
D A T A F7. |
В |
случае, |
если |
||||
D A T A представляет |
собой |
подзапись |
фиксированного |
||||||
формата, поле F7 находится из описания формата |
запи |
||||||||
си. Д л я подзаписи |
переменного |
формата |
поле |
опреде |
|||||
ляется по |
оглавлению (table |
of |
contents). |
После |
этого |
||||
усеченное |
условие D присоединяется к полю DATA F7. |
||||||||
Это означает, что содержимое D рассматривается |
прос |
||||||||
то как алфавитно - цифровое значение |
и в таком |
виде |
|||||||
помещается непосредственно в поле F7. Наконец, вос |
|||||||||
станавливается обновленный |
|
файл |
F I L E 1 . |
Система |
управления файлом совершает декодирование номера доступа к а ж д о й записи в соответствии с его адресом в З У П Д . •
Согласно выходному высказыванию из каждой запи си F I L E 1 печатается только подзапись Д а т а . Поскольку печать выполняется после окончания обработки, то
врезультате отпечатается обновленное содержание
фа й л а F I L E 1 .
Вперспективе значение генераторов высококачест венных документов, работающих по требованию опера тивной системы в реальном масштабе времени, значи
тельно |
возрастает. Н а всех уровнях управления |
эти |
средства |
станут рассматриваться как существенная |
ос- |
86
нова для принятия решений. Причина их успешного ис
пользования |
состоит |
в |
следующем: |
|
|
1) |
поиск |
информации в гибко |
организованном фай |
||
ле по |
произвольному |
набору ключей н классифика |
|||
торов; |
|
|
|
|
|
2) |
выполнение |
разнообразной |
высокоэффективной |
меж з а п и си о й о бр а б от к и ;
3)создание текстовых и графических представлений, высококачественных и удобных для чтения. Эта способ ность, разумеется, может быть расширена за пределы области получения копий документов.
ГЛАВА ПЯТАЯ
КЛ А С С И Ф И К А Ц ИЯ МЕТОДОВ
ОР Г А Н И З А Ц И И ФАЙЛА
Вгл. 1 было дано общее представление об информаци онной системе, затем в гл. 3 рассматривались те функ циональные требования, которые предъявляются к струк
туре |
файла . |
Д а л е е |
были |
введены |
три |
определения: |
||||||
информационной |
|
структуры, |
структуры |
файла |
|
(органи |
||||||
зация) |
и |
структуры |
данных. |
К а к было |
указано, |
инфор |
||||||
мационная структура, о т р а ж а я |
относительно |
постоянные |
||||||||||
свойства |
файлов |
и |
данных, |
рассматриваемых |
проекти |
|||||||
ровщиком |
автоматизированной |
системы, |
определяется |
|||||||||
вне сферы его действия. Структуры |
ф а й л а |
и |
данных |
|||||||||
представляют |
для |
проектировщика |
|
непосредственный |
||||||||
интерес, хотя |
по |
сравнению |
со |
структурой |
файла струк |
|||||||
тура |
данных |
относительно |
проста, |
если |
рассматривать |
|||||||
в основном форматы записей и управления |
структурой |
|||||||||||
списка. Понятие |
структуры |
файла |
имеет |
д л я |
проекти |
ровщика системы первостепенное значение, потому что
именно при |
организации структуры ф а й л а он |
принима |
ет решение |
о методе разбиения файла, типе |
конструк |
ции справочника, технике обслуживания ф а й л а и спра вочника, взаимодействии операционной системы и про
цессора, запроса и т. д. Главы |
б—8 полностью посвяще |
||
ны этим |
вопросам. |
|
|
В |
гл. |
5 с целью сбора и объединения различных ме |
|
тодов |
и |
концепций, полезных |
проектировщику, прово |
дится простая классификация методов организации фай
ла. Т а к а я |
систематизация полезна т а к ж е |
при |
сравнении |
различных |
методов с экономической |
точки |
зрения. |
87
П р е ж д е всего |
необходимо |
отделить функции |
организа |
||||
ции файла |
от |
функций |
программ |
управления |
файлом, |
||
а т а к ж е обе |
эти задачи |
от |
функций |
операционной |
систе |
||
мы и функций |
обработки запроса . Н а рис. 1-3 |
уже пред |
|||||
л а г а л с я вариант такого |
от^деле-ния, |
а рис. 5-1 |
представ |
||||
ляет собой более подробную схему части рис. |
1-3, кото |
||||||
рая иллюстрирует прохождение через систему |
данных |
I Интерпретатор запроса
. |
|
|
|
fcz-r- |
|
г |
т |
. |
Система |
|
I Идентификатор (W)x |
|
Идентификаторы]файлов |
||||||||
I |
|
Действие |
V |
|
|
поиска |
|
списковой |
||
I |
|
Ислооия |
|
I |
|
|
ключей |
|
структуры |
|
I |
|
|
Поиск |
|
I |
|
|
Е |
|
|
[Выходное устройство^ |
|
|
|
|
||||||
^Выходной. (рормат_^ |
|
Декодирующий \ |
|
|||||||
|
|
|
|
|
допписковая |
справочник |
|
|
||
|
Исполнительная |
ключей |
|
|
||||||
|
статистика |
|
|
|
||||||
|
программа |
|
выборки |
|
|
|
|
|||
нультиопросного |
Список адресов |
|
|
|||||||
|
|
поиска |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
||
|
|
|
Т. |
|
|
|
|
|
|
|
|
Поиск файла |
|
|
|
|
|
Файл |
|||
Область |
j |
I |
Область "1 |
Г Область г |
|
|
||||
.управления^ |
.управления] |
— [управления, |
|
|
||||||
допросомlj |
|
[запросом2j |
^запросом п^ |
|
|
|||||
|
|
|
Рис. 5-1. Диаграмма системных блоков. |
|
|
|||||
запроса . |
Н а |
рис. 5-1, |
кроме |
того, |
представлены |
файлы, |
||||
п о д л е ж а щ и е |
организации д л я |
получения оперативного |
||||||||
доступа, |
|
и |
программы, |
непосредственно |
связанные |
|||||
с этими |
ф а й л а м и . |
|
|
|
|
|
|
|
||
Взаимодействие |
системы |
с дальними терминальными |
||||||||
устройствами, как |
это |
указано |
в гл. 1 (рис. |
1-3), проис |
||||||
ходит через |
Программу |
В-В. |
Интерпретатор |
|
Запроса |
разделяет информацию запроса |
на д в а |
потока данных. |
||
Один из них направляется в Декодирующий |
|
справочник |
||
(Directory Decoder), |
другой — к |
Исполнительной |
Про |
|
грамме поиска файла. |
Н а рис. |
5-1 блоки |
из |
сплошных |
линий представляют собой основные программные ком
поненты |
системы, символы З У П Д обозначают |
интересую |
щие нас |
файлы (в частности, систему ф а й л о в |
со списко |
вой структуры); блоки с пунктирными границами ука зывают специальные перемещения данных или буферы для накопления информации. Поток данных к Декоди
рующему |
Справочнику |
состоит |
из |
идентификатора |
|
за |
|||||||||||
проса ID, ключей поиска, условий |
|
и |
функций |
|
поиска |
||||||||||||
соответственно в |
той |
форме, |
в |
которой |
они |
фигурируют |
|||||||||||
в р а з д е л а х |
запроса Условия |
и Обработка . |
|
|
|
|
|
||||||||||
Декодирующий |
Справочник |
|
ключей |
переводит |
пары |
||||||||||||
И м я Ключа/Значение |
(или |
Значения |
в зависимости |
от |
|||||||||||||
спискового |
подхода) |
с |
естественного |
|
языка |
в адрес |
|
или |
|||||||||
серию |
адресов, |
у к а з ы в а ю щ и х |
на |
|
начальный |
адрес |
|||||||||||
списка |
в |
ф а й л е или |
серию начальных |
адресов, |
а |
в |
слу |
||||||||||
чае инвертированной |
списковой |
системы — в адрес |
|
д л я |
|||||||||||||
каждой |
|
записи |
файла, |
удовлетворяющей |
ключевому |
||||||||||||
условию. Необходимая д л я декодирования |
информация |
||||||||||||||||
находится |
|
в З У П Д |
в |
таблице, |
называемой |
Справочни |
|||||||||||
ком Ключей |
(Key |
Directory). Помимо |
передачи |
этих |
ад |
||||||||||||
ресов Декодирующий |
|
Справочник |
может выдать |
|
допоис- |
||||||||||||
ковую |
статистику, |
у к а з ы в а ю щ у ю |
оценку |
сверху |
|
д л я |
|||||||||||
параметров |
предстоящего |
поиска. К а к |
будет |
показано |
|||||||||||||
ниже, отличные |
м е ж д у |
собой |
способы |
организации |
списковой структуры порождают различную статистику
поиска. |
К а к статистика, так |
и список |
адресов |
переда |
||||||||
ются Исполнительной |
Программе. |
|
|
|
|
|
||||||
П р о г р а м м а эта представлена |
на рис. 1-3 в виде |
бло |
||||||||||
ка 4.2. В системах с запроектированным |
мультитерми- |
|||||||||||
нальным откликом в реальном масштабе, времени |
Ис |
|||||||||||
полнительная |
Программа |
может |
осуществлять |
работу |
||||||||
в р е ж и м е |
мультивопросов. |
Это |
можно |
понимать |
или |
|||||||
в смысле управления |
несколькими процессорами (муль |
|||||||||||
типроцессорный р е ж и м ) , к а ж д ы й |
из которых |
на |
рис. 5-1 |
|||||||||
идентифицируется |
как |
Область |
Управления |
|
|
Запросом |
||||||
(Query |
Execution |
Area — Q E A ) , |
или в |
смысле |
р а б о т ы |
|||||||
с моделью |
мультипроцессора, |
где к а ж д а я QEA |
представ |
|||||||||
ляет собой разбиение оперативной памяти. |
|
П р и |
этом |
|||||||||
Исполнительная |
Программа |
|
выполняет |
функции |
пере |
|||||||
ключателя |
различных |
QEA, |
реализуя д л я |
N |
|
запросов |
||||||
разделение |
во |
времени |
д л я |
процессора |
|
и |
работы |
|||||
с файлами . |
|
|
|
|
|
|
|
|
|
Про |
||
Второй поток данных идет непосредственно |
от |
|||||||||||
цессора |
Запроса |
к Исполнительной |
Программе |
|
Поиска. |
89