What does spool mean for printing?
Clash Royale CLAN TAG#URR8PPP
up vote
1
down vote
favorite
Mark wrote a comment for me
I don't know offhand how to make cups not spool, that is, how to make the lpr command only exit after the printer driver has run.
What does "spool" for printing mean?
Google says it is a verb meaning "send (data that is intended for printing or processing on a peripheral device) to an intermediate store." What is the intermediate store that printing spool represents, for example, when printing by lpr
command
Mark seems to relate the meaning of spool with blocking. But I can't figure that out by looking at the definition given by Google.
Thanks.
printing cups lpr
add a comment |Â
up vote
1
down vote
favorite
Mark wrote a comment for me
I don't know offhand how to make cups not spool, that is, how to make the lpr command only exit after the printer driver has run.
What does "spool" for printing mean?
Google says it is a verb meaning "send (data that is intended for printing or processing on a peripheral device) to an intermediate store." What is the intermediate store that printing spool represents, for example, when printing by lpr
command
Mark seems to relate the meaning of spool with blocking. But I can't figure that out by looking at the definition given by Google.
Thanks.
printing cups lpr
add a comment |Â
up vote
1
down vote
favorite
up vote
1
down vote
favorite
Mark wrote a comment for me
I don't know offhand how to make cups not spool, that is, how to make the lpr command only exit after the printer driver has run.
What does "spool" for printing mean?
Google says it is a verb meaning "send (data that is intended for printing or processing on a peripheral device) to an intermediate store." What is the intermediate store that printing spool represents, for example, when printing by lpr
command
Mark seems to relate the meaning of spool with blocking. But I can't figure that out by looking at the definition given by Google.
Thanks.
printing cups lpr
Mark wrote a comment for me
I don't know offhand how to make cups not spool, that is, how to make the lpr command only exit after the printer driver has run.
What does "spool" for printing mean?
Google says it is a verb meaning "send (data that is intended for printing or processing on a peripheral device) to an intermediate store." What is the intermediate store that printing spool represents, for example, when printing by lpr
command
Mark seems to relate the meaning of spool with blocking. But I can't figure that out by looking at the definition given by Google.
Thanks.
printing cups lpr
printing cups lpr
asked 46 mins ago
Tim
23.4k66229412
23.4k66229412
add a comment |Â
add a comment |Â
3 Answers
3
active
oldest
votes
up vote
3
down vote
A print spool is effectively a buffer, managed per job, with a program (the spooler) responsible for receiving jobs from submitting programs and feeding them to one or more printers. The point of a spool is to handle communication between two systems with different speeds; it means programs can submit print jobs as fast as they want, and those jobs are dealt with as fast (or slowly) as printers can handle.
Networked printers provide their own spools, and print servers (CUPS, lpd
etc.) also implement spools. Most print systems also handle access control, quotas, banners, print options etc. Spools are used in other contexts; for example, tape-based backup servers now spool backup data from networked hosts on a fast disk-based storage system, so that they can then feed modern tape drives at the tremendous speeds they need to avoid tape shoe-shine.
In the context of the comment, the relevance of a spool is that it decorrelates the print job submission from its fulfillment. Not spooling would mean that the submission would only complete with the print job, and thus your lpr
command would only complete once the job completed. Removing the spool on your computer might not have the desired result though since the printer itself could spool too!
Thanks. Is spool with the same meaning used for other tasks than printing?
â Tim
31 mins ago
Yes, see my update.
â Stephen Kitt
31 mins ago
Linux kernel has buffer forread()
andwrite()
. Is that buffer also called "spool"?
â Tim
30 mins ago
No, itâÂÂs not called âÂÂspoolâÂÂ.
â Stephen Kitt
27 mins ago
Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
â Tim
24 mins ago
 |Â
show 2 more comments
up vote
1
down vote
First , let's begin with the meaning of the term "spooling": Printers have a limited amount of memory, often times much smaller than the size of a document that you are wanting to print. Printer spooling allows you to send large documents, or multiple documents, to a printer and not have to wait for it to finish printing before continuing on to your next task.
Now, under Unix there are two printing systems:
1- The BSD spooling system that uses lpd
daemon to schedule the print jobs.
2- The SVR4 -spooling system that uses lpsched
as the scheduler.
BSD spooling system can extend to large, heterogeneous networks allowing many computers to share printers. Under the this system, access to printers is controlled by lpd
daemon and the lpr
program. lpr
is the only program on a BSD system that can queue files for printing. Other programs such as enscript, ditroff etc., do so by calling lpr
.
lpr
accepts data to be printed, puts it in a spooling directory, and notifies the lpd
daemon. For each print job, lpr
creates two files, a control file (cfxxx) and a data file (dfxxx) in the spool directory, xxx indicating a unique job-id. The control file contains the information for handling the print job, including the identity of the owner. The data file contains the actual data to be printed.
The lpd
daemon checks the /etc/printcap
file to identify the destination printer. If the destination printer is a local device, lpd
makes sure a copy of the lpd
daemon is running on that print queue. Otherwise lpd
opens a connection to the remote host to which the printer is connected and transfers both the control and data file to it.
Print jobs are scheduled by lpd
on a First-In, First-Out (FIFO) basis. However, the system administrator may use the lpc command to alter the priority of the jobs in the print queue.
SVR4 spooling system This system was not designed with network printing. It is also a little more complicated to set up. Under SVR4 spooling system, the lp
command accepts the data to be printed, makes a copy of it in the spool directory associated with the destination. The destination consists of a printer name and an optional specification of a class to which the printer belongs. When the specified printer is busy the job is sent to another printer in the same class. The spool directory is normally /var/spool/lp/request/printer-name
and the print file is given a unique name to identify both the job and the user.
Access to the printer is controlled by lpsched
daemon. It picks up the jobs from the spool directory and sends them to appropriate destination when it becomes available. lpsched also keeps a log, usually in /usr/spool/lp/log
. The log file would indicate any error in processing the print jobs, as well as the user-name,
More 1,2,3
1
ItâÂÂs nice to mention your sources...
â Stephen Kitt
37 mins ago
I didn't finish yet ;-)
â Goro
37 mins ago
add a comment |Â
up vote
1
down vote
In a nut shell, a spooler consists of:
- a background program
- a directory per printer
- a file per print job
In your case, the foreground program (lpr
) sends its print jobs to cups
, which stores it and then uses serial, parallel, USB, network, ... communication to actually start the printing process.
So that's why nowadays even when the printer runs out of paper you can still continue using your computer, whereas back when I was a kid on CP/M, the whole computer locked up until you added more paper...
Why is it called "spooling"?
Because in those times, large computers used tape to store these kind of files as disks were too expensive, so when you were working inside the data center, the first thing you would hear was the tapes starting to spin (="to spool") and only after a second or 3-4 the printer would start printing (if you were lucky). ;-)
add a comment |Â
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
A print spool is effectively a buffer, managed per job, with a program (the spooler) responsible for receiving jobs from submitting programs and feeding them to one or more printers. The point of a spool is to handle communication between two systems with different speeds; it means programs can submit print jobs as fast as they want, and those jobs are dealt with as fast (or slowly) as printers can handle.
Networked printers provide their own spools, and print servers (CUPS, lpd
etc.) also implement spools. Most print systems also handle access control, quotas, banners, print options etc. Spools are used in other contexts; for example, tape-based backup servers now spool backup data from networked hosts on a fast disk-based storage system, so that they can then feed modern tape drives at the tremendous speeds they need to avoid tape shoe-shine.
In the context of the comment, the relevance of a spool is that it decorrelates the print job submission from its fulfillment. Not spooling would mean that the submission would only complete with the print job, and thus your lpr
command would only complete once the job completed. Removing the spool on your computer might not have the desired result though since the printer itself could spool too!
Thanks. Is spool with the same meaning used for other tasks than printing?
â Tim
31 mins ago
Yes, see my update.
â Stephen Kitt
31 mins ago
Linux kernel has buffer forread()
andwrite()
. Is that buffer also called "spool"?
â Tim
30 mins ago
No, itâÂÂs not called âÂÂspoolâÂÂ.
â Stephen Kitt
27 mins ago
Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
â Tim
24 mins ago
 |Â
show 2 more comments
up vote
3
down vote
A print spool is effectively a buffer, managed per job, with a program (the spooler) responsible for receiving jobs from submitting programs and feeding them to one or more printers. The point of a spool is to handle communication between two systems with different speeds; it means programs can submit print jobs as fast as they want, and those jobs are dealt with as fast (or slowly) as printers can handle.
Networked printers provide their own spools, and print servers (CUPS, lpd
etc.) also implement spools. Most print systems also handle access control, quotas, banners, print options etc. Spools are used in other contexts; for example, tape-based backup servers now spool backup data from networked hosts on a fast disk-based storage system, so that they can then feed modern tape drives at the tremendous speeds they need to avoid tape shoe-shine.
In the context of the comment, the relevance of a spool is that it decorrelates the print job submission from its fulfillment. Not spooling would mean that the submission would only complete with the print job, and thus your lpr
command would only complete once the job completed. Removing the spool on your computer might not have the desired result though since the printer itself could spool too!
Thanks. Is spool with the same meaning used for other tasks than printing?
â Tim
31 mins ago
Yes, see my update.
â Stephen Kitt
31 mins ago
Linux kernel has buffer forread()
andwrite()
. Is that buffer also called "spool"?
â Tim
30 mins ago
No, itâÂÂs not called âÂÂspoolâÂÂ.
â Stephen Kitt
27 mins ago
Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
â Tim
24 mins ago
 |Â
show 2 more comments
up vote
3
down vote
up vote
3
down vote
A print spool is effectively a buffer, managed per job, with a program (the spooler) responsible for receiving jobs from submitting programs and feeding them to one or more printers. The point of a spool is to handle communication between two systems with different speeds; it means programs can submit print jobs as fast as they want, and those jobs are dealt with as fast (or slowly) as printers can handle.
Networked printers provide their own spools, and print servers (CUPS, lpd
etc.) also implement spools. Most print systems also handle access control, quotas, banners, print options etc. Spools are used in other contexts; for example, tape-based backup servers now spool backup data from networked hosts on a fast disk-based storage system, so that they can then feed modern tape drives at the tremendous speeds they need to avoid tape shoe-shine.
In the context of the comment, the relevance of a spool is that it decorrelates the print job submission from its fulfillment. Not spooling would mean that the submission would only complete with the print job, and thus your lpr
command would only complete once the job completed. Removing the spool on your computer might not have the desired result though since the printer itself could spool too!
A print spool is effectively a buffer, managed per job, with a program (the spooler) responsible for receiving jobs from submitting programs and feeding them to one or more printers. The point of a spool is to handle communication between two systems with different speeds; it means programs can submit print jobs as fast as they want, and those jobs are dealt with as fast (or slowly) as printers can handle.
Networked printers provide their own spools, and print servers (CUPS, lpd
etc.) also implement spools. Most print systems also handle access control, quotas, banners, print options etc. Spools are used in other contexts; for example, tape-based backup servers now spool backup data from networked hosts on a fast disk-based storage system, so that they can then feed modern tape drives at the tremendous speeds they need to avoid tape shoe-shine.
In the context of the comment, the relevance of a spool is that it decorrelates the print job submission from its fulfillment. Not spooling would mean that the submission would only complete with the print job, and thus your lpr
command would only complete once the job completed. Removing the spool on your computer might not have the desired result though since the printer itself could spool too!
edited 28 mins ago
answered 35 mins ago
Stephen Kitt
146k22321387
146k22321387
Thanks. Is spool with the same meaning used for other tasks than printing?
â Tim
31 mins ago
Yes, see my update.
â Stephen Kitt
31 mins ago
Linux kernel has buffer forread()
andwrite()
. Is that buffer also called "spool"?
â Tim
30 mins ago
No, itâÂÂs not called âÂÂspoolâÂÂ.
â Stephen Kitt
27 mins ago
Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
â Tim
24 mins ago
 |Â
show 2 more comments
Thanks. Is spool with the same meaning used for other tasks than printing?
â Tim
31 mins ago
Yes, see my update.
â Stephen Kitt
31 mins ago
Linux kernel has buffer forread()
andwrite()
. Is that buffer also called "spool"?
â Tim
30 mins ago
No, itâÂÂs not called âÂÂspoolâÂÂ.
â Stephen Kitt
27 mins ago
Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
â Tim
24 mins ago
Thanks. Is spool with the same meaning used for other tasks than printing?
â Tim
31 mins ago
Thanks. Is spool with the same meaning used for other tasks than printing?
â Tim
31 mins ago
Yes, see my update.
â Stephen Kitt
31 mins ago
Yes, see my update.
â Stephen Kitt
31 mins ago
Linux kernel has buffer for
read()
and write()
. Is that buffer also called "spool"?â Tim
30 mins ago
Linux kernel has buffer for
read()
and write()
. Is that buffer also called "spool"?â Tim
30 mins ago
No, itâÂÂs not called âÂÂspoolâÂÂ.
â Stephen Kitt
27 mins ago
No, itâÂÂs not called âÂÂspoolâÂÂ.
â Stephen Kitt
27 mins ago
Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
â Tim
24 mins ago
Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
â Tim
24 mins ago
 |Â
show 2 more comments
up vote
1
down vote
First , let's begin with the meaning of the term "spooling": Printers have a limited amount of memory, often times much smaller than the size of a document that you are wanting to print. Printer spooling allows you to send large documents, or multiple documents, to a printer and not have to wait for it to finish printing before continuing on to your next task.
Now, under Unix there are two printing systems:
1- The BSD spooling system that uses lpd
daemon to schedule the print jobs.
2- The SVR4 -spooling system that uses lpsched
as the scheduler.
BSD spooling system can extend to large, heterogeneous networks allowing many computers to share printers. Under the this system, access to printers is controlled by lpd
daemon and the lpr
program. lpr
is the only program on a BSD system that can queue files for printing. Other programs such as enscript, ditroff etc., do so by calling lpr
.
lpr
accepts data to be printed, puts it in a spooling directory, and notifies the lpd
daemon. For each print job, lpr
creates two files, a control file (cfxxx) and a data file (dfxxx) in the spool directory, xxx indicating a unique job-id. The control file contains the information for handling the print job, including the identity of the owner. The data file contains the actual data to be printed.
The lpd
daemon checks the /etc/printcap
file to identify the destination printer. If the destination printer is a local device, lpd
makes sure a copy of the lpd
daemon is running on that print queue. Otherwise lpd
opens a connection to the remote host to which the printer is connected and transfers both the control and data file to it.
Print jobs are scheduled by lpd
on a First-In, First-Out (FIFO) basis. However, the system administrator may use the lpc command to alter the priority of the jobs in the print queue.
SVR4 spooling system This system was not designed with network printing. It is also a little more complicated to set up. Under SVR4 spooling system, the lp
command accepts the data to be printed, makes a copy of it in the spool directory associated with the destination. The destination consists of a printer name and an optional specification of a class to which the printer belongs. When the specified printer is busy the job is sent to another printer in the same class. The spool directory is normally /var/spool/lp/request/printer-name
and the print file is given a unique name to identify both the job and the user.
Access to the printer is controlled by lpsched
daemon. It picks up the jobs from the spool directory and sends them to appropriate destination when it becomes available. lpsched also keeps a log, usually in /usr/spool/lp/log
. The log file would indicate any error in processing the print jobs, as well as the user-name,
More 1,2,3
1
ItâÂÂs nice to mention your sources...
â Stephen Kitt
37 mins ago
I didn't finish yet ;-)
â Goro
37 mins ago
add a comment |Â
up vote
1
down vote
First , let's begin with the meaning of the term "spooling": Printers have a limited amount of memory, often times much smaller than the size of a document that you are wanting to print. Printer spooling allows you to send large documents, or multiple documents, to a printer and not have to wait for it to finish printing before continuing on to your next task.
Now, under Unix there are two printing systems:
1- The BSD spooling system that uses lpd
daemon to schedule the print jobs.
2- The SVR4 -spooling system that uses lpsched
as the scheduler.
BSD spooling system can extend to large, heterogeneous networks allowing many computers to share printers. Under the this system, access to printers is controlled by lpd
daemon and the lpr
program. lpr
is the only program on a BSD system that can queue files for printing. Other programs such as enscript, ditroff etc., do so by calling lpr
.
lpr
accepts data to be printed, puts it in a spooling directory, and notifies the lpd
daemon. For each print job, lpr
creates two files, a control file (cfxxx) and a data file (dfxxx) in the spool directory, xxx indicating a unique job-id. The control file contains the information for handling the print job, including the identity of the owner. The data file contains the actual data to be printed.
The lpd
daemon checks the /etc/printcap
file to identify the destination printer. If the destination printer is a local device, lpd
makes sure a copy of the lpd
daemon is running on that print queue. Otherwise lpd
opens a connection to the remote host to which the printer is connected and transfers both the control and data file to it.
Print jobs are scheduled by lpd
on a First-In, First-Out (FIFO) basis. However, the system administrator may use the lpc command to alter the priority of the jobs in the print queue.
SVR4 spooling system This system was not designed with network printing. It is also a little more complicated to set up. Under SVR4 spooling system, the lp
command accepts the data to be printed, makes a copy of it in the spool directory associated with the destination. The destination consists of a printer name and an optional specification of a class to which the printer belongs. When the specified printer is busy the job is sent to another printer in the same class. The spool directory is normally /var/spool/lp/request/printer-name
and the print file is given a unique name to identify both the job and the user.
Access to the printer is controlled by lpsched
daemon. It picks up the jobs from the spool directory and sends them to appropriate destination when it becomes available. lpsched also keeps a log, usually in /usr/spool/lp/log
. The log file would indicate any error in processing the print jobs, as well as the user-name,
More 1,2,3
1
ItâÂÂs nice to mention your sources...
â Stephen Kitt
37 mins ago
I didn't finish yet ;-)
â Goro
37 mins ago
add a comment |Â
up vote
1
down vote
up vote
1
down vote
First , let's begin with the meaning of the term "spooling": Printers have a limited amount of memory, often times much smaller than the size of a document that you are wanting to print. Printer spooling allows you to send large documents, or multiple documents, to a printer and not have to wait for it to finish printing before continuing on to your next task.
Now, under Unix there are two printing systems:
1- The BSD spooling system that uses lpd
daemon to schedule the print jobs.
2- The SVR4 -spooling system that uses lpsched
as the scheduler.
BSD spooling system can extend to large, heterogeneous networks allowing many computers to share printers. Under the this system, access to printers is controlled by lpd
daemon and the lpr
program. lpr
is the only program on a BSD system that can queue files for printing. Other programs such as enscript, ditroff etc., do so by calling lpr
.
lpr
accepts data to be printed, puts it in a spooling directory, and notifies the lpd
daemon. For each print job, lpr
creates two files, a control file (cfxxx) and a data file (dfxxx) in the spool directory, xxx indicating a unique job-id. The control file contains the information for handling the print job, including the identity of the owner. The data file contains the actual data to be printed.
The lpd
daemon checks the /etc/printcap
file to identify the destination printer. If the destination printer is a local device, lpd
makes sure a copy of the lpd
daemon is running on that print queue. Otherwise lpd
opens a connection to the remote host to which the printer is connected and transfers both the control and data file to it.
Print jobs are scheduled by lpd
on a First-In, First-Out (FIFO) basis. However, the system administrator may use the lpc command to alter the priority of the jobs in the print queue.
SVR4 spooling system This system was not designed with network printing. It is also a little more complicated to set up. Under SVR4 spooling system, the lp
command accepts the data to be printed, makes a copy of it in the spool directory associated with the destination. The destination consists of a printer name and an optional specification of a class to which the printer belongs. When the specified printer is busy the job is sent to another printer in the same class. The spool directory is normally /var/spool/lp/request/printer-name
and the print file is given a unique name to identify both the job and the user.
Access to the printer is controlled by lpsched
daemon. It picks up the jobs from the spool directory and sends them to appropriate destination when it becomes available. lpsched also keeps a log, usually in /usr/spool/lp/log
. The log file would indicate any error in processing the print jobs, as well as the user-name,
More 1,2,3
First , let's begin with the meaning of the term "spooling": Printers have a limited amount of memory, often times much smaller than the size of a document that you are wanting to print. Printer spooling allows you to send large documents, or multiple documents, to a printer and not have to wait for it to finish printing before continuing on to your next task.
Now, under Unix there are two printing systems:
1- The BSD spooling system that uses lpd
daemon to schedule the print jobs.
2- The SVR4 -spooling system that uses lpsched
as the scheduler.
BSD spooling system can extend to large, heterogeneous networks allowing many computers to share printers. Under the this system, access to printers is controlled by lpd
daemon and the lpr
program. lpr
is the only program on a BSD system that can queue files for printing. Other programs such as enscript, ditroff etc., do so by calling lpr
.
lpr
accepts data to be printed, puts it in a spooling directory, and notifies the lpd
daemon. For each print job, lpr
creates two files, a control file (cfxxx) and a data file (dfxxx) in the spool directory, xxx indicating a unique job-id. The control file contains the information for handling the print job, including the identity of the owner. The data file contains the actual data to be printed.
The lpd
daemon checks the /etc/printcap
file to identify the destination printer. If the destination printer is a local device, lpd
makes sure a copy of the lpd
daemon is running on that print queue. Otherwise lpd
opens a connection to the remote host to which the printer is connected and transfers both the control and data file to it.
Print jobs are scheduled by lpd
on a First-In, First-Out (FIFO) basis. However, the system administrator may use the lpc command to alter the priority of the jobs in the print queue.
SVR4 spooling system This system was not designed with network printing. It is also a little more complicated to set up. Under SVR4 spooling system, the lp
command accepts the data to be printed, makes a copy of it in the spool directory associated with the destination. The destination consists of a printer name and an optional specification of a class to which the printer belongs. When the specified printer is busy the job is sent to another printer in the same class. The spool directory is normally /var/spool/lp/request/printer-name
and the print file is given a unique name to identify both the job and the user.
Access to the printer is controlled by lpsched
daemon. It picks up the jobs from the spool directory and sends them to appropriate destination when it becomes available. lpsched also keeps a log, usually in /usr/spool/lp/log
. The log file would indicate any error in processing the print jobs, as well as the user-name,
More 1,2,3
edited 24 mins ago
answered 38 mins ago
Goro
4,18552255
4,18552255
1
ItâÂÂs nice to mention your sources...
â Stephen Kitt
37 mins ago
I didn't finish yet ;-)
â Goro
37 mins ago
add a comment |Â
1
ItâÂÂs nice to mention your sources...
â Stephen Kitt
37 mins ago
I didn't finish yet ;-)
â Goro
37 mins ago
1
1
ItâÂÂs nice to mention your sources...
â Stephen Kitt
37 mins ago
ItâÂÂs nice to mention your sources...
â Stephen Kitt
37 mins ago
I didn't finish yet ;-)
â Goro
37 mins ago
I didn't finish yet ;-)
â Goro
37 mins ago
add a comment |Â
up vote
1
down vote
In a nut shell, a spooler consists of:
- a background program
- a directory per printer
- a file per print job
In your case, the foreground program (lpr
) sends its print jobs to cups
, which stores it and then uses serial, parallel, USB, network, ... communication to actually start the printing process.
So that's why nowadays even when the printer runs out of paper you can still continue using your computer, whereas back when I was a kid on CP/M, the whole computer locked up until you added more paper...
Why is it called "spooling"?
Because in those times, large computers used tape to store these kind of files as disks were too expensive, so when you were working inside the data center, the first thing you would hear was the tapes starting to spin (="to spool") and only after a second or 3-4 the printer would start printing (if you were lucky). ;-)
add a comment |Â
up vote
1
down vote
In a nut shell, a spooler consists of:
- a background program
- a directory per printer
- a file per print job
In your case, the foreground program (lpr
) sends its print jobs to cups
, which stores it and then uses serial, parallel, USB, network, ... communication to actually start the printing process.
So that's why nowadays even when the printer runs out of paper you can still continue using your computer, whereas back when I was a kid on CP/M, the whole computer locked up until you added more paper...
Why is it called "spooling"?
Because in those times, large computers used tape to store these kind of files as disks were too expensive, so when you were working inside the data center, the first thing you would hear was the tapes starting to spin (="to spool") and only after a second or 3-4 the printer would start printing (if you were lucky). ;-)
add a comment |Â
up vote
1
down vote
up vote
1
down vote
In a nut shell, a spooler consists of:
- a background program
- a directory per printer
- a file per print job
In your case, the foreground program (lpr
) sends its print jobs to cups
, which stores it and then uses serial, parallel, USB, network, ... communication to actually start the printing process.
So that's why nowadays even when the printer runs out of paper you can still continue using your computer, whereas back when I was a kid on CP/M, the whole computer locked up until you added more paper...
Why is it called "spooling"?
Because in those times, large computers used tape to store these kind of files as disks were too expensive, so when you were working inside the data center, the first thing you would hear was the tapes starting to spin (="to spool") and only after a second or 3-4 the printer would start printing (if you were lucky). ;-)
In a nut shell, a spooler consists of:
- a background program
- a directory per printer
- a file per print job
In your case, the foreground program (lpr
) sends its print jobs to cups
, which stores it and then uses serial, parallel, USB, network, ... communication to actually start the printing process.
So that's why nowadays even when the printer runs out of paper you can still continue using your computer, whereas back when I was a kid on CP/M, the whole computer locked up until you added more paper...
Why is it called "spooling"?
Because in those times, large computers used tape to store these kind of files as disks were too expensive, so when you were working inside the data center, the first thing you would hear was the tapes starting to spin (="to spool") and only after a second or 3-4 the printer would start printing (if you were lucky). ;-)
edited 11 mins ago
answered 17 mins ago
Fabby
2,188621
2,188621
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f471116%2fwhat-does-spool-mean-for-printing%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password