U operacijskom sustavu morali smo dati ulaz CPU-u, a CPU izvršava upute i na kraju daje izlaz. Ali postojao je problem s ovim pristupom. U normalnoj situaciji, moramo se baviti mnogim procesima, a znamo da je vrijeme potrebno za I/O operaciju vrlo veliko u usporedbi s vremenom koje je potrebno CPU-u za izvršenje instrukcija. Dakle, u starom pristupu, jedan proces će dati ulaz uz pomoć ulaznog uređaja, a za to vrijeme CPU je u stanju mirovanja.
np.random.rand
Zatim CPU izvršava instrukciju, a izlaz se ponovno daje nekom izlaznom uređaju, au to vrijeme CPU je također u stanju mirovanja. Nakon prikazivanja izlaza, sljedeći proces započinje svoje izvršenje. Dakle, većinu vremena CPU miruje, što je najgore stanje koje možemo imati u operativnim sustavima. Ovdje dolazi do izražaja koncept Spoolinga.
Što je Spooling
Spooliranje je proces u kojem se podaci privremeno zadržavaju kako bi ih koristio i izvršavao uređaj, program ili sustav. Podaci se šalju i pohranjuju u memoriju ili drugu nepostojanu pohranu dok ih program ili računalo ne zatraži za izvršenje.
SPOOL je akronim za simultane periferne operacije na mreži . Općenito, spool se održava na fizičkoj memoriji računala, međuspremnicima ili prekidima specifičnim za I/O uređaj. Spool se obrađuje uzlaznim redoslijedom, radeći na temelju algoritma FIFO (prvi ušao, prvi izašao).
Spooling se odnosi na stavljanje podataka raznih I/O poslova u međuspremnik. Ovaj međuspremnik je posebno područje u memoriji ili tvrdom disku koje je dostupno I/O uređajima. Operativni sustav obavlja sljedeće aktivnosti povezane s distribuiranim okruženjem:
- Rukuje spooliranjem podataka I/O uređaja jer uređaji imaju različite brzine pristupa podacima.
- Održava međuspremnik za čekanje, koji pruža stanicu za čekanje gdje se podaci mogu odmoriti dok ih sporiji uređaj sustigne.
- Održava paralelno izračunavanje zbog procesa spooliranja jer računalo može izvoditi I/O paralelnim redoslijedom. Postaje moguće da računalo čita podatke s vrpce, zapisuje podatke na disk i ispisuje na pisač na vrpci dok obavlja svoj računalni zadatak.
Kako radi spooliranje u operativnom sustavu
U operativnom sustavu, spooliranje radi u sljedećim koracima, kao što su:
- Spooling uključuje stvaranje međuspremnika pod nazivom SPOOL, koji se koristi za zadržavanje poslova i podataka dok uređaj u kojem je SPOOL stvoren ne bude spreman za korištenje i izvršavanje tog posla ili rad s podacima.
- Kada brži uređaj šalje podatke sporijem uređaju za izvođenje neke operacije, on koristi bilo koju sekundarnu memoriju priključenu kao SPOOL međuspremnik. Ovi se podaci čuvaju u SPOOL-u sve dok sporiji uređaj ne bude spreman za rad s tim podacima. Kada je sporiji uređaj spreman, tada se podaci u SPOOL-u učitavaju u glavnu memoriju za potrebne operacije.
- Spooling cijelu sekundarnu memoriju smatra ogromnim međuspremnikom koji može pohraniti mnoge poslove i podatke za mnoge operacije. Prednost Spoolinga je u tome što može stvoriti red čekanja poslova koji se izvršavaju u FIFO redoslijedu kako bi se poslovi izvršavali jedan po jedan.
- Uređaj se može povezati s mnogim ulaznim uređajima, što može zahtijevati neke operacije na njihovim podacima. Dakle, svi ovi ulazni uređaji mogu staviti svoje podatke u sekundarnu memoriju (SPOOL), koju zatim uređaj može izvršiti jedan po jedan. Ovo će osigurati da CPU ni u jednom trenutku ne miruje. Dakle, možemo reći da je spooling kombinacija međuspremnika i čekanja.
- Nakon što CPU generira neki izlaz, taj se izlaz prvo sprema u glavnu memoriju. Ovaj izlaz se prenosi u sekundarnu memoriju iz glavne memorije, a odatle se izlaz šalje odgovarajućim izlaznim uređajima.
Primjer spooliranja
Najveći primjer Spoolinga je tiskanje . Dokumenti koji se trebaju ispisati pohranjuju se u SPOOL i zatim dodaju u red čekanja za ispis. Tijekom tog vremena mnogi procesi mogu obavljati svoje operacije i koristiti CPU bez čekanja dok pisač izvršava proces ispisa na dokumentima jedan po jedan.
Mnoge se značajke također mogu dodati procesu ispisa na čekanju, poput postavljanja prioriteta ili obavijesti kada je proces ispisa završen ili odabira različitih vrsta papira za ispis prema izboru korisnika.
Prednosti spooliranja
Evo sljedećih prednosti spooliranja u operativnom sustavu, kao što su:
java konstante
- Broj I/O uređaja ili operacija nije bitan. Mnogi I/O uređaji mogu simultano raditi zajedno bez ikakvih smetnji ili prekida.
- U spoolingu nema interakcije između I/O uređaja i CPU-a. To znači da nema potrebe da CPU čeka da se izvrše I/O operacije. Takvim je operacijama potrebno dugo vremena da se završe, tako da CPU neće čekati da završe.
- CPU u stanju mirovanja ne smatra se vrlo učinkovitim. Većina protokola stvorena je za učinkovito korištenje CPU-a u minimalnom vremenu. U spoolingu, CPU je zauzet većinu vremena i prelazi u stanje mirovanja samo kada je red čekanja iscrpljen. Dakle, svi se zadaci dodaju u red čekanja, a CPU će završiti sve te zadatke i zatim otići u stanje mirovanja.
- Omogućuje aplikacijama da rade brzinom CPU-a dok I/O uređaji rade njihovim odgovarajućim punim brzinama.
Nedostaci spooliranja
U operativnom sustavu, spooliranje ima sljedeće nedostatke, kao što su:
- Spooliranje zahtijeva veliku količinu pohrane, ovisno o broju zahtjeva koje je napravio ulaz i broju povezanih ulaznih uređaja.
- Budući da se SPOOL stvara u sekundarnoj pohrani, postojanje mnogo ulaznih uređaja koji rade istovremeno može zauzeti puno prostora na sekundarnoj pohrani i time povećati promet na disku. To rezultira sve sporijim i sporijim diskom kako se promet sve više povećava.
- Spooliranje se koristi za kopiranje i izvođenje podataka sa sporijeg uređaja na brži uređaj. Sporiji uređaj stvara SPOOL za pohranjivanje podataka s kojima se radi u redu čekanja, a CPU radi na tome. Ovaj proces sam po sebi čini spooling beskorisnim za korištenje u okruženjima u stvarnom vremenu gdje su nam potrebni rezultati iz CPU-a u stvarnom vremenu. To je zato što je ulazni uređaj sporiji i stoga proizvodi svoje podatke sporijim tempom, dok CPU može raditi brže, pa prelazi na sljedeći proces u redu čekanja. Zbog toga se konačni rezultat ili izlaz proizvodi kasnije umjesto u stvarnom vremenu.
Razlika između spooliranja i međuspremnika
Spooling i međuspremnik dva su načina na koje I/O podsustavi poboljšavaju performanse i učinkovitost računala korištenjem prostora za pohranu u glavnoj memoriji ili na disku.
Osnovna razlika između Spoolinga i Bufferinga je u tome što Spooling preklapa I/O jednog posla s izvršavanjem drugog posla. Za usporedbu, međuspremnik preklapa I/O jednog posla s izvršenjem istog posla. Ispod su još neke razlike između spooliranja i međuspremnika, kao što su:
Pojmovi | Spooliranje | Spremanje u međuspremnik |
---|---|---|
Definicija | Spooling, akronim od Simultaneous Peripheral Operation Online (SPOOL), stavlja podatke u privremeno radno područje kako bi im pristupio i obradio ih drugi program ili resurs. | Spremanje u međuspremnik je radnja privremenog pohranjivanja podataka u međuspremnik. Pomaže u usklađivanju brzine prijenosa podataka između pošiljatelja i primatelja. |
Zahtjev za resursima | Spooliranje zahtijeva manje upravljanja resursima jer različiti resursi upravljaju procesom za određene poslove. | Spremanje u međuspremnik zahtijeva više upravljanja resursima budući da isti resurs upravlja procesom istog podijeljenog posla. |
Interna implementacija | Spooliranje preklapa ulaz i izlaz jednog posla s proračunom drugog posla. | Spremanje u međuspremnik preklapa ulaz i izlaz jednog posla s proračunom istog posla. |
Učinkovit | Spooliranje je učinkovitije od spremanja u međuspremnik. | Spremanje u međuspremnik manje je učinkovito od spooliranja. |
Procesor | Spooling također može obrađivati podatke na udaljenim mjestima. Spooler mora samo obavijestiti kada se proces dovrši na udaljenom mjestu kako bi se sljedeći proces prebacio na udaljeni uređaj. | Spremanje u međuspremnik ne podržava daljinsku obradu. |
Veličina po memoriji | Disk smatra ogromnim kalemom ili međuspremnikom. | Međuspremnik je ograničeno područje u glavnoj memoriji. |