книги из ГПНТБ / Левковиц, Д. Структуры информационных массивов оперативных систем
.pdfотк р ы ва ется новый список, начальный адрес которого помещается в список таких адресов на выходе справоч ника ключей для соответствующего ключа, точнее (см. рис. 7-4), используется адресное обозначение, указываю щее, в котором из четырех секторов начинается список. Например, список W из семи записей разбивается на список длиной в четыре и список длиной в три записи. Первый начинается в нулевом секторе, шестая запись
W |
X |
Y |
z |
Д-1.3/3 |
яаэм |
as/* |
Я17M |
я из/г |
|
яг.5/г |
|
|
|
|
Сектор О
|
|
|
Макси |
|
||
|
|
|
мальная |
|
||
|
|
|
длина |
списка |
||
|
|
|
равна |
4 |
|
|
Рис 7-4. Мультисписковая организация файла с управ |
||||||
ляемыми |
длинами списков. |
|
|
|
||
идентифицируется |
как |
А0.6; |
второй список |
начинается |
||
в 1-м секторе записью |
AI.9. |
Схематически |
на |
рис. 7-4 |
||
изображена та ж е |
последовательность, что |
и на |
рис. 7-1. |
Обрыв списка указан пунктиром; фактически семь эле
ментов |
списка W |
теперь содержатся в двух различных |
списках. |
|
|
Если |
секторы |
на д и а г р а м м е определить как индиви |
дуальные дисковые модули, а две или более списковые записи (следующие по выборке) находятся в разных модулях (т. е. разных секторах), процедуры доступа по спискам можно совместить. Совмещение автоматически управляется резидентной частью операционной системы, программой ввода-вывода, обычно выполняемой постав щиком оборудования . Если, например, запрос содержит
конъюнкцию WX, |
будет выбран Х-список, состоящий из |
шести записей, в то время как список W содержит семь |
|
записей. Список X реализован в файле в виде двух под |
|
списков, к а ж д ы й |
из которых начинается в другом мо- |
140
д у л е . Поисковая система выработает команду ввода-вы вода по отношению к обоим адресам Х-спнска, а именно АО.З и А 1.9. После этого функция операциононй системы
.состоит в том, чтобы организовать доступ к соответст вующим дисковым модулям в соответствии с наличием
модулей и приоритетом требования |
ввода-вывода. Если |
||||
в момент выработки поисковой системой команд |
ввода- |
||||
вывода ни один из модулей не был использован, |
начина |
||||
ется |
одновременная установка |
начала (head positioning) |
|||
к а к |
для АО.З, так и для А 1.9 |
с последующим считыва |
|||
нием записей. Таким образом, |
происходит |
параллельный |
|||
поиск по двум подспискам списка |
X. При |
этом |
полное |
время поиска выразится приблизительно временем че
тырехкратного |
произвольного |
доступа |
вместо |
шести |
|||
кратного. П р е д п о л о ж и м |
далее, |
что |
/Y-список просматри |
||||
вается |
как в подсписке |
АО.З, так и в А 1.9 |
и что как АО.З, |
||||
т а к и следующий за ним адрес |
по |
списку (нулевой сек |
|||||
тор) |
выбраны |
и обработаны |
до |
получения |
доступа |
||
к А 1.9. |
Пусть, |
кроме того, выработана |
команда |
ввода- |
вывода для третьей записи списка, расположенной в 1-м секторе. Операционная система автоматически помещает это требование в магазин, где оно хранится до тех пор,
пока не будет получен доступ |
к А 1.9 и не |
передана за |
пись, т. е. программирование |
структуры |
файла такого |
типа по существу не отличается от мультисписковой си стемы, за исключением хранения на выходе справочника
входных |
списковых адресов. |
К а к |
будет показано ниже, генерирование списковой |
структуры такого типа может быть запрограммировано так ж е легко, как мультисписок на рис. 7-1. Фактически, мультисписковая структура с управляемой длиной спи ска является обобщенной списковой структурой, по от ношению к которой мультисписковая система и система инвертированного списка представляются частными слу чаями, первая с управляемой длиной списка, равной бесконечности, вторая—• единице. Процедура генерирова ния этих списковых структур, описанная ниже, включает параметризацию длины списка, организованную так, что файл может быть в любое время перестроен с новым значением у п р а в л я ю щ е й длины списка и, следовательно, другой степенью инверсии. Вместо одного параметра можно ввести таблицу у п р а в л я ю щ и х длин в зависимости от ключа. Например, часто употребляемые ключи д о л ж ны иметь более короткие списки (т. е. большую степень
141
инверсии), чем редко используемые. Б о л е е того, эта та блица могла бы автоматически модифицироваться про граммой, использующей статистику употребления клю чей, а файл мог бы периодически реорганизоваться в со
ответствии |
с |
новым |
состоянием |
таблицы . |
Такая |
||||
процедура |
о б л а д а л а бы тогда способностью к адаптации. |
||||||||
В |
качестве |
второго |
примера |
|
рассмотрим |
запрос X |
|||
или У, который требует поиска как по списку X, так и по |
|||||||||
списку |
Y. |
Поисковая система сформирует команды вво |
|||||||
да - вывода |
для |
доступа |
к записям |
А0.9, |
АО.З и А 1.9. Пусть |
||||
далее |
эти |
команды выработаны |
в |
описанной |
последова |
||||
тельности |
и операционная система |
приступает |
к |
выпол |
нению требования доступа к нулевому модулю для адре са А0.9 и к 7-му модулю для А 1.9. Таким образом, поиск части Z-списка и У-списка совмещен. Когда в оператив ной памяти исследуется первая запись У-списка по адре су АО.9, система вначале сформирует команду вводавывода с целью получения доступа к следующему эле
менту списка Y, указанному адресом |
связи внутри |
запи |
|||||
си |
А0.9. |
Запись эта расположена, |
как |
указывает |
дна- |
||
грамма, в 1-м секторе. Следовательно, выдается |
команда |
||||||
для |
получения доступа |
к записи в 1-м |
модуле. Если |
к это |
|||
му времени система еще находится |
в |
процессе |
получе |
||||
ния |
доступа или чтения записи А0.9 |
из Х-спнска, то |
|||||
команда |
ввода -вывода |
д л я второго |
элемента |
У-списка |
помещается операционной системой в магазин. Нулевой модуль освобождается, и в порядке занесения операци онной системой в магазин индуцируется поиск в другой части .Y-списка, начинающегося по адресу АО.З. Следо вательно, в поиске по двум подспискам Х-списка про
изойдет |
перекрытие. |
К а к только |
первый |
элемент под |
списка X, |
с о д е р ж а щ и й |
адрес А 1.9, |
считан в |
оперативную |
память, в соответствии с адресом связи этой записи фор
мируется команда ввода-вывода для получения |
доступа |
к следующей записи, которая о к а з а л а с ь во 2-м |
секторе. |
После этого может выполняться поиск по У-списку, кото
рый был |
з а д е р ж а н |
до освобождения |
1-го модуля. К это |
|
му времени процедуры поиска п о в е е м |
трем спискам, тре |
|||
бующим |
доступа |
к модулям 0,1 |
и |
2, перекрываются. |
М а к с и м а л ь н о в о з м о ж н а я степень |
перекрывания обычно |
создается при отсутствии каких-либо программных тре бований к субисполнительной программе поиска. Запись в магазин команд ввода - вывода выполняется операцион ной системой автоматически.
142
К сожалению, допоисковая статистика такой структу ры ф а й л а остается той же, что и д л я мультисписковой организации. Это объясняется тем, что все еще необхо
дим |
поиск по полному списку (кратчайшему в конъюнк |
||||
ции) |
и, |
за |
исключением полностью |
инвертированного |
|
файла, |
при |
поиске на стадии справочника |
пересечения |
||
не |
рассматриваются . Однако время поиска при этом |
||||
всегда |
меньше, чем д л я неуправляемого |
мультисписка, |
|||
так |
как |
оно |
зависит во-первых от |
модульности З У П Д , |
а затем, от самого запроса, который проектировщик си стемы не контролирует. Лучшее, что он может сделать — это использовать описанные выше адаптивные процедуры так, чтобы чаще встречающиеся ключи имели больше стартовых точек, а более редкие ключи — меньше стар товых точек.
Оперативное формирование файлов с такой списко вой структурой выполняется без обращений к устройст
вам с произвольным доступом. Оперативное |
обновление |
|||
файлов, которое |
в некоторых |
случаях т а к ж е |
можно рас |
|
сматривать |
как |
процедуру |
формирования, |
разумеется, |
использует |
З У П Д , и требование такой процедуры накла |
дывает свои ограничения на структуру файла, которые будут рассмотрены в гл. 8.
7-4. ПОСЕКТОРНЫЕ РАЗБИЕНИЯ
Три рассмотренные выше структуры списков характери зуются одним общим свойством — отсутствием попы ток упорядочения записей в файле д л я получения более оптимальных результатов поиска. Файл можно упорядочить по номеру доступа записи, но присваивание этих номеров достаточно произвольно и мало зависит от структуры ф а й л а и механизма поиска. Более того, вве денные у п р а в л я ю щ и е параметры, подобные управляемой
длине |
списка |
в |
мультисписке, |
необязательно ведут |
||||
к улучшению свойств обработки |
файла . |
|
|
|||||
Д р у г о е решение |
состоит |
в |
определении |
логических |
||||
границ секторов |
З У П Д , в |
которые записи |
помещаются |
|||||
согласно некоторой |
стратегии размещения . Д а ж е если за |
|||||||
писи |
з а г р у ж а ю т с я |
произвольно, |
секторы |
представляют |
||||
разбиение, которое |
может быть |
использовано вместе |
или |
|||||
в соединении с другими у п р а в л я ю щ и м и списковыми |
па |
|||||||
раметрами . Н и ж е исследуется |
тип разбиения файла, |
на |
||||||
зываемый на рис. |
5-2 посекторными разбиениями . |
|
143
Рис. 7-5 иллюстрирует |
посекторное |
разбиение, со |
|
д е р ж а щ е е мультисписковую структуру файла . С |
другой |
||
стороны, его можно рассматривать к а к |
модификацию |
||
мультисписковой техники, |
при которой |
список |
вместо |
ограничения по длине локализован внутри сектора. От
сюда |
и название |
метода секторного |
мультисписка. Тот |
||||||||
ж е подход применим |
к методу |
инвертированного |
списка. |
||||||||
|
|
|
W |
|
:< |
|
У |
|
2 |
|
|
|
|
n |
as/3 |
Й |
аз/г |
Я |
0.3/! |
Я 1.7/2 |
|
|
|
|
|
яі.2/?. |
/л; ѵ з |
Й1Л/2 |
Я2.2/д |
|
|
||||
|
|
R2.SU |
я |
2.0/1 |
Я2.1/1 |
ЯЗ.7/1 |
|
|
|||
|
|
Л 35/7 |
|
|
|
|
|
|
|
|
|
|
СекторО |
\ |
|
\яо.з |
|
\ |
|
J |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Сектор ! |
|
|
|
|
|
|
nu |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Сектор2 |
|
|
|
|
|
|
Д2.3\Яг-° |
|
||
|
|
|
|
|
-? |
|
|
|
|
\ |
|
|
|
|
|
|
|
|
|
- |
- V - - |
|
|
|
Сектор3 |
|
|
|
|
|
|
|
& |
|
|
|
|
|
іязл |
|
|
|
|
A3.5 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 7-5. |
Организация файла с секторным |
|
||||||||
|
|
|
|
мультисписком. |
|
|
|
|
|||
П ри этом в начале сектора появился бы |
инвертирован |
||||||||||
ный |
список для |
данного |
сектора. |
|
|
|
|
||||
Поскольку, |
как показано |
на рис. |
7-4, |
номер |
сектора |
представляет собой часть адреса записи, инвертирован ные списки стартовых точек списков на выходе справоч ника одновременно являются и списком секторов для поиска. Этот инвертированный список секторов может быть успешно использован д л я уменьшения числа обра
щений к |
З У П Д |
и |
как |
следствие д л я улучшения |
допо- |
|
исковой |
статистики. |
XZ. Просмотр |
|
|
||
Рассмотрим |
запрос |
выходного |
уровня |
|||
справочника показывает, что список X состоит из под |
||||||
списков, |
полностью |
расположенных |
внутри секторов О, |
1 и 2 с длинами списков соответственно 2, 3 и 1. Анало
гично, список Z имеет подсписки, |
полностью л е ж а щ и е |
|
внутри секторов 1, 2 и 3 |
с длинами |
списков 2, 3, 1. Сле |
довательно, конъюнкция |
XZ может |
быть расположена |
144
только в секторах, содержащихся |
в пересечении секторов |
||||||
начальных адресных списков X и Z. В нашем |
примере |
||||||
список X содержит начальный адрес списка в нулевом" |
|||||||
секторе. Список |
Z в этом секторе не |
имеет |
подсписка. |
||||
Следовательно, |
пересечение |
XZ |
по |
нулевом |
|
сектору |
|
пусто, поскольку |
список Z в нулевом секторе отсутствует. |
||||||
Аналогичные рассуждения применимы к 3-му |
|
сектору. |
|||||
Таким образом, |
поиск по конъюнкции |
списков |
XZ огра |
||||
ничится поиском |
подсписков |
Х\\ |
(или) |
Z, |
содержащихся |
||
в секторах 1 и 2. |
Более того, в 1-м секторе предпочтение |
||||||
будет отдано списку Z (длина |
его равна |
двум |
против |
||||
трех для списка X в 1-м секторе) . Во 2-м секторе пред |
|||||||
почтение отдается списку Л', имеющему длину, |
равную |
единице. Общее число списков для поиска по конъюнк
ции XZ становится равным трем |
вместо |
шести, |
как это |
||||
было бы при поиске кратчайшего |
из двух списков X, Z |
||||||
при |
мультисписковой |
организации |
файла . |
|
|
|
|
|
Если, кроме того, секторы приписаны к отдельным |
||||||
дисковым |
модулям, исполнительная системная |
програм |
|||||
ма |
поиска |
установит |
схему просмотра |
списка |
внутри |
||
каждого индивидуального модуля, |
отнеся |
к а ж д ы й |
поиск |
по подсписку к соответствующему модулю. Заметим, что таким образом мы могли бы получить схему управляе мого совмещения. В случае дисков с подвижной головкой проектировщик может принять другую схему распре
деления секторов, например, |
отвести |
сектору цилиндр |
||
диска таким образом, что |
если |
блок головок |
установлен |
|
иа данный цилиндр, поиск |
по некоторому фиксированно |
|||
му подсписку производится без дальнейших |
передвиже |
|||
ний блока головок. |
|
|
|
|
Соответствие секторов |
может быть |
использовано для |
упрощения мультипрограммной стратегии. Пусть в теку щей обработке мультитерминалы-юй системы, работаю щей в реальном масштабе времени, находятся три запро са и пусть соответствующие списки доступа к секторам
для |
к а ж д о г о запроса |
(как это определено |
выше |
процеду |
||||||
рой |
пересечения) |
изображены |
так, |
|
как |
показано |
||||
в табл . 7-1. Согласно таблице первый |
запрос (Qi) требу |
|||||||||
ет поиска подсписков в секторах |
0, |
1, |
4 |
и 9, второй за |
||||||
прос |
( Q 2 ) — в секторах |
1, 8, |
9 и |
15; |
третий |
запрос (Q3) |
||||
требует поиска в секторах 0, 2 и 4. Вначале |
исполнитель |
|||||||||
ная |
программа производит |
слияние |
индивидуальных |
|||||||
списков доступа к секторам и |
образует |
объединенный |
||||||||
список, приведенный |
в |
табл . |
7-2. |
Теперь |
видно, |
что пер- |
10—88 |
145 |
|
Т а б л и ц а 7-1 |
|
|
Т а б л и ц а 7-2 |
||||
Список |
запрос/сектор |
Объединенный список |
||||||
доступных |
секторов |
|||||||
|
|
|
|
|
||||
|
Список |
доступных |
Объединенный |
Номер запроса |
||||
|
список |
доступных |
||||||
|
секторов |
|||||||
|
секторов |
|
||||||
|
|
|
|
|
|
|||
Q |
О, |
1, |
4, |
9 |
|
О |
|
|
|
1, |
8, |
9, |
15 |
|
2 |
|
|
|
|
4 |
|
|||||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
8 |
|
|
|
О, |
2, |
4 |
|
9 |
|
||
|
|
|
|
|
|
15 |
|
вый и третий запросы требуют обслуживания в нулевом секторе, а первый и второй запросы — в секторе 1 и т. д. Таким образом, исполнительная программа может сов мещать поиски списков. Преимуществом такой системы, кроме того, является снижение среднего времени досту
па, |
поскольку |
поиск |
по |
списку |
идет |
внутри |
цилиндра. |
|||||
Д л я |
типичной |
дисковой |
системы |
среднее время |
доступа |
|||||||
составляет |
около |
50 млсек |
на чтение дорожки плюс время |
|||||||||
ожидания . |
Если |
д о р о ж к а |
содержит |
более одной |
записи |
|||||||
из |
списка, |
среднее |
время |
доступа |
на |
запись |
составит |
|||||
частное от деления 50 млсек на число записей |
списка на |
|||||||||||
дорожке . Б о л е е того, приведенная |
схема несколько лока |
лизует движение головки, уменьшая среднее время до
ступа. Система |
может быть построена так, что запросы |
с более высоким |
приоритетом н а р у ш а ю т эту схему и вы |
з ы в а ю т скачок головки на те цилиндры, которые должны быть обслужены по требованию с высоким приоритетом. Если в ходе движения головки системе передан новый ' запрос, исполнительная программа немедленно включает новый список доступных секторов в текущий, так что новый запрос может быть немедленно включен в обра ботку. Когда блок головок достигнет цилиндра с наи большим номером, его движение идет в обратном на правлении. Н а обратном пути по списку обслуживаются требования тех запросов, которые возникли при его пря мом движении .
Эта методика может быть использована д л я увели чения эффективного размера пакета при поисках на магнитной ленте. Пусть секторы определены как зоны магнитной ленты, а объединенный список доступных сек-
146
торов указывает, какие запросы д о л ж н ы быть обработа ны при прохождении процессором указанной зоны. Более того, согласно этой схеме на другой ленте можно упо
рядочить сами запросы. Например, в табл . 7-2 |
опреде |
|||
ляется лента запросов в форме: |
(нулевой |
сектор), |
Q b <3з*' |
|
(сектор 1) Qi, Q2 ; (сектор 2) Q3 ; |
(сектор |
4) Q b |
Qa |
и т. д., |
где к а ж д ы й запрос полностью |
повторяется |
на |
ленте. |
Тогда по мере продвижения через процессор зон магнитнон ленты двигается лента запросов, и поэтому в памяти для обработки всегда находятся только запросы, требую щие обработки. Если, кроме того, файл имеет списковую
структуру, |
то |
к а ж д а я запись, проходящая |
через |
процес |
||||
сор, |
рассматривается |
релевантным |
запросом |
только |
||||
в том |
случае, |
если она |
включена |
в |
соответствующий |
|||
список. |
|
|
|
|
|
|
|
|
Помимо |
списков поисковая исполнительная програм |
|||||||
ма д о л ж н а |
вести последовательный |
список |
«следующих |
адресов» д л я формирования указателей от записи к за просу. Несмотря на это, преимущества экономии в поис ке могут оказаться значительными. Ограничения для си стем пакетной обработки определяются числом запросов,
которые могут быть размещены в оперативной |
памяти, |
и временем обработки одной записи по всем |
запросам . |
С увеличением числа запросов это время возрастает; при
этом |
система |
переходит |
от ограничений |
на операцию |
с лентой к ограничению на процессор. При |
использова |
|||
нии |
стратегии |
секторного |
мультисписка в |
оперативной |
памяти остаются только запросы, которые требуют об служивания в данном секторе. М а к с и м а л ь н о е число за просов д л я некоторого сектора характеризует эффектив ный размер пакета, причем действительный размер теку щего пакета, вообще говоря, несколько больше. Таким образом, действительный размер пакета больше того, ко торый может разместиться в оперативной памяти, и уве личивается с уменьшением размера сектора. Более су
щественно, что к а ж д а я запись при прохождении |
через |
процессор обрабатывается только одним запросом |
(иног |
да более чем одним) при минимальных з а т р а т а х |
на со |
ставление списка последовательности «следующих адре сов». В результате становится возможным движение лен ты без остановок, происходящих при прохождении чрез
мерно больших пакетов. К р о м е |
того, |
обработка |
текущей |
записи может быть совмещена |
в исполнительной схеме |
||
с чтением «следующей» записи, |
что |
улучшает |
свойства ' |
10* |
147 |
.системы, характеризуемые как ограничение на работу с магнитной лентой.
На рис. 7-6 представлен другой метод, который пол ностью исключит списковую структуру. Этот метод назы
вается |
секторыо-последователыюй |
|
организацией |
файла. |
||||||||||||
Н а з в а н и е |
это объясняется тем, что |
хотя файл |
организо- |
|||||||||||||
|
|
|
|
w |
|
X |
|
|
Y |
|
|
г |
|
|
|
|
|
|
|
|
0 |
—0 |
|
|
0 |
|
|
; |
|
|
|
|
|
|
|
|
|
1 |
— 1 |
|
|
1 |
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Z |
|
|
|
|
|
|
|
|
|
г |
г-2 |
|
|
г |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
3 |
|
|
|
|
||||
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
• |
|
•• |
|
|
|
м |
• |
|
|
|
|
||
|
|
|
|
• |
|
• |
|
|
|
|
|
|||||
|
Сектор 0 |
• |
|
|
|
|
|
|
|
|||||||
|
|
|
|
• |
• |
• |
|
• |
• |
• |
• |
• |
|
|
|
|
|
|
|
|
• |
|
|
|
• |
|
|
|
|||||
|
Сектор 1 |
• |
|
|
|
• |
|
• |
|
•• |
• |
|
|
|
||
|
|
|
|
• |
|
|
|
|
• |
• |
|
|
• |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Сектор |
2 |
|
|
• |
|
• |
• |
|
|
|
• |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Сектор |
3 |
|
|
• |
|
|
|
|
|
|
• |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
Put |
Лб. Организация файла |
с |
последовательны |
|
|
||||||||||
|
|
|
|
|
ми |
секторами. |
|
|
|
|
|
|
||||
ван в секторы подобно изображенным на рис. |
7-5, |
поиск |
||||||||||||||
самих |
секторов |
происходит |
|
последовательно, |
т. |
е. |
так, |
|||||||||
как если |
бы |
они |
были |
полосами |
магнитной |
ленты. Здесь |
||||||||||
т а к ж е |
для |
получения |
грубого |
|
разбиения |
файла |
по |
|||||||||
запросу |
может |
быть |
применена |
стратегия |
пересечения |
|||||||||||
секторов, |
после |
чего обрабатывается к а ж д а я |
запись |
до |
ступного сектора. Если в конце сектора может быть ре зервирована некоторая память, этот подход обладает преимуществами из-за простоты программирования и об
новления. Этот способ имеет |
явные |
преимущества при |
использовании З У П Д , для которых |
велики к а к среднее |
|
время произвольного доступа, |
так и |
скорость групповой |
передачи данных. |
|
|
Сравнивая результаты секторного подхода при нали чии структуры внутрисекторного списка и без него, ви дим, что при уплате высокой цены (в терминах времени М8 '
доступа) за установку механизма для поиска сектора экономия во времени (в процентном отношении) за счет
времени поиска в списке внутри |
сектора может оказать |
ся незначительной по сравнению |
с временем последова |
тельной переписи всего сектора. Например, пусть: 1) вре мя доступа к сектору 580 мсек, 2) скорость последова тельной переписи 250 кбайт/сек, 3) среднее время про извольного доступа на одну запись при условии, что
механизм |
З У П Д |
установлен |
на |
требуемом секторе, |
со |
||
ставляет |
50 |
мсек, |
4) размер |
сектора |
125 К* байтов |
и |
|
5) к а ж д ы е |
пять из 100 записей |
сектора |
находятся в по |
исковом списке. Метод последовательных секторов по
требует 1 сек дл я получения доступа |
и переписи |
сектора, |
||||||||
в то |
время |
как способ секторного |
мультисписка потре |
|||||||
бует 3 / 4 сек. |
Н о если длину поискового |
списка |
увеличить |
|||||||
до 10, то время |
поиска приблизится |
к 1 сек и |
достигнет |
|||||||
1 сек |
только в случае, если длина списка с о в п а д а е т е пол |
|||||||||
ной длиной-сектора в 100 записей. Компенсация |
происхо |
|||||||||
дит |
за |
счет |
уменьшения |
среднего |
времени |
доступа |
||||
(с 50 млсек) |
по мере появления |
на той ж е д о р о ж к е дру |
||||||||
гих записей. К сожалению |
З У П Д |
на магнитных |
|
полосках |
||||||
и картах типа |
I B M Data |
Cell |
имеют |
не только |
большее |
|||||
время |
доступа |
(несколько |
сотен |
миллисекунд), |
но и от |
носительно низкую скорость групповой переписи данных (порядка 50—70 кбайт/сек). Однако можно надеяться, что со временем скорости групповой передачи для устройств такого типа возрастут.
7-5. АВТОМАТИЧЕСКАЯ КЛАССИФИКАЦИЯ |
|
||
Очевидно, что чем меньше число |
секторов, в которых |
||
представлен |
ключ, тем эффективней процесс |
поиска |
|
в файле с секторной организацией, |
т. е. чем выше |
плот |
|
ность списков |
внутри сектора, тем |
меньше число |
секто |
ров, фигурирующих в списке. В идеальном случае к а ж дый список размещается внутри одного сектора. Распре деление записей по секторам, имеющее целью получить минимальное число занятых секторов на один ключ, можно было бы осуществить с помощью алгоритмов ин формационного поиска, формирующих совокупность или группы ключевых записей.
Схема алгоритма д о л ж н а состоять в размещении вну три сектора записей с максимальным количеством общих
* /(=1024 байта (Прим. пер.)
149