logo

Spoolaus käyttöjärjestelmässä

Käyttöjärjestelmässä meidän piti antaa syöte CPU:lle, ja CPU suorittaa ohjeet ja lopulta antaa lähdön. Mutta tässä lähestymistavassa oli ongelma. Normaalitilanteessa joudumme käsittelemään monia prosesseja ja tiedämme, että I/O-operaatioon kuluva aika on erittäin suuri verrattuna CPU:n käskyjen suorittamiseen kulumaan aikaan. Joten vanhassa lähestymistavassa yksi prosessi antaa syötteen syöttölaitteen avulla, ja tänä aikana CPU on lepotilassa.

säännöllinen lauseke javassa

Sitten CPU suorittaa käskyn ja lähtö annetaan jälleen jollekin tulostuslaitteelle, ja tällä hetkellä CPU on myös lepotilassa. Tulosteen näyttämisen jälkeen seuraava prosessi aloittaa suorituksensa. Joten suurimman osan ajasta CPU on käyttämättömänä, mikä on pahin tila, joka meillä voi olla käyttöjärjestelmissä. Tässä tulee esiin spooling-käsite.

Mikä on Spooling

Taustatulostus on prosessi, jossa tietoja pidetään tilapäisesti laitteen, ohjelman tai järjestelmän käyttöä ja suorittamista varten. Tiedot lähetetään ja tallennetaan muistiin tai muuhun haihtuvaan tallennustilaan, kunnes ohjelma tai tietokone pyytää niitä suoritettavaksi.

SPOOL on lyhenne sanoista samanaikaiset oheislaitteet verkossa . Yleensä taustatulostusta ylläpidetään tietokoneen fyysisessä muistissa, puskureissa tai I/O-laitekohtaisissa keskeytyksessä. Kela käsitellään nousevassa järjestyksessä FIFO-algoritmin (first-in, first-out) perusteella.

Taustalla tarkoitetaan eri I/O-töiden tietojen sijoittamista puskuriin. Tämä puskuri on muistin tai kiintolevyn erityinen alue, joka on I/O-laitteiden käytettävissä. Käyttöjärjestelmä suorittaa seuraavat hajautettuun ympäristöön liittyvät toiminnot:

  • Käsittelee I/O-laitteiden tietojen taustatulostusta, koska laitteilla on erilaiset tiedonsiirtonopeudet.
  • Ylläpitää spooling-puskuria, joka tarjoaa odotusaseman, jossa tiedot voivat levätä, kun hitaampi laite saa kiinni.
  • Ylläpitää rinnakkaislaskennan taustatulostusprosessin vuoksi, koska tietokone voi suorittaa I/O:n rinnakkaisessa järjestyksessä. On mahdollista, että tietokone lukee tietoja nauhalta, kirjoittaa tietoja levylle ja kirjoittaa nauhatulostimelle, kun se suorittaa laskentatehtäväänsä.

Kuinka taustatulostus toimii käyttöjärjestelmässä

Käyttöjärjestelmässä taustatulostus toimii seuraavissa vaiheissa, kuten:

  1. Taustatulostus sisältää SPOOL-nimisen puskurin luomisen, jota käytetään pitämään työt ja tiedot, kunnes laite, jossa SPOOL on luotu, on valmis käyttämään ja suorittamaan kyseistä työtä tai käsittelemään tietoja.
  2. Kun nopeampi laite lähettää tietoja hitaampaan laitteeseen suorittaakseen jonkin toiminnon, se käyttää mitä tahansa liitettyä toissijaista muistia SPOOL-puskurina. Näitä tietoja säilytetään SPOOL:ssa, kunnes hitaampi laite on valmis käyttämään näitä tietoja. Kun hitaampi laite on valmis, SPOOL-tiedot ladataan päämuistiin tarvittavia toimintoja varten.
    Spoolaus käyttöjärjestelmässä
  3. Taustatulostus pitää koko toissijaista muistia valtavana puskurina, joka voi tallentaa monia töitä ja dataa monia toimintoja varten. Taustatulostuksen etuna on, että se voi luoda FIFO-järjestyksessä suoritettavien töiden jonon suorittaakseen työt yksitellen.
  4. Laite voi muodostaa yhteyden useisiin syöttölaitteisiin, mikä saattaa vaatia joitakin toimia niiden tiedoilla. Joten kaikki nämä syöttölaitteet voivat laittaa tietonsa toissijaiseen muistiin (SPOOL), jonka laite voi sitten suorittaa yksitellen. Tämä varmistaa, että CPU ei ole käyttämättömänä milloin tahansa. Joten voimme sanoa, että taustatulostus on puskuroinnin ja jonotuksen yhdistelmä.
  5. Kun prosessori tuottaa jonkin verran lähtöä, tämä lähtö tallennetaan ensin päämuistiin. Tämä lähtö siirretään toissijaiseen muistiin päämuistista ja sieltä lähtö lähetetään vastaaville tulostuslaitteille.

Esimerkki spoolingista

Suurin esimerkki spoolingista on painatus . Tulostettavat asiakirjat tallennetaan SPOOL:iin ja lisätään sitten tulostusjonoon. Tänä aikana monet prosessit voivat suorittaa toimintonsa ja käyttää CPU:ta odottamatta, kun tulostin tulostaa asiakirjoja yksitellen.

Spoolaus käyttöjärjestelmässä

Taustatulostusprosessiin voidaan myös lisätä monia ominaisuuksia, kuten prioriteettien asettaminen tai ilmoitus tulostusprosessin päättymisestä tai erilaisten paperityyppien valitseminen tulostettavaksi käyttäjän valinnan mukaan.

Spoolingin edut

Tässä ovat seuraavat käyttöjärjestelmän taustatulostuksen edut, kuten:

  • I/O-laitteiden tai toimintojen määrällä ei ole väliä. Monet I/O-laitteet voivat toimia yhdessä samanaikaisesti ilman häiriöitä tai häiriöitä toisilleen.
  • Taustassa I/O-laitteiden ja CPU:n välillä ei ole vuorovaikutusta. Tämä tarkoittaa, että CPU:n ei tarvitse odottaa I/O-toimintojen tapahtumista. Tällaisten toimintojen suorittaminen kestää kauan, joten suoritin ei odota niiden valmistumista.
  • CPU:ta lepotilassa ei pidetä kovin tehokkaana. Useimmat protokollat ​​on luotu käyttämään CPU:ta tehokkaasti mahdollisimman lyhyessä ajassa. Taustauksessa CPU pidetään kiireisenä suurimman osan ajasta ja siirtyy lepotilaan vain, kun jono on lopussa. Joten kaikki tehtävät lisätään jonoon, ja CPU suorittaa kaikki nämä tehtävät ja siirtyy sitten lepotilaan.
  • Sen avulla sovellukset voivat toimia CPU:n nopeudella samalla kun I/O-laitteita käytetään niiden vastaavilla täydellä nopeuksilla.

Spoolingin haitat

Käyttöjärjestelmässä taustatulostuksessa on seuraavat haitat, kuten:

  • Taustatulostus vaatii suuren määrän tallennustilaa riippuen tulon tekemien pyyntöjen määrästä ja kytkettyjen syöttölaitteiden määrästä.
  • Koska SPOOL luodaan toissijaiseen tallennustilaan, useiden syöttölaitteiden samanaikainen käyttö voi viedä paljon tilaa toissijaisessa tallennustilassa ja siten lisätä levyliikennettä. Tämä johtaa siihen, että levy hidastuu ja hidastuu liikenteen lisääntyessä.
  • Taustatulostusta käytetään tietojen kopioimiseen ja suorittamiseen hitaammalta laitteelta nopeampaan laitteeseen. Hitaampi laite luo SPOOLin tallentaakseen käytettävät tiedot jonoon, ja CPU toimii sen päällä. Tämä prosessi itsessään tekee spoolauksesta turhaa käyttää reaaliaikaisissa ympäristöissä, joissa tarvitsemme reaaliaikaisia ​​tuloksia suorittimelta. Tämä johtuu siitä, että syöttölaite on hitaampi ja tuottaa siten datansa hitaammin, kun taas CPU voi toimia nopeammin, joten se siirtyy jonossa seuraavaan prosessiin. Tästä syystä lopputulos tai tuotos tuotetaan myöhemmin eikä reaaliajassa.

Ero spooloinnin ja puskuroinnin välillä

Taustatulostus ja puskurointi ovat kaksi tapaa, joilla I/O-alijärjestelmät parantavat tietokoneen suorituskykyä ja tehokkuutta käyttämällä päämuistissa tai levyllä olevaa tallennustilaa.

esimerkki javascriptistä
Spoolaus käyttöjärjestelmässä

Perusero taustatulostuksen ja puskuroinnin välillä on, että taustatulostus limittää yhden työn I/O:n toisen työn suorittamisen kanssa. Vertailun vuoksi puskurointi menee päällekkäin yhden työn I/O:n kanssa saman työn suorittamisen kanssa. Alla on joitain muita eroja taustatulostuksen ja puskuroinnin välillä, kuten:

Ehdot Rullaus Puskurointi
Määritelmä Taustatulostus, lyhenne sanoista Simultaneous Peripheral Operation Online (SPOOL), siirtää tiedot väliaikaiselle työalueelle, jota toinen ohjelma tai resurssi voi käyttää ja käsitellä. Puskurointi on toiminto, jossa tiedot tallennetaan väliaikaisesti puskuriin. Se auttaa sovittamaan datavirran nopeuden lähettäjän ja vastaanottajan välillä.
Resurssitarve Taustatulostus vaatii vähemmän resurssien hallintaa, koska eri resurssit hallitsevat tiettyjen töiden prosessia. Puskurointi vaatii enemmän resurssien hallintaa, koska sama resurssi hallitsee saman jaetun työn prosessia.
Sisäinen toteutus Taustatulostus limittää yhden työn syötteen ja tulosteen toisen työn laskennan kanssa. Puskurointi limittää yhden työn syötteen ja tulosteen saman työn laskennan kanssa.
Tehokas Spoolaus on tehokkaampaa kuin puskurointi. Puskurointi on vähemmän tehokasta kuin kelaus.
Prosessori Taustatulostus voi myös käsitellä tietoja etäsivustoissa. Taustatulostajan tarvitsee vain ilmoittaa, kun prosessi valmistuu etäsivustossa, jotta seuraava prosessi voidaan kelata etäpuolen laitteeseen. Puskurointi ei tue etäkäsittelyä.
Koko muistissa Se pitää levyä valtavana kelana tai puskurina. Puskuri on rajoitettu alue päämuistissa.