CUPS (Common UNIX Printing System) — модульная система печати, разработанная для Unix-подобных операционных систем, обеспечивающая функции менеджера очередей печати, преобразования форматов и доставки заданий на устройства вывода. CUPS реализует серверную архитектуру, в которой компьютер выступает в роли печатного сервера: он принимает задания от клиентов, помещает их в очереди, при необходимости конвертирует данные в подходящий для принтера формат и отправляет задания на устройство через стандартные протоколы.
Система использует протокол IPP (Internet Printing Protocol) в качестве основного сетевого интерфейса для управления печатью и передачи метаданных заданий. Архитектура CUPS включает демон для обработки очередей, модульную систему фильтров и бекендов для преобразования и доставки данных, а также механизм конфигурации очередей и политик печати. Благодаря модульности и поддержке множества драйверов CUPS широко применяется как на рабочих станциях, так и на серверах для централизованного управления печатью в локальных и распределённых сетях.
- Поддержка IPP: основной протокол для отправки и управления заданиями печати по сети.
 - Менеджер очередей: приём, приоритизация и управление заданиями печати.
 - Модульные фильтры: конвертация входных форматов (PDF, PostScript, растровые образы и др.) в формат, понятный целевому принтеру.
 - Бекенды доставки: отправка данных на принтеры через интерфейсы (USB, сетевые протоколы, LPD, JetDirect и т. п.).
 - Драйверы и PPD: поддержка описаний возможностей принтеров (PostScript Printer Description) и сторонних драйверов для обеспечения совместимости.
 - Политики и управление доступом: настройка прав, квот и правил обработки заданий для пользователей и групп.
 - Сетевые сервисы: обнаружение и объявление принтеров в сети (например, через протоколы обнаружения служб) и централизованное администрирование.
 - Логирование и диагностика: сбор журналов работы, отчётов об ошибках и инструментов для отладки проблем печати.
 - Совместимость: использование стандартных форматов и интерфейсов для интеграции с различными клиентскими приложениями и операционными системами.
 - Расширяемость: возможность добавления новых фильтров, бекендов и интерфейсов без изменения ядра системы.