[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по принтерам и печати


Обзор

Для передачи различных типов заданий программе буферизации пользователи могут применять интерфейс smit. Каждая из этих команд, за исключением запросов о состоянии очередей, вызывает команду enq, которая создает файл описания задания (JDF). Запросы о состоянии очередей вызывают команду enq, но не создают JDF.

Команда enq уведомляет процесс qdaemon о появлении нового JDF. Процесс qdaemon считывает этот файл и начинает захватывать все необходимые для выполнения задания ресурсы. После захвата ресурсов процесс qdaemon запускает базовую программу очереди с помощью процедур fork и exec. Процесс qdaemon передает в базовую программу все необходимые аргументы из исходной команды запуска задания вместе с дескриптором открытого файла (из параметра файл в /etc/qconfig).

Если базовая программа очереди буферизации - piobe, то piobe обращается к определению виртуального принтера для данной очереди и выясняет полный путь ко всем процессам, которые сформируют конвейер фильтров для обработки задания буферизации. Затем этот конвейер передается оболочке.

Если применяется piobe, то конвейер может начинаться с необязательного предварительного фильтра, например с команды pr. Вывод команды pr передается как стандартный ввод (stdin) драйверу программы форматирования pioformat, который динамически загружает программу форматирования, компонует ее и управляет ею. Вывод pioformat передается как стандартный ввод программе pioout, которая с помощью дескриптора открытого файла, полученного от процесса qdaemon, передает обработанное задание программы буферизации драйверу устройства - специальному файлу в каталоге /dev. Если предварительный фильтр не задан, то первым процессом конвейера становится pioformat.

На приведенной ниже схеме изображена обработка на высоком уровне задания буферизованной печати программой буферизации базовой операционной системы.

Рис. 3-3. Обзор потока данных программы буферизации

Figure print10 not displayed.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]