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