อันดับแรกให้เริ่มด้วยความหมายของคำว่า“ การสปูลลิ่ง”: บางครั้งขนาดของเอกสารมีขนาดใหญ่กว่าหน่วยความจำของเครื่องพิมพ์ดังนั้น“ การสพูลเครื่องพิมพ์” ช่วยให้สามารถส่งเอกสารหลายฉบับไปยังเครื่องพิมพ์และวางเอกสารทั้งหมดในคิว
ตอนนี้ภายใต้ระบบปฏิบัติการ Unix มีสองระบบการพิมพ์:
- ระบบการสพูล BSD ใช้
lpd
daemon เพื่อกำหนดเวลางานพิมพ์
- ระบบการสพูล SVR4 ใช้
lpsched
เป็นตัวกำหนดตารางเวลา
USAILของ Jeff Lessem : การเรียนรู้แบบอิสระเกี่ยวกับการบริหารระบบ Unixมีหัวข้อการพิมพ์ภายใต้ Unixซึ่งให้ภาพรวมที่ดีของทั้งระบบ BSD และ SVR4:
ระบบ BSD แกน
ขยายไปถึงเครือข่ายขนาดใหญ่ที่แตกต่างกันทำให้คอมพิวเตอร์หลายเครื่องใช้เครื่องพิมพ์ร่วมกัน
ภายใต้ระบบการสพูล BSD การเข้าถึงเครื่องพิมพ์ถูกควบคุมโดยlpd
daemon และlpr
โปรแกรม lpr
เป็นโปรแกรมเดียวในระบบ BSD ที่สามารถจัดคิวไฟล์สำหรับการพิมพ์
lpr
ยอมรับข้อมูลที่จะพิมพ์วางไว้ในไดเร็กทอรีการสพูลและแจ้งlpd
daemon สำหรับงานพิมพ์แต่ละงานlpr
สร้างสองไฟล์ไฟล์ควบคุม (cfxxx) และไฟล์ข้อมูล (dfxxx) ในไดเรกทอรีสปูล xxx แสดงถึง job-id ที่ไม่ซ้ำกัน ไฟล์ควบคุมประกอบด้วยข้อมูลสำหรับการจัดการงานพิมพ์รวมถึงข้อมูลประจำตัวของเจ้าของ ไฟล์ข้อมูลมีข้อมูลจริงที่จะพิมพ์
lpd
ภูตตรวจสอบ/etc/printcap
ไฟล์เพื่อระบุเครื่องพิมพ์ปลายทาง หากเครื่องพิมพ์ปลายทางเป็นอุปกรณ์ท้องถิ่น
lpd
ให้ตรวจสอบว่าสำเนาlpd
daemon ทำงานบนคิวการพิมพ์นั้น มิฉะนั้นจะlpd
เปิดการเชื่อมต่อไปยังรีโมตโฮสต์ที่เครื่องพิมพ์เชื่อมต่ออยู่และถ่ายโอนทั้งไฟล์ควบคุมและไฟล์ข้อมูลไปยังเครื่องพิมพ์
งานพิมพ์ถูกกำหนดเวลาโดยlpd
ใช้พื้นฐานแบบเข้าก่อนออกก่อน (FIFO) อย่างไรก็ตามผู้ดูแลระบบอาจใช้คำสั่ง lpc เพื่อเปลี่ยนลำดับความสำคัญของงานในคิวการพิมพ์
ระบบสปูล SVR4นั้นใช้โดย Solaris และ HP-UX ให้การควบคุมและความยืดหยุ่นที่มากขึ้น แต่ไม่ได้ออกแบบมาสำหรับการพิมพ์ผ่านเครือข่ายและมีความซับซ้อนในการติดตั้ง
ภายใต้ระบบการจัดเก็บ SVR4 lp
คำสั่งยอมรับข้อมูลที่จะพิมพ์ทำสำเนาของมันในไดเรกทอรีเก็บพักที่เกี่ยวข้องกับปลายทาง ปลายทางประกอบด้วยชื่อเครื่องพิมพ์และข้อกำหนดทางเลือกของคลาสที่เป็นเจ้าของเครื่องพิมพ์ เมื่อเครื่องพิมพ์ที่ระบุไม่ว่างงานจะถูกส่งไปยังเครื่องพิมพ์อื่นในระดับเดียวกัน ไดเร็กทอรีสพูลปกติแล้ว/var/spool/lp/request/printer-name
และไฟล์การพิมพ์จะได้รับชื่อเฉพาะเพื่อระบุทั้งงานและผู้ใช้
การเข้าถึงเครื่องพิมพ์ถูกควบคุมโดยlpsched
daemon มันรับงานจากไดเรกทอรี spool และส่งไปยังปลายทางที่เหมาะสมเมื่อมันพร้อมใช้งาน lpsched ยังเก็บบันทึกโดยปกติ/usr/spool/lp/log
เป็น ไฟล์บันทึกจะระบุข้อผิดพลาดใด ๆ ในการประมวลผลงานพิมพ์รวมถึงชื่อผู้ใช้
ดูเพิ่มเติมที่: เครื่องพิมพ์และสพูลเลอร์เครื่องพิมพ์ - lp, lpstat และคำสั่งยกเลิก เคล็ดลับ & เทคนิคสำหรับบล็อกของไอที