logo

Spooling i operativsystem

I operativsystemet var vi tvungna att ge input till CPU:n, och CPU:n utför instruktionerna och slutligen ger utdata. Men det fanns ett problem med detta tillvägagångssätt. I en normal situation måste vi hantera många processer, och vi vet att tiden det tar för I/O-operationen är mycket lång jämfört med den tid det tar för CPU:n att utföra instruktionerna. Så i det gamla tillvägagångssättet kommer en process att ge ingången med hjälp av en inmatningsenhet, och under denna tid är CPU:n i viloläge.

array sortera java

Sedan exekverar CPU:n instruktionen, och utdata ges igen till någon utenhet, och vid denna tidpunkt är CPU:n också i viloläge. Efter att ha visat utdata börjar nästa process dess exekvering. Så, för det mesta, är CPU:n inaktiv, vilket är det värsta tillstånd som vi kan ha i operativsystem. Här kommer konceptet Spooling in i bilden.

Vad är Spooling

Spooling är en process där data tillfälligt hålls för att användas och exekveras av en enhet, ett program eller ett system. Data skickas till och lagras i minnet eller annan flyktig lagring tills programmet eller datorn begär det för exekvering.

SPOOL är en akronym för samtidiga perifera operationer online . Generellt bibehålls spoolen på datorns fysiska minne, buffertar eller de I/O-enhetsspecifika avbrotten. Spolen bearbetas i stigande ordning och arbetar baserat på en FIFO-algoritm (först in, först ut).

Spooling avser att placera data från olika I/O-jobb i en buffert. Denna buffert är ett speciellt område i minnet eller hårddisken som är tillgängligt för I/O-enheter. Ett operativsystem utför följande aktiviteter relaterade till den distribuerade miljön:

  • Hanterar I/O-enhetsdataspoolning eftersom enheter har olika dataåtkomsthastigheter.
  • Upprätthåller spoolbufferten, som ger en väntestation där data kan vila medan den långsammare enheten kommer ikapp.
  • Upprätthåller parallell beräkning på grund av spoolingprocessen eftersom en dator kan utföra I/O i parallell ordning. Det blir möjligt att låta datorn läsa data från ett band, skriva data till disk och skriva ut till en bandskrivare medan den gör sin datoruppgift.

Hur spooling fungerar i operativsystem

I ett operativsystem fungerar spooling i följande steg, till exempel:

  1. Spooling innebär att skapa en buffert som heter SPOOL, som används för att hålla borta jobb och data tills enheten där SPOOL skapas är redo att använda och utföra det jobbet eller arbeta på data.
  2. När en snabbare enhet skickar data till en långsammare enhet för att utföra någon operation, använder den valfritt sekundärt minne som är anslutet som en SPOOL-buffert. Dessa data sparas i SPOOL tills den långsammare enheten är redo att använda denna data. När den långsammare enheten är klar, laddas data i SPOOL till huvudminnet för de nödvändiga åtgärderna.
    Spooling i operativsystem
  3. Spooling betraktar hela det sekundära minnet som en enorm buffert som kan lagra många jobb och data för många operationer. Fördelen med spooling är att det kan skapa en kö av jobb som körs i FIFO-ordning för att utföra jobben en efter en.
  4. En enhet kan ansluta till många indataenheter, vilket kan kräva viss operation på deras data. Så alla dessa inmatningsenheter kan lägga sina data till det sekundära minnet (SPOOL), som sedan kan exekveras en efter en av enheten. Detta kommer att se till att CPU:n inte är inaktiv när som helst. Så vi kan säga att spooling är en kombination av buffring och kö.
  5. Efter att CPU:n genererat en del utdata, sparas denna utdata först i huvudminnet. Denna utgång överförs till sekundärminnet från huvudminnet och därifrån skickas utgången till respektive utgångsenheter.

Exempel på spooling

Det största exemplet på Spooling är utskrift . Dokumenten som ska skrivas ut lagras i SPOOL och läggs sedan till i kön för utskrift. Under denna tid kan många processer utföra sina operationer och använda CPU:n utan att vänta medan skrivaren exekverar utskriftsprocessen på dokumenten en i taget.

storleken på vektorn c++
Spooling i operativsystem

Många funktioner kan också läggas till i spool-utskriftsprocessen, som att ställa in prioriteringar eller meddela när utskriftsprocessen har slutförts eller att välja olika typer av papper att skriva ut på enligt användarens val.

Fördelar med Spooling

Här är följande fördelar med spoolning i ett operativsystem, till exempel:

  • Antalet I/O-enheter eller operationer spelar ingen roll. Många I/O-enheter kan arbeta tillsammans samtidigt utan störningar eller störningar på varandra.
  • Vid spoolning finns det ingen interaktion mellan I/O-enheterna och CPU:n. Det betyder att processorn inte behöver vänta på att I/O-operationerna ska äga rum. Sådana operationer tar lång tid att slutföra exekveringen, så CPU:n väntar inte på att de ska slutföras.
  • CPU i viloläge anses inte vara särskilt effektiv. De flesta protokoll är skapade för att använda CPU:n effektivt på minsta möjliga tid. Vid spoolning hålls CPU:n upptagen för det mesta och går bara till viloläge när kön är slut. Så alla uppgifter läggs till i kön, och CPU:n kommer att slutföra alla dessa uppgifter och sedan gå in i viloläge.
  • Det tillåter applikationer att köras med CPU:ns hastighet samtidigt som I/O-enheterna körs med sina respektive fulla hastigheter.

Nackdelar med Spooling

I ett operativsystem har spooling följande nackdelar, till exempel:

  • Spooling kräver en stor mängd lagringsutrymme beroende på antalet förfrågningar från ingången och antalet anslutna ingångsenheter.
  • Eftersom SPOOL skapas i det sekundära lagringsutrymmet, kan det ta upp mycket utrymme på det sekundära lagringsutrymmet att ha många indataenheter som arbetar samtidigt och därmed öka disktrafiken. Detta resulterar i att disken blir långsammare och långsammare i takt med att trafiken ökar mer och mer.
  • Spooling används för att kopiera och exekvera data från en långsammare enhet till en snabbare enhet. Den långsammare enheten skapar en SPOOL för att lagra data som ska hanteras i en kö, och CPU:n arbetar på den. Denna process i sig gör Spooling meningslös att använda i realtidsmiljöer där vi behöver realtidsresultat från CPU:n. Detta beror på att inmatningsenheten är långsammare och därmed producerar sin data i en långsammare takt samtidigt som CPU:n kan arbeta snabbare, så den går vidare till nästa process i kön. Det är därför det slutliga resultatet eller resultatet produceras vid ett senare tillfälle istället för i realtid.

Skillnaden mellan spooling och buffring

Spooling och buffring är de två sätt som I/O-undersystem förbättrar datorns prestanda och effektivitet genom att använda ett lagringsutrymme i huvudminnet eller på disken.

Spooling i operativsystem

Den grundläggande skillnaden mellan spooling och buffring är att spoolning överlappar I/O för ett jobb med utförandet av ett annat jobb. I jämförelse överlappar buffringen I/O för ett jobb med exekveringen av samma jobb. Nedan är några fler skillnader mellan spooling och buffring, till exempel:

Villkor Spolning Buffring
Definition Spooling, en förkortning av Simultaneous Peripheral Operation Online (SPOOL), placerar data i ett tillfälligt arbetsområde för åtkomst och bearbetning av ett annat program eller resurs. Buffring är en handling att lagra data tillfälligt i bufferten. Det hjälper till att matcha hastigheten på dataströmmen mellan avsändaren och mottagaren.
Resursbehov Spooling kräver mindre resurshantering eftersom olika resurser hanterar processen för specifika jobb. Buffring kräver mer resurshantering eftersom samma resurs hanterar processen för samma delade jobb.
Internt genomförande Spooling överlappar in- och utdata från ett jobb med beräkningen av ett annat jobb. Buffring överlappar in- och utdata från ett jobb med beräkningen av samma jobb.
Effektiv Spooling är effektivare än buffring. Buffring är mindre effektivt än spolning.
Processor Spooling kan också behandla data på avlägsna platser. Spoolern behöver bara meddela när en process slutförs på fjärrplatsen för att spoola nästa process till fjärrenheten. Buffring stöder inte fjärrbearbetning.
Storlek på minne Den betraktar disken som en enorm spool eller buffert. Buffert är ett begränsat område i huvudminnet.