Cтраница 1
Обменная буферизация применяется, когда производится обработка только двух файлов, причем размеры записей и блоков в этих файлах должны быть одинаковыми и иметь фиксированную длину. [1]
При обменной буферизации буфер может состоять из нескольких несмежных участков памяти - сегментов. Тогда для каждого из сегментов система формирует цепочку команд. Если в основной памяти выделить рабочую область величиной в сегмент буфера, то можно исключить физические пересылки записей внутри основной памяти между буферами и рабочей областью, так как имеется возможность взаимно подменять рабочую область и сегмент буфера. Рабочая область является как бы дополнительным сегментом буфера. Положительной стороной обменной буферизации является экономия времени за счет уменьшения числа пересылок; кроме того, одной буферной областью может пользоваться несколько файлов данных. [2]
При обменной буферизации, кроме рассмотренных выше трех режимов, используется еще один - режим подстановки, который позволяет полностью исключить пересылку данных на этапе передачи. В этом режиме, как и в режиме пересылки, используется рабочая область, но по-иному: в макрокоманде GET указывается адрес рабочей области, однако операционная система не пересылает запись в рабочую область, а только выдает адрес сегмента входного буфера, в котором содержится очередная логическая запись, подлежащая обработке. Этот сегмент становится рабочей областью, и в нем ведется обработка записи, а рабочая область присоединяется к входному буферу и становится его свободным сегментом. [3]
При обменной буферизации не требуется пересылать записи, что существенно сокращает время обработки. [4]
При использовании обменной буферизации должна быть предусмотрена рабочая область, которая по длине и границе выравнивания совместима с сегментами буфера ввода. Буфера вывода должны также иметь одинаковые с буферами ввода размер и выравнивание по границе. Это и позволяет изменить роль сегмента входного буфера, рабочей области и сегмента выходного буфера путем подмены адресов, тем самым исключив физические пересылки записи в основной памяти и существенно экономя время обработки наборов данных. [5]
Отметим, что обменная буферизация не может использоваться с GET в режиме пересылки и PUT в режиме указания. [6]
В режиме подстановки используется обменная буферизация и по макрокомандам GET и PUT запись никуда не пересылается. Вместо этого производится взаимная замена адреса следующей логической записи во входном или выходном буфере и адреса рабочей области. [7]
Буфер, используемый при обменной буферизации. Все сегменты такого буфера в отличии or простого буфера не обязательно должны быть смежными областями основной памяти. [8]
Методы доступа с очередями предусматривают два способа управления буферами: простую и обменную буферизацию. Оба этих способа применимы в последовательном методе доступа с очередями; в индексно-последовательном методе доступа с очередями возможна только простая буферизация. [9]
В последовательном методе доступа с очередями QSAM применяется и простая, и обменная буферизация, а в индексно-после-довательном методе доступа с очередями QISAM - только простая буферизация. [10]
Подпараметр BFTEK ( Buffer Text BOOK - учебник буферизации) может задаваться несколькими значениями: S означает организацию простой буферизации; Е требует обменной буферизации; R определяет буферизацию записей. Каждая логическая запись должна занимать одну ( или более) дорожку. Значение R используется при методах доступа BDAM и BSAM. При чтении данных сегменты без ключей смещаются в буфере на длину ключа. Поэтому при каждом считывании данные в буфере начинаются всегда на одном и том же месте. [11]
Подпараметр В FT EK ( Buffer Text Book - учебник буферизации) может задаваться несколькими значениями: S означает организацию простой буферизации; Е требует обменной буферизации; R определяет буферизацию записей. Каждая логическая запись должна занимать одну ( или более) дорожку. Значение R используется при методах доступа BDAM и BSAM. При чтении данных сегменты без ключей смещаются в буфере на длину ключа. Поэтому при каждом считывании данные в буфере начинаются всегда на одном и том же месте. [12]
Наиболее короткие программы получаются, например, при использовании автоматического построения буферного пула и макрокоманд GET в режиме указания и PUTX в режиме вывода при простой или обменной буферизации. [13]
В последовательных методах доступа в зависимости от того, как организована взаимная связь сегментов внутри буфера, как операционная система выполняет операции обмена данными между буферами и внешними устройствами и передает данные для обработки пользователю, различают простую и обменную буферизацию. Буфера же при этом называют соответственно простыми и обменными. [14]
После открытия набора данных программист может проверить, используется ли обменная или простая буферизация. При обменной буферизации младший бит однобайтового поля DCBCIND1 устанавливается в единицу, а при простой буферизации - в нуль. [15]