Cтраница 4
БД и создается файл выбранных данных. Каждая запись входных данных проверяется в соответствии с критериями выборки и, если удовлетворяет критерию выборки, помещается в системный буфер. По заполнении системного буфера его содержимое обрабатывается в соответствии с логикой обработки для каждого отчета. При обработке отчетов о содержании БД во входной буфер может помещаться несколько записей. В каждый конкретный момент содержимое буфера обрабатывается для одного отчета, если информация должна быть выбрана из буфера, она записывается в файл выбранных данных. Если для данного отчета обработка информации не требуется, выполняется обработка для следующего отчета. [46]
Система управления банком данных анализирует параметры обращения и, используя схему и соответствующую подсхему, определяет процедуру обращения к базе данных и запрашивает у операционной системы ( ОС) ЭВМ физический ввод-вывод. Операционная система производит пересылку данных между внешней памятью и системными буферами и возвращает управление системе управления банком данных, которая пересылает данные из системных буферов в рабочую область программы. Затем управление передается следующему оператору программы пользователя, если доступ к базе данных произошел правильно, в противном случае - в специальное место программы пользователя. [47]
БД и создается файл выбранных данных. Каждая запись входных данных проверяется в соответствии с критериями выборки и, если удовлетворяет критерию выборки, помещается в системный буфер. По заполнении системного буфера его содержимое обрабатывается в соответствии с логикой обработки для каждого отчета. При обработке отчетов о содержании БД во входной буфер может помещаться несколько записей. В каждый конкретный момент содержимое буфера обрабатывается для одного отчета, если информация должна быть выбрана из буфера, она записывается в файл выбранных данных. Если для данного отчета обработка информации не требуется, выполняется обработка для следующего отчета. [48]
Следует иметь в виду, что СУБД ведет одновременную обработку нескольких прикладных программ, которые могут иметь уникальные подмодели данных. Отсюда понятно, что взаимодействие с системными буферами должно обеспечить одновременную работу с различными данными. От того, насколько часто меняется содержание системных буферов, в значительной степени зависит общее быстродействие системы. [49]
В том случае, когда прикладная программа обновляет з-апись, осуществляется аналогичная последовательность Действий. Запись сначала обычным образом считывается и модифицируется в рабочей области программы, - а затем системе управления базами данных передается команда записать обратно модифицированные данные. Система управления базами данных будет осуществлять любые необходимые преобразования данных в системных буферах, обратные тем. [50]
В том случае, когда прикладная программа обновляет запись, осуществляется аналогичная последовательность действий. Запись сначала обычным образом считывается и модифицируется в рабочей области программы, а затем системе управления базами данных передается команда записать обратно модифицированные данные. Система управления базами данных будет осуществлять любые необходимые преобразования данных в системных буферах - обратные тем преобразованиям, которые были сделаны при считывании данных. Затем система управления базами данных выдает операционной системе команду ЗАПИСАТЬ. [51]
Подобная же ситуация возникает при функционировании даже однопроцессорной вычислительной машины, использующей различные устройства ввода / вывода. Классическим примером тупика является возникшая в ОС / 360 критическая ситуация полного заполнения системного буфера ввода / вывода, выход из которой был возможен только перезапуском системы с потерей результатов завершенной работы. Суть заключалась в том, что системная программа ввода, функционирующая независимо от обрабатывающих программ, при большом входном потоке могла заполнить буфер так, что в нем не оказывалось места для данных программы вывода, использующей этот же системный буфер, и никакие средства операционной системы не обеспечивали очистку областей системного ввода для продолжения работы. Важно отметить, что присутствие в системе нескольких активных программ всегда создает опасность возникновения условий тупика, которой подвержены как однопроцессорные, так и мультипроцессорные распределенные системы. [52]