Cтраница 2
Проблема сортировки в случае листания двойственна. С одной стороны, необходимо определить, как будут себя вести известные алгоритмы сортировки, когда у них меньше памяти, чем им необходимо для кода и данных. [16]
Данная программа представляет механизм листания меню в программах на Лиспе, что позволяет согласованно работать с загруженными файлами меню, высвечивая соответствующие страницы. [17]
Скрытая буферная память, подобно механизму листания, основана на концепции локальности в программе. Размер скрычий буферной памяти составляет несколько процентов от размера всей оперативной памяти - порядка 1 - 5 процентов. Для того, чтобы это средство было эффективным, естественно, необходимо, чтобы более 5 процентов ссылок в память находило в нем свои данные. Для большинства программ минимальным требованием следует считать более 75 или 80 процентов всех обращений к памяти. [18]
![]() |
Сортировка обменом, остальные просмотры. [19] |
На рис. 20.4 указаны количества сравнений и листаний для остальных просмотров сортировки обменом. При пристальном изучении поведения этой сортировки можно обнаружить, что этот метод проявляет как хорошие, так и плохие характеристики для листания. Плохая характеристика заключается в том, что локальность программы резко смещается в конце каждого просмотра. Физическая память в конце просмотра 1 содержит листы А и В, первым листом, к которому происходит обращение на просмотре 2, является лист D, за которым следует обращение к листу С. [20]
Что же фактически означают 14 000 операций листания. Для 14 000 сравнений последовательность загрузка-сравнение-ветвление выполняется 14 000 раз. С сопутствующим управлением, подготовкой ключей и другими вспомогательными командами, операция сравнения непосредственно включает около 15 команд. Значение 14 000 операций листания совершенно иное. Пока происходит пересылка листов, происходит сотни обращений за командами, выполняющими листание, и тратится время центрального процессора. Листание будет включать по крайней мере одно чтение, которое сопровождается: поиском среднего размера, задержку вращения и время передачи данных. [21]
Основное соглашение при слиянии в среде с механизмом листания состоит в установлении равновесия между обычным вводом-выводом и вводом-выводом при листании. Хороший механизм требует, чтобы пользователь или программист знал, какое пространство памяти он хотел бы иметь, поскольку вычисление степени слияния, размер блока и схема буферизации - все это зависит от возможности вычислять скорость листания в сравнении с ухудшением ввода-вывода при разных размерах пространства памяти. [22]
Факторы, связанные с задержками вследствие мультипрограммирования и вследствие листания, переплетаются. Если при обмене сортировка теряет в конце просмотра и управление, и листы, то нет никакого смысла менять направленность, так как листание будет возникать всякий раз, когда сортировка получит управление на новом просмотре. Если сортировка теряет управление в течение просмотров, то может быть невыгодно выделять дополнительную память. [23]
Используется в тех случаях, когда необходимо во время листания сохранить заголовки строк или столбцов. [24]
Если допускается три резидентных листа, а не два, листание сокращается, потому что упорядочиваемый список после размещения пятого элемента сжимается до таких размеров, что может поместиться в оперативной памяти. В данном примере предоставление дополнительного пространства менее эффективно, чем изменения направленности. Важно заметить, что сокращение памяти ощущается немедленно. Задержки листания изменяются от 0 до 23 при потере одного листа физической памяти и от 23 до 34 при потере двух. Работать лишь при небольшом сокращении требуемой оперативной памяти столь же плохо, как и при более существенном ее уменьшении. И наоборот, польза от добавления дополнительных листов невелика. Каждый метод проявляет разную чувствительность, но на самом деле сортировка может работать а 95 % требуемой памяти, не гарантируя хорошей производительности. [25]
![]() |
Распределение памяти листами. [26] |
Часть адреса, ссылающаяся на лист, передается на вход устройства листания. [27]
Основные функции опций этой команды состоят в следующем: Horizontal - предотвращает листание текущей строки и строк выше нее; Vertical - предотвращает листание текущего столбца и столбцов левее его; Both - предотвращает вертикальное листание строк и горизонтальное листание столбцов; Clear - снимает ранее сделанные титульные назначения. [28]
Для усилителей шипов УОП1 я УПШ приведенный к входу дрейф нуля при изменении напряжения листания от 0 85 Ua до 1 05 Uи, изменении температуры окружающей среды от 10 до 35 С, дрейфе транзисторов с течением времени ие Превышает 100 мв. [29]
В условиях ограниченной памяти блоки-дублеры будут, как правило, изыматься из памяти при листании, а объектом листания могут быть концы очень больших основных блоков. Механизмы листания могут не дать схеме буферизации реализовать свое назначение. Если среднее время доступа к блоку на устройстве слияния ( диске) существенно больше, чем на устройстве листания ( например, барабане), то все равно, возможно, стоит использовать удвоенную буферизацию и разрешить листание. Повторный вызов блока с устройства листания может занимать меньше времени, чем ожидание считывания этого блока с медленного устройства. По отношению к блокам память с листанием действует как некоторое устройство, сбрасывающее ненужные элементы конструкции. Когда устройство листания и устройство слияния одинаковы, то использование буферизации с дублированием становится несколько подозрительным. Такая буферизация требует дополнительного пространства памяти и не гарантирует присутствия записи в памяти, когда она нужна центральному процессору. Однако, если буферизация с дублированием становится сомнительной, вся концепция равновесия между центральным процессором и вводом-выводом должна быть подвергнута кропотливому повторному анализу. Эта проблема сохранения совмещения ввода-вывода с работой центрального процессора встает особенно остро в системах с одноуровневой памятью, где весь ввод-вывод загнан в пространство виртуальной памяти и распределение данных очевидно для сортировки. [30]