функцию, работают совместно, причем их отношения можно соответственно
сравнить с отношениями поставщика и потребителя. Прикладные программы
помещают записи для вывода в общий буферный файл, а симбионт распечатывает
записи по мере их поступления. Все это можно рассматривать как частный случай
обеспечения связи между двумя взаимодействующими процессами посредством
буфера сообщений. Метод работы
с буфером сообщений в общих чертах будет
рассматриваться в дальнейшем.
Программы входного потока используют особую функцию операционной
системы, называемую функцией взаимодействия. С помощью этой функции
передаваемые прикладными программами записи помещаются на магнитный
барабан, служащий буфером. Когда буферная область заполняется, программа
поддержки взаимодействия передает управление загрузчику симбионта, который
загружает последний в
память и помещает его в специальную очередь программы-
диспетчера. В результате физическая распечатка содержимого файла производится
одновременно с выполнением прикладной программы.
Наличие описанного механизма свидетельствует о желании разработчиков
увеличить пропускную способность системы, измеряющуюся числом заданий,
которые могут быть выполнены системой за определенный промежуток времени.
Пропускная способность и время обработки одного
задания представляют собой
две основные и вместе с тем принципиально разные характеристики
функционирования вычислительной системы. Очевидно, что полное время
обработки задания — с момента его поступления в вычислительный центр и до
момента передачи результатов пользователю — можно свести к минимуму,
предоставив медленные устройства вывода в распоряжение прикладной программы.
Разумеется, каждый пользователь заинтересован
в наиболее быстрой распечатке
своих файлов, и при этом он не слишком озабочен эффективным использованием
системы в целом. Создание промежуточного буфера и вывод файлов порциями
увеличивают общее время обработки задания. Например, если непосредственная
распечатка некоторого отчета занимает 30 мин, то распечатка того же отчета в
условиях спулинга займет 30 мин плюс время работы
программы, поддерживающей
буферизацию. Несмотря на то что спулинг позволяет выполнять за тот же интервал
времени большее число программ, недостаточная мощность печати может свести на
нет все усилия, поскольку программе печати придется иметь дело с целой очередью
файлов.
Применение второго способа обеспечения спулинга не снимает проблем,
связанных с недостаточной мощностью устройства
печати, а лишь позволяет в
определенных случаях более оперативно передавать информацию пользователю.
Этот способ дает возможность уменьшить простои процессора и создать поддержку
ассинхронного по отношению к процессу выполнения программ процесса печати. В
некоторых ситуациях, например когда устройство печати занято, эффект
параллельного выполнения процессов исчезает, но иногда с помощью
рассмотренной выше организации
можно существенно увеличить количество
информации, выдаваемой в процессе выполнения программ. Таким образом, за счет
88