Cтраница 3
Необходимость буферизации может появиться в тех случаях, когда граф структурной схемы программы оказывается сетевым. Любое разветвление графа вверх, связанное с наличием нескольких выходных массивов, обрабатываемых в разных модулях, должно проверяться. Если темп обработки в этих ветвях оказывается различным, то массив, обрабатываемый с меньшим темпом, требует буферизации. Вторым источником буферизации является различие получающейся и требуемой упорядоченности промежуточного массива. Для согласования упорядоченности могут быть приняты следующие меры: изменение упорядоченности массивов, входных для задачи ( сортировка); применение схем работы с частично упорядоченными и неупорядоченными массивами; создание промежуточного массива на носителе и его сортировка. В последнем случае необходимо перестроить структурную схему задачи, выведя формирование промежуточного носителя в управляющий модуль. После окончательного построения структуры программы уточняются размеры буферов, наличие контроля упорядоченности, вид реакции на аварийные ситуации. [31]
Цель буферизации здесь состоит в том, чтобы разрешить проблему ожидания всей системой конца выполнения только одной операции передачи данных. Устройство, снабженное буфером, имеет обычно ту особенность, что оно запасает некоторый объем информации в быстродействующем запоминающем устройстве. Характеристики доступа к этой памяти имеют тот же порядок, что и характеристики основной памяти. Размеры буфера разработчик выбирает исходя из наиболее часто встречающихся размеров записей. В некоторых случаях это очень легко сделать. Например, при создании буфера для устройства чтения перфокарт с 80 - ю колонками буфер может быть рассчитан на максимальный объем информации, поступающей с такой перфокарты, с учетом нескольких дополнительных колонок информации, которые могут выдаваться самим устройством. Аналогично может быть создан буфер для печатающего устройства со 120 - ю символами в строке. [32]
Атрибуты буферизации могут быть указаны только для файлов RECORD SEQUENTIAL. Для файлов с атрибутом STREAM использование атрибутов буферизации запрещено. Запрещение обусловливается тем, что эти файлы всегда обрабатываются только с буферами и нет необходимости указывать при объявлении файла атрибут буферизации. [33]
Атрибуты буферизации могут указыватьея только для файлов RECORD SEQUENTIAL. Для файлов в атрибутом STREAM использование атрибутов буферизации запрещено. Запрещение обусловливается тем, что эти файлы обрабатываются с помощью так называемых скрытых буферов, и нет необходимости указывать при объявлении файла атрибуты буферизации. [34]
Описатели буферизации, обозначаемые ключевыми словами BUFFERED и UNBUFFERED, применимы только для файла с описателями SEQUENTIAL и RECORD и определяют, необходимо или нет пользоваться промежуточной памятью ( буфером) во время обмена данными между памятью и внешними носителями. [35]
При динамической буферизации необходимое число буферов выделяется из буферного пула автоматически ( если они имеются в пуле) до тех пор, пока не встретятся знаки, ограничивающие сообщение или его часть и означающие конец передачи. При невозможности полностью принять сообщение часть его теряется, и ОС ставит об этом в известность программу Обычным действием в такой ситуации является освобождение занятых буферов и отсылка на станцию отрицательного ответа с тем, чтобы станция заново передала сообщение. [36]
При простой буферизации в ОС ЕС используются следующие режимы передачи: режим пересылки, режим данных и режим указания. [37]
При динамической буферизации ( MACRFS) операнды BUFCB и BUFL не нужно задавать. Операнд BUFNO задавать также не обязательно, тогда буферный пул строится из двух буферов. [38]
При динамической буферизации ( в макрокоманде READ операнд адрес области задан в виде S) этот операнд не указывается. [39]
Эффективность буферизации обменов данными с обычным физическим диском может быть существенно повышена за счет использования программно-поддерживаемой виртуальной кеш-памяти. Такая кеш-память представляет собой специально выделяемый для буферизации обменов с дисками дополнительный ресурс оперативной памяти, управляемый таким образом, чтобы обеспечить эффективную дисциплину вытеснения страниц-кластеров. [40]
При простой буферизации каждый буфер представляет собой непрерывную область памяти. Система для каждого буфера строит единственный раз цепочку канала, поэтому для последующего вывода каждая запись должна физически пересылаться из буфера ввода в буфер вывода, возможно, через рабочую область. Обработка записи может производиться как в любом из буферов, так и в рабочей области. Буферная область привязана к одному файлу данных. [41]
Канал без буферизации предназначен для подключения внешних устройств, работающих с низкой скоростью передачи данных типа устройств ввода - вывода на перфолентах. Он отличается простотой конструкции. В стандартном исполнении машина может содержать десять каналов без буферных устройств. [42]
Схемы без буферизации позволяют исключить использование лишней переменной LBXX, описывающей состояние буфера, заменив ее признаком сформированное элемента массива ( L1XX), всегда используемым в модуле, и рассматривают значения параметра состояния выходного массива, связанные с буферизацией ( 8 4), как некорректные. [43]
И при буферизации на входе, и при буферизации на выходе с каждым портом связано определенное количество буферов. Если места недостаточно для хранения всех пакетов, то какие-то пакеты придется выбрасывать. Чтобы разрешить эту проблему, можно использовать общую буферизацию, при которой один буферный пул динамически распределяется по портам по мере необходимости. Однако такая схема требует более сложного управления, чтобы следить за буферами, и позволяет одному занятому соединению захватить все буферы, оставив другие соединения ни с чем. Кроме того, каждый коммутатор должен вмещать самый большой пакет и даже несколько пакетов максимального размера, а для этого потребуется ужесточить требования к памяти и снизить максимальный размер пакета. [44]
В-третьих, буферизация команд и данных является структурным приемом уменьшения времени доступа УУ ( процессора) к требуемой информации; последнее обусловлено тем, что буферная память ( БП) обычно имеет гораздо большее быстродействие, чем ОП. В МВС, содержащей несколько источников обращений к общей ОП, такое использование БП приводит к уменьшению времени доступа к требуемой информации как за счет удовлетворения части запросов УУ в собственной БП, так и за счет снижения интенсивности потока обращений от данного УУ к ОП. Это, в свою очередь, приводит к уменьшению числа конфликтов в ОП и, следовательно, к уменьшению времени ожидания з очередях для тех запросов, для которых обращение в БП не выполнялось или оказалось нерезультативным. [45]