Spooling
Spooling (anglicky Simultaneous Peripheral Operation On Line) je v informatice technika sdílení vstupně-výstupních zařízení v multitaskingovém (víceúlohovém) operačním systému. V daném okamžiku může vstupně-výstupní zařízení provádět jen jednu úlohu, a proto jsou při současném přístupu více aplikací k zařízení jejich požadavky řazeny do fronty. Pro realizaci fronty požadavků (úloh) je většinou využit souborový systém na pevném disku či v ramdisku.
Tisková fronta
editovatNejběžnější aplikací využívající spooling (tj. zařazování do fronty), je tisk na počítačovou tiskárnu. Ve víceúlohovém prostředí je nevhodné, aby procesy přistupovaly k tiskárně (resp. k portu) přímo, protože by mohlo dojít k souběhu nebo uváznutí. Proto tiskárnu obsluhuje speciální démon (proces), který k tiskárně jako jediný přímo přistupuje (tj. posílá jí data k vytištění). Běžící úlohy (např. Microsoft Word) mu předávají data určená k tisku, která démon typicky nejprve odkládá do tiskové fronty. Tisková fronta je typicky adresář, který je pro tiskárnu vyhrazen. Tiskové úlohy jsou proto do fronty umisťovány v podobě souborů.
Výhodou tiskové fronty může být i to, že data jsou do fronty zapsána relativně rychle, zatímco vlastní tisk může trvat velmi dlouho. Díky existenci fronty však nebude program, který tisk vytváří, muset čekat na dokončení tisku. Démon řídící tisk může pracovat s prioritami (některé úlohy mohou být tisknuty přednostně), může zajistit účtování (platby) za tisk, rozdělovat úlohy mezi více tiskáren, tisknout na začátku identifikační stránku atd. V osobních počítačích se obvykle nastavuje, že tisk je zahájen okamžitě po začátku zápisu dat do fronty (nečeká se na dokončení zápisu celé tiskové úlohy do fronty). Naopak u tiskáren, které jsou sdíleny více lidmi, je výhodnější zahájit tisk až teprve v okamžiku, kdy jsou všechna data připravena (je-li tiskárna rychlá, není nutné čekat na program, který tiskovou úlohu vytváří).
Historie
editovatV počítačovém systému s periferními zařízeními, jako jsou tiskárny, čtečky karet a podobně dochází k situaci, kdy tato zařízení jsou vůči zbytku systému velmi pomalá. Kvůli tomu bylo získání vstupu nebo odesílání výstupu na tyto zařízení problémem, který znamenal zpomalení celého systému na rychlost vstupního/výstupního zařízení.
Na přelomu 50. a 60. let 20. století počítače používaly software umožňující spooling, například: IBM „SPOOL System“ 7070-IO-076 ke kopírování dat z jednoho media na druhé. Zavedení relativně levného IBM 1401 vedlo k dočasnému snížení používání SPOOL software, jelikož mnoho velkých počítačových zařízení sloužící standalone řídilo tiskárny a další periferní zařízení.
Dříve sálové počítače neměly žádné pevné disky a ty nejnovější měly podle dnešních měřítek, malé a drahé pevné disky; v dalších systémech paměťové pásky zmizely ve prospěch pevných disků.
Původ názvu
editovat„SPOOL“ je zkratka pro souběžné periferní operace online; pro tiskárny: současný periferní výstup online. Další možností je, že termín vychází z anglického slova „spool“ (cívka), kdy data pro pozdější použití byla nahrána na pásku a ta byla namotána na cívce. Modernější verze je taková, že tento termín pochází z ikony blokového schématu kreslení cívky vláken, která v IBM-ESE představuje dočasné uložení dat na pevném disku pod kontrolou úlohy operačního systému.