What does spool mean for printing?

The name of the pictureThe name of the pictureThe name of the pictureClash 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.










share|improve this question

























    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.










    share|improve this question























      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.










      share|improve this question













      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 46 mins ago









      Tim

      23.4k66229412




      23.4k66229412




















          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!






          share|improve this answer






















          • 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 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










          • Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
            – Tim
            24 mins ago

















          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






          share|improve this answer


















          • 1




            It’s nice to mention your sources...
            – Stephen Kitt
            37 mins ago










          • I didn't finish yet ;-)
            – Goro
            37 mins ago

















          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). ;-)






          share|improve this answer






















            Your Answer







            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "106"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: false,
            noModals: false,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            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






























            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!






            share|improve this answer






















            • 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 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










            • Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
              – Tim
              24 mins ago














            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!






            share|improve this answer






















            • 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 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










            • Which part of the meaning of "spool" make it not applicable to the IO buffer of Linux kernel?
              – Tim
              24 mins ago












            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!






            share|improve this answer














            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!







            share|improve this answer














            share|improve this answer



            share|improve this answer








            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 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










            • 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










            • 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










            • 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












            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






            share|improve this answer


















            • 1




              It’s nice to mention your sources...
              – Stephen Kitt
              37 mins ago










            • I didn't finish yet ;-)
              – Goro
              37 mins ago














            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






            share|improve this answer


















            • 1




              It’s nice to mention your sources...
              – Stephen Kitt
              37 mins ago










            • I didn't finish yet ;-)
              – Goro
              37 mins ago












            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






            share|improve this answer














            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







            share|improve this answer














            share|improve this answer



            share|improve this answer








            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












            • 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










            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). ;-)






            share|improve this answer


























              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). ;-)






              share|improve this answer
























                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). ;-)






                share|improve this answer














                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). ;-)







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 11 mins ago

























                answered 17 mins ago









                Fabby

                2,188621




                2,188621



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    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













































































                    Comments

                    Popular posts from this blog

                    Long meetings (6-7 hours a day): Being “babysat” by supervisor

                    Is the Concept of Multiple Fantasy Races Scientifically Flawed? [closed]

                    Confectionery