Az operációs rendszerben meg kellett adnunk a bemenetet a CPU-nak, és a CPU végrehajtja az utasításokat és végül megadja a kimenetet. De volt egy probléma ezzel a megközelítéssel. Normál helyzetben sok folyamattal kell megküzdenünk, és tudjuk, hogy az I/O művelet időigénye nagyon sok ahhoz képest, amit a CPU az utasítások végrehajtására fordít. Tehát a régi megközelítésben az egyik folyamat egy beviteli eszköz segítségével adja meg a bemenetet, és ezalatt a CPU tétlen állapotban van.
np.linspace
Ezután a CPU végrehajtja az utasítást, és a kimenet ismét valamilyen kimeneti eszközhöz kerül, és ekkor a CPU is tétlen állapotban van. A kimenet megjelenítése után a következő folyamat megkezdi a végrehajtását. Így az idő nagy részében a CPU tétlen, ami a legrosszabb állapot az operációs rendszerekben. Itt a Spooling fogalma lép életbe.
Mi az a Spooling
A sorbaállítás egy olyan folyamat, amelynek során az adatokat ideiglenesen egy eszköz, program vagy rendszer felhasználja és végrehajtja. Az adatokat a rendszer a memóriába vagy más illékony tárhelyre küldi és tárolja, amíg a program vagy a számítógép végrehajtásra nem kéri.
A SPOOL a szó rövidítése egyidejű perifériaműveletek online . A sor általában a számítógép fizikai memóriájában, puffereiben vagy az I/O eszközspecifikus megszakításokon van karbantartva. A spool feldolgozása növekvő sorrendben történik, FIFO (first-in, first-out) algoritmus alapján.
A spoolozás a különféle I/O feladatok adatainak pufferbe helyezését jelenti. Ez a puffer egy speciális terület a memóriában vagy a merevlemezen, amely elérhető az I/O eszközök számára. Az operációs rendszer a következő tevékenységeket végzi az elosztott környezettel kapcsolatban:
- Kezeli az I/O-eszközök adatsorolását, mivel az eszközök eltérő adathozzáférési sebességgel rendelkeznek.
- Fenntartja a spooling puffert, amely egy várakozó állomást biztosít, ahol az adatok pihenhetnek, miközben a lassabb eszköz utoléri.
- Fenntartja a párhuzamos számítást a sorbaállítási folyamat miatt, mivel a számítógép párhuzamos sorrendben tud I/O-t végrehajtani. Lehetővé válik, hogy a számítógép adatokat olvasson ki egy szalagról, írjon adatokat lemezre, és írjon ki egy szalagos nyomtatóra, miközben az elvégzi számítási feladatát.
Hogyan működik a sorbaállítás az operációs rendszerben
Egy operációs rendszerben a sorbaállítás a következő lépésekben működik, például:
- A spoolkezelés magában foglalja a SPOOL nevű puffer létrehozását, amely a feladatok és adatok visszatartására szolgál mindaddig, amíg az eszköz, amelyben a SPOOL létre van hozva, készen áll a feladat használatára és végrehajtására, vagy az adatokkal való műveletekre.
- Ha egy gyorsabb eszköz adatokat küld egy lassabb eszközre valamilyen művelet végrehajtása érdekében, akkor bármely másodlagos memóriát használ SPOOL pufferként. Ezeket az adatokat a SPOOL-ban tárolják, amíg a lassabb eszköz készen áll az adatokkal való működésre. Amikor a lassabb eszköz készen áll, akkor a SPOOL-ban lévő adatok betöltődnek a fő memóriába a szükséges műveletekhez.
- A spooling a teljes másodlagos memóriát egy hatalmas puffernek tekinti, amely számos feladatot és adatot tárolhat számos művelethez. A Spooling előnye, hogy FIFO sorrendben végrehajtott jobok sorát hozhatja létre a jobok egyenkénti végrehajtásához.
- Egy eszköz számos bemeneti eszközhöz csatlakozhat, amihez szükség lehet bizonyos műveletekre az adataikon. Tehát ezek a bemeneti eszközök mindegyike elhelyezheti adatait a másodlagos memóriába (SPOOL), amelyet aztán egyesével végrehajthat az eszköz. Ez biztosítja, hogy a CPU soha ne legyen tétlen. Tehát azt mondhatjuk, hogy a sorbaállítás a pufferelés és a sorban állás kombinációja.
- Miután a CPU előállított némi kimenetet, ez a kimenet először a fő memóriába kerül mentésre. Ez a kimenet a fő memóriából a másodlagos memóriába kerül, és onnan a megfelelő kimeneti eszközökre kerül.
Példa a tekercselésre
A Spooling legnagyobb példája az nyomtatás . A nyomtatandó dokumentumokat a SCOOL tárolja, majd hozzáadja a nyomtatási sorhoz. Ezalatt az idő alatt számos folyamat végrehajthatja műveleteit és használhatja a CPU-t anélkül, hogy várna, amíg a nyomtató egyenként végrehajtja a nyomtatási folyamatot a dokumentumokon.
Számos funkció is hozzáadható a sorba állított nyomtatási folyamathoz, például prioritások beállítása vagy értesítés a nyomtatási folyamat befejezésekor, vagy a különböző típusú papírok kiválasztása a nyomtatáshoz a felhasználó választása szerint.
A tekercselés előnyei
Az alábbi előnyökkel jár az operációs rendszerben a spoolozás, például:
buborék rendezés python
- Az I/O eszközök vagy műveletek száma nem számít. Számos I/O eszköz tud együtt működni egyidejűleg anélkül, hogy zavarná vagy megzavarná egymást.
- Spooling esetén nincs interakció az I/O eszközök és a CPU között. Ez azt jelenti, hogy a CPU-nak nem kell várnia az I/O műveletekre. Az ilyen műveletek végrehajtása hosszú ideig tart, így a CPU nem várja meg, amíg befejeződnek.
- Az üresjárati CPU nem tekinthető túl hatékonynak. A legtöbb protokoll a CPU hatékony, minimális idő alatti kihasználására készült. A sorbaállítás során a CPU az idő nagy részében elfoglalt, és csak akkor megy tétlen állapotba, ha a sor kimerült. Tehát az összes feladat hozzáadódik a sorhoz, és a CPU befejezi az összes feladatot, majd tétlen állapotba kerül.
- Lehetővé teszi az alkalmazások számára, hogy a CPU sebességével fussanak, miközben az I/O eszközöket a megfelelő teljes sebességgel üzemeltetik.
A tekercselés hátrányai
Egy operációs rendszerben a spoolingnek a következő hátrányai vannak, például:
- A sorbaállítás nagy mennyiségű tárhelyet igényel a bemenet által kezdeményezett kérések számától és a csatlakoztatott bemeneti eszközök számától függően.
- Mivel a SPOOL a másodlagos tárolóban jön létre, sok beviteli eszköz egyidejű működése sok helyet foglalhat el a másodlagos tárolón, és így megnövelheti a lemezforgalmat. Ez azt eredményezi, hogy a lemez egyre lassabb lesz, ahogy a forgalom egyre növekszik.
- A sorbaállítás az adatok másolására és végrehajtására szolgál egy lassabb eszközről egy gyorsabb eszközre. A lassabb eszköz létrehoz egy SPOOL-t, amely egy sorban tárolja a kezelendő adatokat, és a CPU ezen dolgozik. Ez a folyamat önmagában hiábavalóvá teszi a sorbaállítást olyan valós idejű környezetben, ahol valós idejű eredményekre van szükségünk a CPU-tól. Ennek az az oka, hogy a beviteli eszköz lassabb, és így lassabb ütemben állítja elő az adatokat, miközben a CPU gyorsabban tud működni, így a sorban következő folyamatra lép. Ez az oka annak, hogy a végeredmény vagy kimenet egy későbbi időpontban készül, nem pedig valós időben.
A sorozás és a pufferelés közötti különbség
A sorbaállítás és a pufferelés az a két módszer, amellyel az I/O alrendszerek a fő memóriában vagy a lemezen lévő tárterület használatával javítják a számítógép teljesítményét és hatékonyságát.
A spoolozás és a pufferelés közötti alapvető különbség az, hogy a sorbaállítás átfedi egy job I/O-ját egy másik job végrehajtásával. Ehhez képest a pufferelés átfedi egy job I/O-ját ugyanazon job végrehajtásával. Az alábbiakban néhány további különbség található a sorbaállítás és a pufferelés között, például:
Feltételek | Spooling | Pufferelés |
---|---|---|
Meghatározás | A sorbaállítás, a Simultaneous Peripheral Operation Online (SPOOL) rövidítése, az adatokat egy ideiglenes munkaterületre helyezi, ahol egy másik program vagy erőforrás hozzáférhet és feldolgozhat. | A pufferelés az adatok ideiglenes tárolása a pufferben. Segít az adatfolyam sebességének összehangolásában a küldő és a fogadó között. |
Erőforrás szükséglet | A sorbaállítás kevesebb erőforrás-kezelést igényel, mivel különböző erőforrások kezelik az egyes feladatok folyamatát. | A pufferelés több erőforrás-kezelést igényel, mivel ugyanaz az erőforrás kezeli ugyanazon megosztott feladat folyamatát. |
Belső megvalósítás | A sorbaállítás átfedi egy job bemenetét és kimenetét egy másik job számításával. | A pufferelés átfedi egy job bemenetét és kimenetét ugyanazon job számításával. |
Hatékony | A tekercselés hatékonyabb, mint a pufferelés. | A pufferelés kevésbé hatékony, mint a spooling. |
Processzor | A sorbaállítás távoli helyeken is képes feldolgozni az adatokat. A spoolkezelőnek csak értesítenie kell, ha egy folyamat befejeződik a távoli helyen, hogy a következő folyamatot a távoli oldali eszközre küldje. | A pufferelés nem támogatja a távoli feldolgozást. |
Méret a memóriában | A lemezt hatalmas spoolnak vagy puffernek tekinti. | A puffer egy korlátozott terület a fő memóriában. |