मुद्रण के लिए स्पूल का क्या अर्थ है?


18

मार्क ने मेरे लिए एक टिप्पणी लिखी

मैं यह नहीं जानता कि कप को स्पूल नहीं बनाना है, यानी प्रिंटर ड्राइवर के चलने के बाद lpr कमांड को कैसे बाहर निकालना है।

मुद्रण के लिए "स्पूल" का क्या अर्थ है?

Google का कहना है कि यह एक क्रिया का अर्थ है "भेजें (डेटा जो एक परिधीय डिवाइस पर मुद्रण या प्रसंस्करण के लिए प्रसंस्करण के लिए है)।" मध्यवर्ती स्टोर क्या है जो मुद्रण स्पूल का प्रतिनिधित्व करता है, उदाहरण के लिए, जब lprकमांड द्वारा छपाई की जाती है

मार्क अवरुद्ध होने के साथ स्पूल का अर्थ संबंधित लगता है। लेकिन मैं Google द्वारा दी गई परिभाषा को देखकर यह पता नहीं लगा सकता।

धन्यवाद।

जवाबों:


12

एक प्रिंट स्पूल प्रभावी रूप से एक बफर है, जो प्रति प्रोग्राम प्रबंधित (स्पूलर) है, जो प्रोग्राम सबमिट करने और उन्हें एक या अधिक प्रिंटरों को खिलाने से नौकरी प्राप्त करने के लिए जिम्मेदार है। स्पूल का बिंदु अलग-अलग गति के साथ दो प्रणालियों के बीच संचार को संभालना है, और साझा उपकरणों तक पहुंच को नियंत्रित करना है। पूर्व के साधनों के कार्यक्रम प्रिंट की नौकरियों को जितनी जल्दी चाहें जमा कर सकते हैं, और उन नौकरियों को तेजी से (या धीरे-धीरे) निपटाया जाता है जैसे प्रिंटर संभाल सकते हैं। उत्तरार्द्ध (जैसा कि रॉनजॉन द्वारा बताया गया है ) यह सुनिश्चित करता है कि नौकरियों को सुसंगत रूप से नियंत्रित किया जाए: इस प्रकार जब मुद्रण, नौकरियों को मिलाया नहीं जाता है।

नेटवर्क प्रिंटर अपने स्वयं के स्पूल प्रदान करते हैं, और प्रिंट सर्वर (सीयूपीएस, lpdआदि) भी स्पूल को लागू करते हैं। अधिकांश प्रिंट सिस्टम एक्सेस कंट्रोल, कोटा, बैनर, प्रिंट विकल्प आदि भी संभालते हैं। स्पूल अन्य संदर्भों में उपयोग किए जाते हैं; उदाहरण के लिए, टेप-आधारित बैकअप सर्वर अब फास्ट डिस्क-आधारित स्टोरेज सिस्टम पर नेटवर्क होस्ट से बैकअप डेटा को स्पूल करते हैं, ताकि वे तब टेप-शाइन से बचने के लिए उन्हें जबरदस्त गति से आधुनिक टेप ड्राइव खिला सकें।

टिप्पणी के संदर्भ में, एक स्पूल की प्रासंगिकता यह है कि यह प्रिंट कार्य को उसकी पूर्ति से प्रस्तुत करता है। स्पूलिंग का मतलब यह नहीं होगा कि सबमिशन केवल प्रिंट जॉब के साथ पूरा होगा, और इस तरह आपका lprकमांड काम पूरा होने के बाद ही पूरा होगा। आपके कंप्यूटर पर स्पूल को हटाने से वांछित परिणाम नहीं हो सकता है, क्योंकि प्रिंटर खुद भी स्पूल कर सकता है!


1
"स्पूल" के अर्थ का कौन सा हिस्सा लिनक्स कर्नेल के IO बफर पर लागू नहीं होता है?
टिम

3
मेल सिस्टम अक्सर /var/spool/mailया इसी तरह के स्थान के तहत मेल स्पूल का उपयोग कर रहा है । मेल संदेशों के अतुल्यकालिक भेजने के लिए अनुमति देने के लिए यह एक "बफर" भी है। मेल संदेश स्पूल्ड / कतारबद्ध है और मेल क्लाइंट को वास्तव में सिस्टम छोड़ने के लिए मेल का इंतजार नहीं करना पड़ता है। छपाई का काम बहुत पसंद है।
Kusalananda

1
@ यह वास्तव में लागू होने या नहीं होने का सवाल नहीं है, इसे सिर्फ स्पूल नहीं कहा जाता है। बफ़र आम तौर पर बफर में फीड किए जाने वाले ऑपरेशन में नॉनब्लॉकिंग करते हैं: writeजैसे ही डेटा (लिनक्स, पेज कैश) में जो भी बफर इस्तेमाल किया जाता है, उसमें डेटा पूरा लिखे जाने के बाद पूरा नहीं होता। readजरूरी नहीं कि गैर-अवरुद्ध हो, और अनुरोध किए गए से कम डेटा वापस कर सकता है।
स्टीफन किट

1
ध्यान दें कि - "अलग-अलग गति के साथ दो प्रणालियों के बीच संचार" को संभालने के अलावा - स्पूल उन धीमे उपकरणों तक पहुंच को क्रमबद्ध करता है। (आप कल्पना कर सकते हैं कि एक ही समय में प्रिंटर या मॉडम पर लिखना कई नौकरियों के लिए कितना बुरा होगा ...)
रॉनजॉन

1
प्रिंट स्पूल आमतौर पर डिस्क पर संग्रहीत होते हैं, जहां भी प्रिंट सर्वर होस्ट किया जाता है। जब मैं कहता हूं कि प्रिंटर का अपना स्पूल भी हो सकता है, यह सामान्य रूप से "नेटवर्केड" प्रिंटर के लिए मामला है (जो एक विशिष्ट कंप्यूटर के बजाय नेटवर्क से जुड़े हैं); वे अपने स्वयं के प्रिंट सर्वर की मेजबानी करते हैं और कई आने वाली नौकरियों का प्रबंधन करना होता है (जो वे अपने स्वयं के स्पूल के द्वारा करते हैं)। जब किसी प्रिंटर का अपना स्पूल होता है, तो वह प्रिंट नौकरियों को बहुत तेज़ी से स्वीकार कर सकता है, जितना कि वे प्रिंट कर सकते हैं, इसलिए यदि lprप्रिंटर ने नौकरी स्वीकार करने का इंतजार किया, तब भी पूरी तरह से संसाधित होने से पहले ही अंतराल होगा।
स्टीफन किट

36

संक्षेप में, एक स्पूलर में निम्न शामिल हैं:

  • एक पृष्ठभूमि कार्यक्रम
  • एक निर्देशिका प्रति प्रिंटर
  • एक फ़ाइल प्रति प्रिंट नौकरी

आपके मामले में, अग्रभूमि कार्यक्रम ( lpr) अपनी प्रिंट नौकरियों को भेजता है cups, जो इसे संग्रहीत करता है और फिर सीरियल, समानांतर, यूएसबी, नेटवर्क, ... संचार का उपयोग वास्तव में मुद्रण प्रक्रिया शुरू करने के लिए करता है।

इसलिए आजकल भी जब प्रिंटर कागज से बाहर निकलता है , तब भी आप अपने कंप्यूटर का उपयोग जारी रख सकते हैं, जबकि जब मैं सीपी / एम पर एक बच्चा था, तब तक पूरा कंप्यूटर लॉक हो जाता था जब तक कि आप अधिक पेपर नहीं जोड़ते ...

इसे "स्पूलिंग" क्यों कहा जाता है?

क्योंकि उस समय में, बड़े कंप्यूटर इस तरह की फाइलों को स्टोर करने के लिए टेप का इस्तेमाल करते थे क्योंकि डिस्क बहुत महंगे थे, इसलिए जब आप डेटा सेंटर के अंदर काम कर रहे थे, तो सबसे पहले आप सुनेंगे कि टेप को स्पिन करना शुरू हो गया था और केवल एक सेकंड के बाद या 3-4 प्रिंटर प्रिंट करना शुरू कर देगा (यदि आप भाग्यशाली थे)। ;-)

नोट 1: एक "स्पूल" एक संज्ञा है जिसका अर्थ है "एक बेलनाकार उपकरण जिस पर चुंबकीय टेप घाव हो सकता है", इसलिए "स्पूलिंग" बेलनाकार उपकरण है जो टेप को ऊपर और ऊपर घुमाता है ...


5
अधिक सीधे, "स्पूल" एक संज्ञा है जिसका अर्थ है "एक बेलनाकार उपकरण जिस पर चुंबकीय टेप घाव हो सकता है"
ऑरेंजडॉग

1
@OrangeDog: उत्तर में शामिल, धन्यवाद! :-)
फेबी

2
+1 कभी नहीं पता था कि "स्पूल" शब्द कहां से आया है।
जो

@Joe समान कारण बच्चों को आजकल पता नहीं है कि वास्तव में सेव बटन का क्या मतलब है क्योंकि उन्होंने डिस्कनेट / फ्लॉपी / स्टेफी / ... कभी नहीं देखा है
फैबी

5

सबसे पहले, "स्पूलिंग" शब्द के अर्थ के साथ शुरू करें: कभी-कभी किसी दस्तावेज़ का आकार प्रिंटर की मेमोरी से बड़ा होता है, इसलिए "प्रिंटर स्पूलिंग" एक प्रिंटर में कई दस्तावेज़ भेजने और सभी दस्तावेज़ों को एक कतार में रखने की अनुमति देता है।

अब, यूनिक्स के तहत दो प्रिंटिंग सिस्टम हैं:

  1. BSD स्पूलिंग सिस्टम lpdप्रिंट नौकरियों को शेड्यूल करने के लिए डेमॉन का उपयोग करता है ।
  2. SVR4 स्पूलिंग सिस्टम lpschedशेड्यूलर के रूप में उपयोग करता है ।

जेफ लेसेम का उपयोग: यूनिक्स प्रणाली प्रशासन स्वतंत्र शिक्षण में यूनिक्स के तहत मुद्रण पर एक खंड है जो बीएसडी और एसवीआर 4 सिस्टम का अच्छा अवलोकन प्रदान करता है:

बीएसडी spooling सिस्टम

कई कंप्यूटरों को प्रिंटर साझा करने की अनुमति देने वाले बड़े, विषम नेटवर्क तक अच्छी तरह फैली हुई है।

बीएसडी स्पूलिंग सिस्टम के तहत, प्रिंटर तक पहुंच lpd डेमन और lprप्रोग्राम द्वारा नियंत्रित की जाती है । lprबीएसडी प्रणाली पर एकमात्र कार्यक्रम है जो मुद्रण के लिए फाइलों को कतारबद्ध कर सकता है।

lprमुद्रित किए जाने वाले डेटा को स्वीकार करता है, इसे स्पूलिंग डायरेक्टरी में रखता है और lpdडेमॉन को सूचित करता है । प्रत्येक प्रिंट जॉब के लिए, lprस्पूल डायरेक्टरी में दो फाइल्स, एक कंट्रोल फाइल (cfxxx) और एक डेटा फाइल (dfxxx) बनाता है, xxx एक यूनिक जॉब-आईडी का संकेत देता है। नियंत्रण फ़ाइल में स्वामी की पहचान सहित प्रिंट कार्य को संभालने के लिए जानकारी होती है। डेटा फ़ाइल में मुद्रित किया जाने वाला वास्तविक डेटा होता है।

lpdडेमॉन की जाँच करता है /etc/printcapगंतव्य प्रिंटर की पहचान करने के लिए फ़ाइल। यदि गंतव्य प्रिंटर एक स्थानीय डिवाइस है, तो lpdसुनिश्चित करें कि lpdडेमॉन की एक प्रति उस प्रिंट कतार पर चल रही है। अन्यथा lpdरिमोट होस्ट के लिए एक कनेक्शन खोलता है जिसमें प्रिंटर जुड़ा हुआ है और इसे नियंत्रण और डेटा फ़ाइल दोनों में स्थानांतरित करता है।

प्रिंट नौकरियों को lpdपहले-पहले, प्रथम-आउट (FIFO) आधार पर निर्धारित किया जाता है। हालाँकि, सिस्टम व्यवस्थापक प्रिंट कतार में नौकरियों की प्राथमिकता को बदलने के लिए lpc कमांड का उपयोग कर सकता है।

SVR4 स्पूलिंग सिस्टम का उपयोग सोलारिस और HP-UX द्वारा किया जाता है। यह अधिक नियंत्रण और लचीलापन प्रदान करता है लेकिन नेटवर्क प्रिंटिंग के लिए डिज़ाइन नहीं किया गया था और इसे स्थापित करने के लिए अधिक जटिल है।

SVR4 स्पूलिंग सिस्टम के तहत, lpकमांड प्रिंट किए जाने वाले डेटा को स्वीकार करता है, गंतव्य की स्पूल डायरेक्टरी में इसकी एक कॉपी बनाता है। गंतव्य में प्रिंटर का नाम और क्लास का एक वैकल्पिक विनिर्देश होता है, जिसमें प्रिंटर होता है। जब निर्दिष्ट प्रिंटर व्यस्त होता है तो उसी कक्षा में दूसरे प्रिंटर को काम भेजा जाता है। स्पूल निर्देशिका सामान्य रूप से है /var/spool/lp/request/printer-nameऔर प्रिंट फ़ाइल को नौकरी और उपयोगकर्ता दोनों की पहचान करने के लिए एक अनूठा नाम दिया गया है।

प्रिंटर तक पहुंच lpschedडेमन द्वारा नियंत्रित की जाती है । यह स्पूल निर्देशिका से नौकरियों को उठाता है और उपलब्ध होने पर उन्हें उपयुक्त गंतव्य पर भेजता है। lpsched एक लॉग भी रखता है, आमतौर पर /usr/spool/lp/log। लॉग फ़ाइल प्रिंट नौकरियों को संसाधित करने में किसी भी त्रुटि का संकेत देगी, साथ ही उपयोगकर्ता-नाम,

इन्हें भी देखें: प्रिंटर और प्रिंटर स्पूलर - lp, lpstat और रद्द आदेश | आईटी के ब्लॉग के लिए टिप्स और ट्रिक्स


3
अपने स्रोतों का उल्लेख करना अच्छा है ...
स्टीफन किट

मैं अभी तक समाप्त नहीं हुआ ;-)

3
मैं यह स्पष्ट करने के लिए मार्कडाउन स्वरूपण का उपयोग करने का सुझाव दूंगा कि कौन सा पाठ आपका अपना है और जिसे उद्धृत किया गया है। आपको मूल लेखक, जेफ लेसेम को भी unix.stackexchange.com/help/referencing
एंथोनी जी - मोनिका

4

कभी भूल जाते हैं कि SPOOL के लिए एक संक्षिप्त है एस imultaneous पी eripheral हे perations हे एन एल ऑफ़लाइन। कंप्यूटिंग के शुरुआती (लेकिन जल्द से जल्द) दिनों के बाद से, प्रोसेसर ने प्रिंटर की तुलना में तेजी से उत्पन्न परिणाम उन्हें प्रिंट कर सकते हैं। स्पूलिंग के बिना, प्रोसेसर "प्रिंट जॉब" को तब तक समाप्त नहीं कर सकता था जब तक कि मुद्रण स्वयं समाप्त न हो जाए। यह अक्सर एक बेकार प्रोसेसर के परिणामस्वरूप होता है, जो प्रिंटर के लिए इंतजार कर रहा है।

स्पूलिंग में एक बड़ी छलांग अमेरिकी अंतरिक्ष कार्यक्रम के दौरान आई। कंप्यूटर बहुत धीरे-धीरे परिणाम उत्पन्न कर रहे थे, इसलिए एक नया स्पूलिंग सिस्टम सिर्फ नासा के लिए लिखा गया था (हालांकि यह और इसके उत्तराधिकारी लोकप्रियता में प्राप्त हुए जब तक कि सभी आईबीएम सिस्टम उनके पास नहीं थे)। यह कहा जाता था एच Ouston ने एक utomatic एस पूलिंग पी rogram, बनाने कुंडी पहले नेस्टेड परिवर्णी शब्द।

स्पूलिंग के लिए एक अच्छा सादृश्य एक धागा कारखाना है - थ्रेड एक तेज दर पर काता है, और संग्रहीत - जहां और - एक स्पूल पर। फिर धागे का स्पूल अंततः एक सिलाई या अन्य मशीन पर रखा जाता है, जो बहुत धीमी गति से चलता है, जहां इसका उपयोग तैयार उत्पाद बनाने के लिए किया जाता है।


17
ध्यान दें कि "स्पूल" की व्युत्पत्ति व्यापक रूप से एक बैक्रोनियम माना जाता है , और "पीडीक्यू" निश्चित रूप से है।
चिरलीस

6
यह स्पष्ट रूप से तथ्य के बाद निर्मित एक बैक्रोनियम है। इस तरह की अफवाहें फैलाना एक सनक बन रहा है। उनमें से बहुत से यहां सूचीबद्ध हैं , शायद यह "स्पूल" जोड़ने का समय है!
पाइप

4
@ जेनिफ़र जबकि आईबीएम के पास निश्चित रूप से SPOOL नामक एक कार्यक्रम था, यह व्यापक रूप से अनुमान लगाया गया है, जैसा कि ऊपर जार्गोन फ़ाइल लिंक में है, कि उन्होंने या तो उस नाम को एक प्रकार के दंड के रूप में चुना था, या इसे एक मौजूदा शब्द से प्राप्त किया था। किसी भी तरह से, यह संभवतः नौकरियों को टेप के एक स्पूल पर लोड करने और फिर उन्हें वापस खेलने के लिए संदर्भित करता है । आधुनिक उपयोग में, यह न तो एक अप्रचलित आईबीएम उत्पाद को संदर्भित करता है और न ही टेप का एक स्पूल है, इसलिए पूरी बहस बल्कि अकादमिक और स्पर्शरेखा है, जो आज के प्रश्न का मतलब है।
IMSoP 15

3
@ जेनिफर खैर, मैं गलत नहीं हूं कि यह व्यापक रूप से अनुमानित है, भले ही लोग इसे गलत ठहराएं। और यहां तक ​​कि अगर यह सच है कि आईबीएम ने शब्द का आविष्कार किया, तो उन्होंने उन शब्दों को क्यों चुना? क्या उन्होंने नाम लंबे समय तक लिखा और फिर कहा "ओह, यह एक संयोग है, यह एक अंग्रेजी शब्द है" - या क्या यह अधिक संभावना है कि वे एक ऐसे शब्द की तलाश कर रहे थे जो कार्यक्षमता के लिए उपयुक्त लग रहा था, और सोचा कि "नौकरियों पर स्पूलिंग" टेप "एक अच्छी छवि थी?
IMSoP 15

4
इस पोस्ट से विशेष रूप से व्युत्पत्ति संबंधी दावों के लिए उद्धरणों से बहुत लाभ होगा।
टेम्पोरलवुल्फ़

3

स्पूलिंग एक काफी पुराना स्कूल शब्द है। आजकल आप "प्रिंट कतार" का उपयोग अधिक बार देखेंगे।

क्यू करने के लिए एक ब्रिटिश "लाइन में प्रतीक्षा करें" कह रही है। तो प्रिंट नौकरियां "कतारबद्ध" हैं, यानी प्रिंट करने के लिए लाइन में इंतजार करना।

एक नौकरी के बाद स्पूलिंग समाप्त हो गई है (प्रिंट लाइनों के बीच लंबे समय तक "सोच" हो सकती है), फिर इसे प्रिंट किया जाता है, आमतौर पर एक फीफो आधार में लेकिन प्रिंट जॉब प्राथमिकता इसे ओवरराइड कर सकती है।

पेपर बदलने के लिए ऑपरेटर्स के लिए प्रिंट स्पूल और कतारें रोकी जा सकती हैं। यदि कुछ पृष्ठ क्षतिग्रस्त हो गए थे, तो उन्हें पुनः आरंभ किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.