ระบบปฏิบัติการทั้งหมดเท่าที่ฉันรู้มี "คิวการพิมพ์" ซึ่งดูเหมือนว่าบัฟเฟอร์พิมพ์เอกสารออกไปยังเครื่องพิมพ์ตามลำดับที่ร้องขอ
"คิวการพิมพ์" เป็นส่วนที่มองเห็นได้ของพรินเตอร์เซอร์วิส / daemon ซึ่งเดิมเป็นโปรแกรมที่เรียกว่า SPOOL (สำหรับ Simultaneous Peripheral Operations On-Line) เช่นสำหรับระบบปฏิบัติการ HASP / OS360 ที่รันบนเมนเฟรม IBM 360 (IMO SPOOL เป็นหนึ่งในตัวย่อที่ดีที่สุดเพราะมันเป็นคำภาษาอังกฤษ (ทั้งคำนามและคำกริยา) ที่สามารถใช้เป็นอุปมาอุปไมยเพื่ออธิบายการทำงานของบริการเครื่องพิมพ์)
ก่อนที่เครื่องพิมพ์เครือข่ายฉันจะจินตนาการว่าเครื่องพิมพ์จริงถูกส่งข้อมูลเกือบทุกบรรทัดจากเครื่องที่เชื่อมต่อ
จริงไม่จำเป็นสำหรับ "เกือบ"
ขณะนี้มีเครื่องพิมพ์เครือข่ายรุ่นจินตนาการนี้แตกสลาย ฉันถือว่าเครื่องพิมพ์ที่ทันสมัยเพิ่งได้รับเอกสาร ป.ล. (หรือรูปแบบการพิมพ์อื่น ๆ ) จากระบบปฏิบัติการเก็บไว้ในหน่วยความจำและพิมพ์จากมัน
"เครื่องพิมพ์ Line" หรือเครื่องพิมพ์ "dumb" ที่รับเฉพาะข้อความล้วนล้าสมัยโดยถูกแทนที่ด้วย "เครื่องพิมพ์หน้า" ที่รับอินพุตในภาษาคำอธิบายหน้าบางประเภท(เช่น Postscript, PCL) เนื่องจากมีข้อมูลมากกว่าข้อความสำหรับหน้ากล่าวคือจะต้องส่งหน้าทั้งหมดในรูปแบบ PDL ไปยังเครื่องพิมพ์ส่วนต่อประสานที่เก่ากว่าเช่นพอร์ตขนาน "Centronics" และอนุกรม RS-232 ถูกแทนที่ด้วย USB และ อีเธอร์เน็ต (มีสายและไร้สาย)
โปรดทราบว่าการมีอินเตอร์เฟซอีเธอร์เน็ตและเรียกมันว่า "เครื่องพิมพ์เครือข่าย" ไม่ได้หมายความว่ามันสามารถทำงานได้เหมือน "เซิร์ฟเวอร์เครื่องพิมพ์" บนเครือข่าย "เครื่องพิมพ์เครือข่าย" ที่กำหนดค่าในโหมด "เพียร์ทูเพียร์" ต้องติดตั้ง "ไดรเวอร์เครื่องพิมพ์" ในพีซีทุกเครื่องที่ต้องการใช้เครื่องพิมพ์นั้น จากนั้น "เครื่องพิมพ์เครือข่าย" นั้นได้รับการติดตั้งเป็นเครื่องพิมพ์ภายในเครื่องกับพีซี แต่จะเจรจาและใช้เครื่องพิมพ์นั้นผ่านทางการเชื่อมต่อเครือข่าย งานพิมพ์ไปยัง "เครื่องพิมพ์เครือข่าย" จะต้องจัดขึ้นในคิวท้องถิ่นเช่นเดียวกับงานไปยังเครื่องพิมพ์ท้องถิ่นอื่น ๆ
เครื่องพิมพ์หน้าจะไม่ส่งเอกสารทั้งหมด (ตามที่คุณจินตนาการ) แต่เป็น "หน้า" ในแต่ละครั้ง แน่นอน "หน้า" จะอยู่ในรูปแบบ PDL และอาจแบ่งเป็นบรรทัดและแพ็คเก็ตขึ้นอยู่กับสื่อการถ่ายโอน เนื่องจากสิ่งเหล่านี้เป็นเครื่องพิมพ์หน้าแทนที่จะเป็นเซิร์ฟเวอร์เครื่องพิมพ์จึงไม่มีที่เก็บข้อมูลขนาดใหญ่ (เช่นฮาร์ดไดรฟ์) และต้องเก็บ "หน้า" แต่ละรายการไว้ในหน่วยความจำท้องถิ่นจนกว่าจะพิมพ์ออกมา โพรโทคอล "การควบคุมการไหล" (aka การจับมือกัน) จะเกิดขึ้นเพื่อให้พีซีส่งแฟรกเมนต์หน้าหรือหน้าเมื่อหน่วยความจำเพิ่มเติมมีอยู่ในเครื่องพิมพ์
คำถามคือคิวการพิมพ์ของระบบปฏิบัติการหมายความว่าอย่างไรหากเครื่องพิมพ์สามารถรับเอกสารหลายชุดได้
ถ้าคุณไม่มีเซิร์ฟเวอร์การพิมพ์ที่มีที่เก็บข้อมูลขนาดใหญ่ (เช่นฮาร์ดดิสก์) เครื่องพิมพ์เครือข่าย "" จะไม่ยอมรับเอกสารที่สมบูรณ์หรือเอกสารหลายฉบับยกเว้นว่าพวกเขามีขนาดเล็กพอที่จะใส่ใน RAM ของเครื่องพิมพ์ได้ ต้องใช้คิวเครื่องพิมพ์ของพีซีในการสั่งซื้อและจัดเก็บงานพิมพ์ที่ค้างอยู่ที่มาจากพีซี พีซีแต่ละเครื่องในเครือข่ายที่ใช้ "เครื่องพิมพ์เครือข่าย" นั้นต้องต่อกรกับเครื่องพิมพ์ที่ใช้ร่วมกัน "เครื่องพิมพ์เครือข่าย" สามารถรักษาคิวคำของานจากพีซีทุกเครื่องหรืออย่างน้อยพีซีเครื่องใดที่กำลังร้องขอบริการ โปรดทราบว่ามันจะรับรู้ถึงการร้องขอเท่านั้นและไม่เก็บข้อมูลหน้าใด ๆ (ที่ยังคงอยู่ในพีซีแต่ละเครื่อง) จนกว่าเครื่องพิมพ์จะพร้อมที่จะเริ่มงานดังกล่าว
หากคุณมีเซิร์ฟเวอร์เครื่องพิมพ์จริง ๆ แล้วคิวโลคัลเป็นเพียงขั้นตอนกลางก่อนที่งานพิมพ์จะสิ้นสุดลงในคิวของเซิร์ฟเวอร์เครื่องพิมพ์
คิวการพิมพ์ระบบปฏิบัติการแสดงให้เราเห็นว่าไม่มีสิ่งใดที่เครื่องอื่นกำลังพิมพ์เนื่องจากเป็นบัฟเฟอร์ในเครื่อง ดังนั้นต้องหมายความว่าเครื่องพิมพ์มีคิวออนบอร์ดใช่ไหม เหตุใดเราจึงมีคิวการพิมพ์ด้วยหากเราไม่เห็นว่ามีอะไรที่พิมพ์ออกมาบ้าง
หวังว่าเครื่องพิมพ์จะมีคิวคำขอเพื่อรักษารายการงานที่พิมพ์ออกมาก่อน ไม่เช่นนั้นพีซีเครื่องอื่นอาจจะแออัดโดยพีซีเครื่องอื่น คุณยังต้องใช้คิวในเครื่องเนื่องจากนั่นคือวิธีที่คุณยังคงส่งงานพิมพ์บนพีซีในระบบ หากคุณไม่มีเซิร์ฟเวอร์การพิมพ์เครือข่ายจริงที่มีที่เก็บข้อมูลขนาดใหญ่สำหรับเก็บงานพิมพ์ของคุณงานพิมพ์ของคุณจะต้องอยู่บนพีซีในพื้นที่ของคุณจนกว่าจะสามารถเคลื่อนย้ายได้ ตรวจสอบกับผู้ผลิตเครื่องพิมพ์ (หรือเซิร์ฟเวอร์) สำหรับแอพที่ใช้เครือข่ายหรือเครื่องมือในการสืบค้นเพื่อสอบถามคิว / สถานะของเครื่องพิมพ์ (หรือเซิร์ฟเวอร์)
เครื่องพิมพ์จะพิมพ์เอกสารจากหลาย ๆ เครื่องได้อย่างไรหากเครื่องพิมพ์แต่ละเครื่องไม่มีส่วนเกี่ยวข้องกับการพิมพ์อื่น ๆ เช่นกัน
นี่เป็นปัญหาการจัดสรรทรัพยากรทั่วไปในสาขาวิทยาการคอมพิวเตอร์: ผู้ใช้หลายคน / ผู้บริโภคต่อสู้เพื่อทรัพยากรเดียว ในกรณีนี้ (ซึ่งไม่มีปัญหาใด ๆ ) เครื่องพิมพ์หรือเซิร์ฟเวอร์สามารถรับแต่ละคำขอจากนั้นจัดลำดับความสำคัญตามลำดับ การควบคุมการไหลจะทำให้แน่ใจได้ว่าเครื่องพิมพ์ไม่ได้รับภาระมากเกินไป โซลูชันอื่นที่เป็นไปได้ (ซึ่งทำให้ภาระงานที่เครื่องพิมพ์ง่ายขึ้น) เป็นรูปแบบการส่งสัญญาณโทเค็น พีซีที่ได้รับ "โทเค็น" นั้นได้รับอนุญาตให้ใช้งานเครื่องพิมพ์หนึ่งงาน หลังจากพิมพ์งานนั้นแล้วพีซีเครื่องนั้นจะต้องส่งโทเค็นไปยังพีซีเครื่องอื่นที่มีงานในคิว