logo

Spooling v operacijskem sistemu

V operacijskem sistemu smo morali dati vhod CPE-ju, CPE pa izvede navodila in na koncu poda izhod. Toda s tem pristopom je bil problem. V običajni situaciji se moramo ukvarjati s številnimi procesi in vemo, da je čas, ki ga porabi I/O operacija, zelo velik v primerjavi s časom, ki ga CPE porabi za izvedbo navodil. Torej, v starem pristopu bo en proces dal vhod s pomočjo vhodne naprave, v tem času pa je CPE v stanju mirovanja.

vrste testiranja programske opreme

Nato CPE izvede navodilo in izhod je spet dan neki izhodni napravi in ​​v tem času je CPE prav tako v stanju mirovanja. Po prikazu izhoda se naslednji proces začne z izvajanjem. Torej je CPU večino časa v mirovanju, kar je najslabše stanje, ki ga lahko imamo v operacijskih sistemih. Tu pride v poštev koncept spoolinga.

Kaj je Spooling

Spooling je postopek, v katerem se podatki začasno zadržijo, da jih naprava, program ali sistem uporabi in izvede. Podatki se pošljejo in shranijo v pomnilnik ali drugo obstojno shrambo, dokler jih program ali računalnik ne zahteva za izvedbo.

SPOOL je kratica za sočasne periferne operacije na spletu . Na splošno se spool vzdržuje v fizičnem pomnilniku računalnika, medpomnilnikih ali prekinitvah, specifičnih za V/I napravo. Spool se obdeluje v naraščajočem vrstnem redu in deluje na podlagi algoritma FIFO (first-in, first-out).

Spooling se nanaša na vstavljanje podatkov različnih V/I opravil v medpomnilnik. Ta vmesni pomnilnik je posebno področje v pomnilniku ali trdem disku, ki je dostopno V/I napravam. Operacijski sistem izvaja naslednje dejavnosti, povezane s porazdeljenim okoljem:

  • Obravnava nastavljanje podatkov V/I naprav, saj imajo naprave različne hitrosti dostopa do podatkov.
  • Ohranja medpomnilnik za navijanje, ki zagotavlja čakalno postajo, kjer lahko podatki počivajo, medtem ko jih počasnejša naprava dohiti.
  • Ohranja vzporedno računanje zaradi postopka navijanja, saj lahko računalnik izvaja V/I v vzporednem vrstnem redu. Postane možno, da računalnik bere podatke s traku, zapisuje podatke na disk in zapisuje na tračni tiskalnik, medtem ko opravlja svojo računalniško nalogo.

Kako deluje spooling v operacijskem sistemu

V operacijskem sistemu navijanje deluje v naslednjih korakih, kot so:

  1. Spooling vključuje ustvarjanje vmesnega pomnilnika, imenovanega SPOOL, ki se uporablja za zadrževanje opravil in podatkov, dokler naprava, v kateri je ustvarjen SPOOL, ni pripravljena za uporabo in izvedbo tega opravila ali delovanje s podatki.
  2. Ko hitrejša naprava pošlje podatke počasnejši napravi, da izvede neko operacijo, uporabi kateri koli sekundarni pomnilnik, priključen kot medpomnilnik SPOOL. Ti podatki se hranijo v SPOOL-u, dokler ni počasnejša naprava pripravljena na delovanje s temi podatki. Ko je počasnejša naprava pripravljena, se podatki v SPOOL naložijo v glavni pomnilnik za zahtevane operacije.
    Spooling v operacijskem sistemu
  3. Spooling obravnava celoten sekundarni pomnilnik kot ogromen medpomnilnik, ki lahko shrani veliko opravil in podatkov za številne operacije. Prednost spoolinga je, da lahko ustvari čakalno vrsto opravil, ki se izvajajo v vrstnem redu FIFO za izvajanje opravil eno za drugim.
  4. Naprava se lahko poveže s številnimi vhodnimi napravami, kar bo morda zahtevalo nekaj operacij z njihovimi podatki. Torej lahko vse te vhodne naprave shranijo svoje podatke v sekundarni pomnilnik (SPOOL), ki jih lahko naprava nato izvede eno za drugo. To bo zagotovilo, da CPE nikoli ne miruje. Torej lahko rečemo, da je spooling kombinacija medpomnjenja in čakalne vrste.
  5. Ko CPE ustvari nekaj izhoda, se ta izhod najprej shrani v glavni pomnilnik. Ta izhod se iz glavnega pomnilnika prenese v sekundarni pomnilnik, od tam pa se izhod pošlje ustreznim izhodnim napravam.

Primer navijanja

Največji primer spoolinga je tiskanje . Dokumenti, ki jih je treba natisniti, so shranjeni v SPOOL in nato dodani v čakalno vrsto za tiskanje. V tem času lahko številni procesi izvajajo svoje operacije in uporabljajo CPE, ne da bi čakali, da tiskalnik izvede postopek tiskanja na dokumente enega za drugim.

Spooling v operacijskem sistemu

V postopek tiskanja v ozadju je mogoče dodati tudi številne funkcije, na primer nastavitev prioritet ali obvestilo, ko je postopek tiskanja končan, ali izbiro različnih vrst papirja za tiskanje po izbiri uporabnika.

Prednosti spoolinga

Tu so naslednje prednosti navijanja v operacijskem sistemu, kot so:

abeceda oštevilčena
  • Število V/I naprav ali operacij ni pomembno. Številne V/I naprave lahko delujejo skupaj brez kakršnih koli motenj ali motenj druga druge.
  • Pri prikazovanju v ozadju ni interakcije med V/I napravami in CPE. To pomeni, da CPE-ju ni treba čakati na izvedbo V/I operacij. Takšne operacije se izvajajo dolgo časa, zato CPE ne bo čakal, da se končajo.
  • CPU v stanju mirovanja ne velja za zelo učinkovitega. Večina protokolov je ustvarjenih za učinkovito uporabo CPE v najkrajšem možnem času. Pri prikazovanju v ozadju je CPE večino časa zaposlen in preide v stanje mirovanja šele, ko je čakalna vrsta izčrpana. Torej so vsa opravila dodana v čakalno vrsto in CPE bo dokončal vsa ta opravila in nato prešel v stanje mirovanja.
  • Aplikacijam omogoča, da delujejo s hitrostjo CPE, medtem ko V/I naprave delujejo pri njihovih ustreznih polnih hitrostih.

Slabosti spoolinga

V operacijskem sistemu ima navijanje naslednje slabosti, kot so:

  • Spooling zahteva veliko količino prostora za shranjevanje, odvisno od števila zahtev, ki jih izvede vhod, in števila povezanih vhodnih naprav.
  • Ker je SPOOL ustvarjen v sekundarnem pomnilniku, lahko več vhodnih naprav, ki delujejo hkrati, zavzame veliko prostora v sekundarnem pomnilniku in tako poveča promet na disku. Posledica tega je, da postaja disk čedalje počasnejši, ko promet vedno bolj narašča.
  • Spooling se uporablja za kopiranje in izvajanje podatkov iz počasnejše naprave v hitrejšo napravo. Počasnejša naprava ustvari SPOOL za shranjevanje podatkov, ki jih je treba obdelati v čakalni vrsti, CPE pa deluje na tem. Ta postopek sam po sebi naredi spooling neuporaben za uporabo v okoljih v realnem času, kjer potrebujemo rezultate v realnem času iz CPE. To je zato, ker je vhodna naprava počasnejša in zato svoje podatke proizvaja počasneje, medtem ko lahko CPE deluje hitreje, zato se premakne na naslednji proces v čakalni vrsti. Zato se končni rezultat ali rezultat ustvari pozneje namesto v realnem času.

Razlika med navijanjem in medpomnilnikom

Spooling in medpomnjenje sta dva načina, s katerima V/I podsistemi izboljšajo zmogljivost in učinkovitost računalnika z uporabo prostora za shranjevanje v glavnem pomnilniku ali na disku.

Spooling v operacijskem sistemu

Osnovna razlika med ozadjem in medpomnjenjem je v tem, da prekrivanje v ozadju prekriva V/I enega opravila z izvajanjem drugega opravila. Za primerjavo, medpomnjenje prekriva V/I enega opravila z izvajanjem istega opravila. Spodaj je še nekaj razlik med vmesnim vstavljanjem in vmesnim pomnilnikom, kot so:

Pogoji Navijanje Medpomnjenje
Opredelitev Spooling, akronim za Simultaneous Peripheral Operation Online (SPOOL), postavi podatke v začasno delovno območje, da do njih dostopa in jih obdeluje drug program ali vir. Medpomnilnik je dejanje začasnega shranjevanja podatkov v medpomnilnik. Pomaga pri usklajevanju hitrosti toka podatkov med pošiljateljem in prejemnikom.
Zahteva po virih Spooling zahteva manj upravljanja virov, saj različni viri upravljajo proces za določena opravila. Medpomnjenje zahteva več upravljanja virov, saj isti vir upravlja proces istega razdeljenega opravila.
Notranja izvedba Spooling prekriva vhod in izhod enega opravila z izračunom drugega opravila. Medpomnjenje prekriva vhod in izhod enega opravila z izračunom istega opravila.
Učinkovito Spooling je učinkovitejši od medpomnjenja. Medpomnjenje je manj učinkovito kot navijanje.
Procesor Spooling lahko obdeluje podatke tudi na oddaljenih mestih. Ozadje mora samo obvestiti, ko se postopek zaključi na oddaljenem mestu, da prestavi naslednji proces na napravo na oddaljeni strani. Medpomnjenje ne podpira oddaljene obdelave.
Velikost po spominu Disk obravnava kot ogromen spool ali medpomnilnik. Medpomnilnik je omejeno območje v glavnem pomnilniku.