Cтраница 3
Таким образом, выдавая макрокоманды GETPOOL перед открытием и FREEPOOL после закрытия НД, можно строить буферный пул, когда возникает с этом потребность, и освобождать буферную память, когда необходимость в буферном пуле отпадает. [31]
![]() |
Структура управления соединением в соответствии с механизмом окна и схемой сквозных повторных передач пакетов по тайм-ауту. [32] |
После выдачи пакета в канал доступа в сеть связи копия пакета записывается в буферную память ( буферный пул) хранимых копий отправителя. Квитанция выдается из адресата при наступлении одного из двух событий: ограниченный бункер сборки группы из т квитанций заполнен либо истекло время тайм-аута на сбор группы тг. При передаче пакеты и квитанции нумеруются. [33]
После окончания использования буферной памяти необходимо выдать макрокоманду RELBUF, чтобы освободить буферы, вернуть их в буферный пул, иначе буферы будут считаться занятыми и может наступить исчерпание буферного пула. [34]
Кроме указанных способов построения буферного пула, в методе доступа BISAM существует еще один способ использования буферов: буферный пул не строится, а для нужд каждой операции обмена программист выделяет под буфер область основной памяти. [35]
Следует отметить, что не в любом случае по макрокоманде REQBUF выделяется требуемое число буферов, так как буферный пул одновременно может использоваться для нескольких операций обмена с различными станциями. Поэтому ОС сообщает программе код возврата и недостающее число буферов. В этом случае логика дальнейшей работы всецело определяется программистом. [36]
При выполнении обычной операции SQL-сервер назначает страницы разделяемой памяти по мере необходимости; он постоянно сканирует область буферов ( буферный пул) в поисках страниц, которые более не требуется хранить в разделяемой памяти. Это вполне приемлемо для большинства систем и приложений. Однако бывают ситуации, когда администратору нужно хранить в памяти таблицу или какую-то ее часть, не обращая внимания на то, что SQL-сервер хочет использовать эти страницы в других целях. Посмотрим на примере, как это происходит. [37]
Функция программ логического уровня, состоящая в выделении набору данных для выполнения операций ввода-вывода необходимого участка основной памяти под буферный пул и освобождении этого участка. [38]
Загружается описание базы данных и настраивается на связь с проблемной программой, открываются наборы данных, соответствующие подбазам, организуется буферный пул. [39]
Динамическое распределение буферного запоминающего устройства; способ управления буферами ввода-вывода, при котором управляющая программа осуществляет автоматическое выделение буферов и возврат их в буферный пул при каждом запросе на ввод-вывод. [40]
Если в методах доступа с очередями к моменту открытия какого-либо набора данных для него не были выделены буфера статического буферного пула или же не был получен буферный пул с помощью макрокоманды GETPOOL, то операционная система в свободной части основной памяти автоматически строит буферный пул, формирует блок управления буферным пулом и связывает созданный пул с обрабатываемым набором данных. В этом случае операнд BUFCB в макрокоманде DCB должен быть опущен. Число буферов принимается равным значению операнда BUFNO или, если он опущен, считается равным двум. Операнд BUFNO обязателен только для методов доступа ВРАМ и BSAM. Первый буфер пула выравнивается по границе, указанной операндом BFALN макрокоманды DCB, при его отсутствии - по границе двойного слова. [41]
Таким образом, при прямом управлении буферами получение буферов из пула, загрузка, разгрузка и контроль их завершения, а также освобождение буферов и возврат их в буферный пул выполняются непосредственно по макрокомандам, выдаваемым программистом. [42]
Область для обеспечения операций ввода-вывода содержит стандартные блоки системы ОС ЕС, используемые ДИСП для выполнений операций ввода-вывода на устройствах с произвольным доступом и АП, а также буферный пул. К блокам ввода-вывода относятся блоки ЮВ, DCB, ЕСВ. [43]
Если в методах доступа с очередями к моменту открытия какого-либо набора данных для него не были выделены буфера статического буферного пула или же не был получен буферный пул с помощью макрокоманды GETPOOL, то операционная система в свободной части основной памяти автоматически строит буферный пул, формирует блок управления буферным пулом и связывает созданный пул с обрабатываемым набором данных. В этом случае операнд BUFCB в макрокоманде DCB должен быть опущен. Число буферов принимается равным значению операнда BUFNO или, если он опущен, считается равным двум. Операнд BUFNO обязателен только для методов доступа ВРАМ и BSAM. Первый буфер пула выравнивается по границе, указанной операндом BFALN макрокоманды DCB, при его отсутствии - по границе двойного слова. [44]
Буферный пул, построенный автоматически, освобождается по макрокоманде FREEPOOL после закрытия набора данных, но может быть освобожден и до закрытия набора данных, если надобность в буферах отпала. [45]