Spolning - Spooling
I databehandling är spooling en specialiserad form av multiprogrammering för att kopiera data mellan olika enheter. I samtida system används det vanligtvis för att förmedla mellan en datorprogram och en långsam kringutrustning , till exempel en skrivare . Spooling gör det möjligt för program att "överlämna" arbete som görs av kringutrustningen och sedan fortsätta till andra uppgifter, eller att de inte börjar förrän inmatningen har transkriberats. Ett dedikerat program, spoolern , upprätthåller en ordnad sekvens av jobb för kringutrustningen och matar data i sin egen takt. Omvänt, för långsamma ingångs kringutrustning såsom en kortläsare , kan en spooler upprätthålla en sekvens av beräknings jobb som väntar för data, som börjar varje jobb när all relevant ingång är tillgänglig; se batchbearbetning . Den spolen i sin tur hänvisar till sekvensen av jobb, eller lagerområdet där de hålls. I många fall kan spolen köra enheter med full nominell hastighet med minimal påverkan på annan bearbetning.
Spooling är en kombination av buffring och kö .
Skriv ut spooling
Numera är den vanligaste användningen av spooling utskrift: dokument som är formaterade för utskrift lagras i en kö vid datorns hastighet, sedan hämtas och skrivs ut med skrivarens hastighet. Flera processer kan skriva dokument till spolen utan att vänta, och kan sedan utföra andra uppgifter medan "spooler" -processen driver skrivaren.
Till exempel när en stor organisation förbereder lönekontroller tar beräkningen bara några minuter eller till och med sekunder, men utskriftsprocessen kan ta timmar. Om löneprogrammet tryckt checkar direkt kan det inte gå vidare till andra beräkningar förrän alla kontroller skrivs ut. På liknande sätt kunde ordbehandlare inte göra någonting annat, inklusive att interagera med användaren, medan utskrifter läggs till i PC- operativsystem .
Programvara för spooler eller utskriftshantering innehåller ofta en mängd relaterade funktioner, som att tillåta prioriteringar för utskriftsjobb, meddela användare när deras dokument har skrivits ut, distribuera utskriftsjobb på flera skrivare, välja lämpligt papper för varje dokument etc.
En skrivarserver använder spolningstekniker så att många datorer kan dela samma skrivare eller grupp av skrivare.
Bannersida
Utskriftskylare kan konfigureras för att lägga till en bannersida , även kallad en burst-sida , jobbark eller skrivarseparator , i början och slutet av varje dokument och jobb. Dessa separata dokument från varandra identifierar varje dokument (t.ex. med titeln ) och anger ofta vem som skrev ut det (t.ex. med användarnamn eller jobbnamn ). Bannersidor är värdefulla i kontorsmiljöer där många delar ett litet antal skrivare. De är också värdefulla när ett enda jobb kan producera flera dokument. Beroende på konfiguration kan bannersidor genereras på varje klientdator, på en central skrivarserver eller av själva skrivaren.
På skrivare som använder fläktformade kontinuerliga former skrivs ofta en ledande bannersida ut två gånger så att en kopia alltid kommer att vara uppåt när jobben separeras. Sidan kan innehålla rader som skrivs ut över vikningen, vilket skulle vara synligt längs kanten på en bunt med utskrifter, så att operatören enkelt kan separera jobben. Vissa system skulle också skriva ut en bannersida i slutet av varje jobb och försäkra användarna att de hade samlat hela sin utskrift.
Andra applikationer
Spooling används också för att förmedla åtkomst till stansade kortläsare och stansar, magnetbandstationer och andra långsamma, sekventiella I / O-enheter. Det gör att applikationen kan köras med processorns hastighet medan man använder kringutrustning med full hastighet.
Ett batchbehandlingssystem använder spooling för att upprätthålla en kö med färdiga uppgifter som kan startas så snart systemet har resurser att bearbeta dem.
Vissa lagrings- och vidarebefordringssystem , som uucp , använde "spool" för att hänvisa till deras inkommande och utgående meddelandeköer, och denna terminologi finns fortfarande i dokumentationen för e-post- och Usenet- programvara.
Historia
Perifera enheter har alltid varit mycket långsammare än kärnbearbetningsenheter. Detta var ett särskilt allvarligt problem för tidiga mainframes . Till exempel tvingades ett jobb som läste stansade kort eller genererade utskrifter direkt att köra med hastigheten på de långsamma mekaniska anordningarna. De första spolningsprogrammen, till exempel IBM: s "SPOOL System" (7070-IO-076) kopierade data från stansade kort till magnetband och från tejp tillbaka till stansade kort och skrivare. Hårddiskar , som är ännu snabbare och stöder slumpmässig åtkomst , började ersätta denna användning av magnetband i mitten av 1960-talet och hade på 1970-talet tagit bort denna användning av tejp.
Eftersom enhetsinspelningsutrustningen på IBM-stordatorer i början av 1960-talet var långsam var det vanligt att större system använde en liten offline-maskin som en 1401 istället för att spole.
Uttrycket "spole" kan ha sitt ursprung i programvaran Simultaneous Peripheral Operations On-Line (SPOOL); denna härledning är dock osäker. Samtidiga perifera operationer online kan vara en backronym . En annan förklaring är att det hänvisar till "spolar" eller rullar av magnetband, även om "spole" är en ovanlig användning.
Lista över spolningssystem
- IBM SPOOL System, 7070-IO-076
- Integrerad anläggning för olika operativsystem, t.ex. GCOS , OS / 360
- Attached Support Processor (ASP) i OS / 360 och OS / VS2 (SVS) .
- Houston Automatic Spooling Priority (HASP) i OS / 360 och SVS, framträdande på 1960-talet
- Delsystem för jobbinmatning (JES, aka JES1) i OS / VS1
- Job Entry Subsystem 2 (JES2), en följare av HASP
- Job Entry Subsystem 3 (JES3), en anhängare av ASP
- Prioriterade utskriftsskrivare, exekveringsprocessorer och ingångsavläsare (POWER)
- GREPP
- Spooleren , IBM DOS / 360 , DOS / VS och DOS / VSE- spolen, 1975–1980-talet
- Den Berkeley utskriftssystem (LPR / LPD)
- KOPPAR
- VM / 370 RSCS (Remote Spooling Communications Subsystem)