Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
CUPS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Scheduler === The CUPS scheduler implements [[Internet Printing Protocol]] (IPP) over HTTP/1.1. A helper application (cups-lpd) converts [[Line Printer Daemon protocol]] (LPD) requests to IPP. The scheduler also provides a web-based interface for managing print jobs, the configuration of the server, and for documentation about CUPS itself.<ref name="scheduler" /> An ''authorization'' module controls which IPP and HTTP messages can pass through the system.<ref name="auth">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Design|url=http://www.cups.org/doc-1.1/sdd.html#3_8_1|title=Authorization|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_1|archive-date=January 10, 2007}}</ref> Once the IPP/HTTP packets are authorized they are sent to the ''client'' module, which listens for and processes incoming connections. The client module is also responsible for executing external [[Common Gateway Interface|CGI]] programs as needed to support web-based printers, classes, and job status monitoring and administration.<ref name="clientmodule">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Administrators Manual|url=http://www.cups.org/doc-1.1/sdd.html#3_8_3|title=Authorisation|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_3|archive-date=January 10, 2007}}</ref> Once this module has processed its requests, it sends them to the ''IPP'' module which performs [[Uniform Resource Identifier]] (URI) validation to prevent a client from sidestepping any [[access control]]s or [[authentication]] on the HTTP server.<ref name="ippmodule">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Design|url=http://www.cups.org/doc-1.1/sdd.html#3_8_7|title=IPP|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_7|archive-date=January 10, 2007}}</ref> The URI is a text [[String (computer science)|string]] that indicates a name or address that can be used to refer to an abstract or physical resource on a network. The scheduler allows for classes of printers. Applications can send requests to groups of printers in a class, allowing the scheduler to direct the job to the first available printer in that class.<ref name="classes">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Administrators Manual|url=http://www.cups.org/doc-1.1/sam.html#2_4|title=Classes|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070106145359/http://www.cups.org/doc-1.1/sam.html#2_4|archive-date=January 6, 2007}}</ref> A ''jobs'' module manages print jobs, sending them to the filter and backend processes for final conversion and printing, and monitoring the status messages from those processes.<ref name="jobs">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Administrators Manual|url=http://www.cups.org/doc-1.1/sam.html#2_3|title=Jobs|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070106145359/http://www.cups.org/doc-1.1/sam.html#2_3|archive-date=January 6, 2007}}</ref> The CUPS scheduler utilizes a ''configuration'' module, which parses configuration files, initializes CUPS [[data structure]]s, and starts and stops the CUPS program. The configuration module will stop CUPS services during configuration file processing and then restart the service when processing is complete.<ref name="configurationmodule">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Design|url=http://www.cups.org/doc-1.1/sdd.html#3_8_4|title=Configuration|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_4|archive-date=January 10, 2007}}</ref> A ''logging'' module handles the logging of scheduler events for access, error, and page [[Computer data logging|log files]]. The ''main'' module handles timeouts and dispatch of I/O requests for client connections, watching for [[Signal (computing)|signals]], handling child process errors and exits, and reloading the server configuration files as needed.<ref name="loggingmodule">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Design|url=http://www.cups.org/doc-1.1/sdd.html#3_8_9|title=Logging|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_9|archive-date=January 10, 2007}}</ref> Other modules used by the scheduler include: * the ''MIME'' module, which handles a [[Multipurpose Internet Mail Extensions]] (MIME) type and conversion database used in the filtering process that converts print data to a format suitable for a print device;<ref name="MIMEmodule">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Design|url=http://www.cups.org/doc-1.1/sdd.html#3_8_11|title=MIME|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_11|archive-date=January 10, 2007}}</ref> * a ''PPD'' module that handles a list of [[Postscript Printer Description]] (PPD) files;<ref name="ppdmodule">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Design|url=http://www.cups.org/doc-1.1/sdd.html#3_8_12|title=PPD|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_12|archive-date=January 10, 2007}}</ref> * a ''devices'' module that manages a list of devices that are available in the system;<ref name="devicesmodule">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Design|url=http://www.cups.org/doc-1.1/sdd.html#3_8_5|title=Devices|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_5|archive-date=January 10, 2007}}</ref> * a ''printers'' module that handles printers and PPDs within CUPS.<ref name="printersmodule">{{cite web|work=[[Easy Software Products]]|publisher=CUPS Software Design|url=http://www.cups.org/doc-1.1/sdd.html#3_8_13|title=Printers|access-date=January 9, 2007|url-status=dead|archive-url=https://web.archive.org/web/20070110180805/http://www.cups.org/doc-1.1/sdd.html#3_8_13|archive-date=January 10, 2007}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)