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

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

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

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

Добавлен: 19.10.2024

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

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

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

рисунке справочник д л я наглядности изображен в виде дерева. При декодировании ключ X дает адрес А2, но которому содержится полное значение ключа. Если де­ кодер неоднозначного типа, например такой, как .«фик­

сированное

дерево» или рандомизированный, и если

ключ X по

адресу А2 не соответствует ключу

X запроса,

то в дополнение к полному значению ключа,

нотребовал-

Справочник

(Выход

справочника)

Инверти­

рованные )• списки

переменной

длины

Рис. 7-9. Дерево справочника и инвертированные списки.

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

чае у к а з ы в а л а бы на

другой

список

адресов, т а к ж е со­

д е р ж а щ и й в качестве

первого

слова

полный ключ. Если

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

роткому списку. В конце списка

адресов

д о л ж

н а быть

оставлена резервная зона таким

образом,

чтобы

при до-

155

бавлении записей

к данному списку можно было без пе­

реполнения вставить

в последовательность соответствую­

щий адрес. Если

резервное

поле исчерпано,

как

показа­

но на рис. 7-9

д л я

ключа Y, то последний элемент

в запи­

си содержит

адрес

связи

к другой записи

переменной

длины, где список продолжается . Когда файл восстанав­

ливается,

ключевые списки

снова собираются вместе

в единые

записи переменной

длины.

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

ше. Списки А , В и

С на рис. 7-6 соответствуют инверти­

рованным

спискам

на рис. 7-9.

 

7-7. ВРЕМЯ ВЫБОРКИ ИЗ ФАЙЛА

Время обработки

запроса в файле есть функция спо­

соба его

организации, характеристик З У П Д и количе­

ства записей, выбираемых из файла . Поэтому для под­

счета общего времени требуется определить

некоторые

параметры,

связанные

с файлом,

запросом и З У П Д . Не­

которые

из

этих

параметров,

например,

 

параметры

З У П Д , могут быть

взяты из характеристик

машины. Па­

раметры

организаций

файла определяются

статистикой

его

генерирования. Д л я других

параметров

можно ука­

зать

лишь

первое

приближение,

которое

по

желанию

можно уточнять с помощью операционной системы, на­ пример автомонитора, предложенного в гл. 1.

В табл . 7-3 содержится список этих параметров и их

определение. П а р а м е т р ы , относящиеся к файлу,

следую­

щие: общее число различных ключей (т. е. пары

 

имя/зна­

чение), обозначаемое через V, количество записей в си­

стеме Nr, среднее

количество ключей на запись Ni,; сред­

няя длина списка тогда приближенно вычисляется

как

N^Nh/V;

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

 

Cf, сред­

нее количество записей на сектор в посекторно

расчле­

ненных

системах

і ? 0 и среднее

количество

секторов

на

ключ Ck-

 

 

 

 

 

 

 

 

Все

п а р а м е т р ы

запроса

относятся к запросу,

состоя­

щему из одночлена. Если

запрос состоит из суммы про­

изведений, время

д о л ж н о

быть

умножено на количество

слагаемых . Среднее число термов (отрицаемых

и неотри-

цаемых

ключей)

в

слагаемом

запроса — Ni,

а

количест­

во неотрицаемых

термов — Np.

Д л и н а самого

короткого

списка

ключей,

из

числа

составляющих

запрос, —

L s ,

15&


 

 

Т а б л и ц а 7-3

 

Параметры обработки

файла

Об ізначение

Определение

Тип параметра

V

Nr Nu

L

Cf

Rc

c f c

Nt

Np

L s

P a

A

Tr

Rt

R

Количество

различимых ключеіі Относятся к файлу

в словаре

записей

в системе

Количество

Количество

ключей

на запись

(среднее)

 

 

Средняя длина списка

(NrNh)/V

Количество символов на запись

влогическом файле (среднее) Количество записей на сектор

(среднее)

Количество секторов на ключ

Количество

термов

в

слагае­

Относятся

к

за­

мом запросе

(среднее)

 

 

просу

 

 

Количество

неотрицаемых тер­

 

 

 

мов в слагаемом

запроса

(сред­

 

 

 

нее)

самого

короткого списка

 

 

 

Длина

 

 

 

в запросе

(средняя)

 

 

 

 

 

 

Отношение

числа запросов к L s

 

 

 

(среднее)

 

 

 

 

 

 

 

 

 

 

Отношение

числа

запрашивае­

 

 

 

мых секторов

к С\

(среднее)

 

 

 

Количество

адресов

записей

Относятся

к

уст­

файла на физическую

запись

ройству

 

 

Время

произвольного

обраще­

 

 

 

ния ЗУПД

(среднее)

 

 

 

 

 

 

Скорость

передачи

данных из

 

 

 

ЗУПД (байт,

сек)

 

 

(сек)

 

 

 

Время оборота

ЗУПД

 

 

 

среднеее отношение числа к L s — р, а среднее отношение числа секторов, где расположен запрос, к среднему чис­ лу секторов на ключ (Си)—а.

З У П Д характеризуется следующими параметрами : количество адресов, которое можно запоминать в фи­

зической

записи ЗУПД

А. Среднее

время

произвольного

доступа,

исключая

задержк и

и

время

считывания

с ЗУПД

ТТ, скорость

передачи

данных

из ЗУПД

RT

(байт/сек)

и врем я оборота З У П Д

R.

 

 

Времена поиска дл я структур мультисписковых фай­ лов, инвертированных файлов и файлов с последователь­ ным расположением секторов представлены в табл . 7-4.

157


 

 

 

Время поиска

списка

Т а б л и ц а 7-4

 

 

 

 

 

 

Процедуры

Мультисписок

Инвертированный

Секторно-последова-

список

 

тельный

список

 

 

 

 

 

Декодирова­

 

 

NrTn

 

 

 

 

ние по спра­

 

 

 

 

 

 

 

 

вочнику

 

 

 

 

 

 

 

 

Пересечение

 

г і

1

 

 

 

 

 

 

 

 

 

 

 

списка

(сек­

 

 

 

 

 

 

 

 

тора)

 

 

XNt(Tr+

 

1,5/?)

XNV(T,.

+ \,SR)

Поиск

и пе­

L,(Tr+

1.5Я)

PL5(Tr

+

\,5R)

 

 

 

ренос

записи

 

 

 

 

 

 

 

 

списка

(сек­

 

 

 

 

 

 

 

 

тора)

 

 

 

 

 

 

 

 

Д е й с т в и т е л ь н ое время

доступа

к записи

складыва­

ется

из времени

установки подвижной

головки

З У П Д

(Г,.),

времени ожидания

(R/2)

и

времени

считывания

дорожки (R) в предположении, что физическая запись занимает одну дорожку . Если физическая запись любой другой длины, то величина R интерпретируется как вре­ мя считывания записи и соответственно изменяется. Дл я З У П Д с фиксированной головкой 7Ѵ=0. Мультисписковый файл декодирует, например, с помощью /г-уровнево- го дерева все неотрицаемые ключи в терме запроса . Ин­ вертированный список декодирует все термы, а при структуре последовательных секторов декодируются только неотрицаемые термы. В мультисписковых систе­ мах пересечение списков до начала поиска файла не рас-

матривается .

В

инвертированных

списковых

системах

нужно

просмотреть

LI А физических записей

(см. рис. 7-6)

для

к а ж д о г о

из Nt

ключей. Аналогично при

системе

по­

следовательных

секторов д о л ж н ы

просматриваться

на

пересечение

CiJA

 

физических

записей

для

к а ж д о г о

из

Np

неотрицаемых

ключей. МуЛьтипоисковая система дол­

ж н а

просматривать к а ж д у ю

запись

самого

короткого

списка

Ls в файле, в то время

как инвертированная спи­

сковая система просматривает только те записи pLs, ко­ торые удовлетворяют ключевой логике. Секторно-после- довательная система просматривает все пересекающиеся секторы аСі„ где сектор содержит RsCf байтов.

158


Т а к им образом, время поиска файла (исключая спра­ вочное декодирование) равно:

TML=Ls(Tr+\,5R);

 

 

(7-1)

TIL=(Nt[L/A}

+ pLs)

(7Ѵ+1.5Я);

(7-2)

Tes = Np [Си/А]

(Tr

+ 1,5R) +

aCk

(TT + M i - ) .

(7-3)

П о д с т а в л я я (7-1)

в

(7-2), получаем

соотношение

вре­

мени поиска между мультисписковыми и инвертирован­

ными

системами

 

 

 

 

 

 

 

 

 

 

 

 

 

(7-4)

Поэтому поиск в

инвертированном

списке быстрее,

чем в

мультисписке,

если

 

 

 

 

 

 

 

/ 1

Nt

Г 1

1

 

(7-5)

 

Р < 1

- 7 7

Т

 

 

Это

неравенство

показывает,

что

чем

больше число

списков, подвергающихся пересечению Nu тем больше

физических записей приходится

на средний список

 

(LIA),

и чем меньше самый короткий

список

(Ls),

тем

вероят­

ней, что время выборки дл я

мультисписка

окажется

меньше, чем это время для инвертированного

 

списка.

Обычно неравенство (7-5) выполняется,

т а к как

у ж е

при

/Ѵ/>2

р очень мало. Например,

если Nt

= 3,

Л ='500,

L =

= 300

и L ä = 2 0 , то правая

часть

неравенства (7-5) равна

0,85.

Иначе говоря, чтобы

поиск

пересечений

инвертиро­

ванных списков заменить на просмотр самого короткого списка, плотность совпадений для последнего при конъ­ юнкции трех термов д о л ж н а превысить 85%. Можн о ожидать, что для трех термо-р будет в диапазоне 0,1— 0,25.

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

рых системах могут быть использованы два

(или более)

типов

З У П Д . Например , дл я хранения

справочника

мо­

жет использоваться дисковая память, а ЗУ

на

магнит­

ных

полосках — для

хранения файлов,

а

возможно

и

инвертированных списков. В таких случаях

параметры

З У П Д , используемые

в формулах, д о л ж н ы быть

соответ­

ственно изменены.

 

 

 

 

 

159