logo

Spooling v operačním systému

V operačním systému jsme museli zadat vstup CPU a CPU provede instrukce a nakonec vydá výstup. S tímto přístupem byl ale problém. V normální situaci se musíme vypořádat s mnoha procesy a víme, že čas, který zabere I/O operace, je velmi dlouhý ve srovnání s časem, který potřebuje CPU na provedení instrukcí. Takže ve starém přístupu bude jeden proces dávat vstup pomocí vstupního zařízení a během této doby je CPU v klidovém stavu.

rozdíl mezi $ a $ $

Poté CPU provede instrukci a výstup je opět předán nějakému výstupnímu zařízení a v tomto okamžiku je CPU také v klidovém stavu. Po zobrazení výstupu se spustí další proces. Takže většinu času je CPU nečinný, což je nejhorší stav, který můžeme v operačních systémech mít. Zde vstupuje do hry koncept spoolingu.

Co je zařazování

Spooling je proces, ve kterém jsou data dočasně uchovávána pro použití a vykonávání zařízením, programem nebo systémem. Data jsou odesílána a ukládána do paměti nebo jiného nestálého úložiště, dokud je program nebo počítač nepožádá o provedení.

SPOOL je zkratka pro simultánní periferní operace online . Obecně je zařazování udržováno ve fyzické paměti počítače, vyrovnávacích pamětích nebo přerušeních specifických pro I/O zařízení. Cívka je zpracovávána ve vzestupném pořadí a pracuje na základě algoritmu FIFO (first-in, first-out).

Spooling se týká ukládání dat různých I/O úloh do vyrovnávací paměti. Tato vyrovnávací paměť je speciální oblast v paměti nebo na pevném disku, která je přístupná I/O zařízením. Operační systém provádí následující činnosti související s distribuovaným prostředím:

  • Zvládá zařazování dat I/O zařízení, protože zařízení mají různé rychlosti přístupu k datům.
  • Udržuje vyrovnávací paměť pro zařazování, která poskytuje čekací stanici, kde mohou data odpočívat, zatímco pomalejší zařízení doběhne.
  • Udržuje paralelní výpočty kvůli procesu zařazování, protože počítač může provádět I/O v paralelním pořadí. Je možné nechat počítač číst data z pásky, zapisovat data na disk a zapisovat na páskovou tiskárnu, zatímco provádí svůj výpočetní úkol.

Jak funguje zařazování v operačním systému

V operačním systému funguje zařazování v následujících krocích, například:

  1. Spooling zahrnuje vytvoření vyrovnávací paměti nazvané SPOOL, která se používá k pozastavení úloh a dat, dokud není zařízení, ve kterém je SPOOL vytvořeno, připraveno použít a provést tuto úlohu nebo pracovat s daty.
  2. Když rychlejší zařízení odešle data pomalejšímu zařízení k provedení nějaké operace, použije jakoukoli sekundární paměť připojenou jako vyrovnávací paměť SPOOL. Tato data jsou uchovávána ve SPOOL, dokud není pomalejší zařízení připraveno pracovat s těmito daty. Když je pomalejší zařízení připraveno, pak se data ve SPOOL načtou do hlavní paměti pro požadované operace.
    Spooling v operačním systému
  3. Spooling považuje celou sekundární paměť za obrovskou vyrovnávací paměť, která může uložit mnoho úloh a dat pro mnoho operací. Výhodou spoolingu je, že dokáže vytvořit frontu úloh, které se spouštějí v pořadí FIFO, aby se úlohy spouštěly jednu po druhé.
  4. Zařízení lze připojit k mnoha vstupním zařízením, která mohou vyžadovat určitou operaci s jejich daty. Všechna tato vstupní zařízení tedy mohou ukládat svá data do sekundární paměti (SPOOL), která pak může zařízení jedno po druhém spouštět. Tím zajistíte, že CPU nebude v žádném okamžiku nečinný. Můžeme tedy říci, že zařazování je kombinací ukládání do vyrovnávací paměti a řazení do fronty.
  5. Poté, co CPU vygeneruje nějaký výstup, je tento výstup nejprve uložen do hlavní paměti. Tento výstup je přenesen do sekundární paměti z hlavní paměti a odtud je výstup odeslán do příslušných výstupních zařízení.

Příklad zařazování

Největším příkladem Spoolingu je tisk . Dokumenty, které mají být vytištěny, jsou uloženy ve SPOOL a poté přidány do fronty pro tisk. Během této doby může mnoho procesů provádět své operace a používat CPU bez čekání, než tiskárna provede proces tisku dokumentů jeden po druhém.

Spooling v operačním systému

K procesu tisku zařazování lze také přidat mnoho funkcí, jako je nastavení priorit nebo upozornění na dokončení procesu tisku nebo výběr různých typů papíru k tisku podle volby uživatele.

Výhody spoolingu

Zde jsou následující výhody zařazování v operačním systému, jako například:

  • Na počtu I/O zařízení nebo operací nezáleží. Mnoho I/O zařízení může spolupracovat současně, aniž by došlo k vzájemnému rušení nebo narušení.
  • Při zařazování nedochází k žádné interakci mezi I/O zařízeními a CPU. To znamená, že CPU nemusí čekat, než proběhnou I/O operace. Provádění takových operací trvá dlouho, takže CPU nebude čekat na jejich dokončení.
  • CPU v klidovém stavu není považováno za příliš efektivní. Většina protokolů je vytvořena pro efektivní využití CPU v minimálním čase. Při zařazování je CPU většinu času zaneprázdněno a do klidového stavu přejde pouze tehdy, když je fronta vyčerpána. Všechny úlohy jsou tedy přidány do fronty a CPU všechny tyto úlohy dokončí a poté přejde do stavu nečinnosti.
  • Umožňuje aplikacím běžet rychlostí CPU a zároveň provozovat I/O zařízení na jejich příslušné plné rychlosti.

Nevýhody spoolingu

V operačním systému má zařazování následující nevýhody, jako například:

  • Spooling vyžaduje velké množství úložiště v závislosti na počtu požadavků provedených vstupem a počtu připojených vstupních zařízení.
  • Protože je SPOOL vytvořen v sekundárním úložišti, může mít mnoho vstupních zařízení pracujících současně hodně místa na sekundárním úložišti a zvýšit tak provoz na disku. To má za následek, že disk je stále pomalejší, jak se provoz stále více zvyšuje.
  • Spooling se používá pro kopírování a spouštění dat z pomalejšího zařízení na rychlejší zařízení. Pomalejší zařízení vytvoří SPOOL pro uložení dat, se kterými se má pracovat, ve frontě a CPU na něm pracuje. Tento proces sám o sobě činí spooling marným pro použití v prostředích reálného času, kde potřebujeme výsledky z CPU v reálném čase. Důvodem je to, že vstupní zařízení je pomalejší, a proto produkuje svá data pomalejším tempem, zatímco CPU může pracovat rychleji, takže se přesune na další proces ve frontě. To je důvod, proč je konečný výsledek nebo výstup vytvářen později, místo v reálném čase.

Rozdíl mezi zařazováním a ukládáním do vyrovnávací paměti

Zařazování a ukládání do vyrovnávací paměti jsou dva způsoby, kterými I/O subsystémy zlepšují výkon a efektivitu počítače pomocí úložného prostoru v hlavní paměti nebo na disku.

Spooling v operačním systému

Základní rozdíl mezi zařazováním a ukládáním do vyrovnávací paměti je v tom, že zařazování překrývá I/O jedné úlohy s prováděním jiné úlohy. Pro srovnání, ukládání do vyrovnávací paměti překrývá I/O jedné úlohy s prováděním stejné úlohy. Níže jsou uvedeny některé další rozdíly mezi zařazováním a ukládáním do vyrovnávací paměti, například:

podřetězec java
Podmínky Zařazování Ukládání do vyrovnávací paměti
Definice Spooling, což je zkratka pro Simultaneous Peripheral Operation Online (SPOOL), ukládá data do dočasné pracovní oblasti, aby k nim měl přístup a zpracovával je jiný program nebo zdroj. Ukládání do vyrovnávací paměti je akt dočasného ukládání dat do vyrovnávací paměti. Pomáhá při přizpůsobení rychlosti datového toku mezi odesílatelem a příjemcem.
Požadavek na zdroje Spooling vyžaduje méně správy zdrojů, protože různé zdroje řídí proces pro konkrétní úlohy. Ukládání do vyrovnávací paměti vyžaduje více správy zdrojů, protože stejný zdroj řídí proces stejné rozdělené úlohy.
Vnitřní implementace Spooling překrývá vstup a výstup jedné úlohy s výpočtem jiné úlohy. Ukládání do vyrovnávací paměti překrývá vstup a výstup jedné úlohy s výpočtem stejné úlohy.
Účinný Zařazování je efektivnější než ukládání do vyrovnávací paměti. Ukládání do vyrovnávací paměti je méně účinné než zařazování.
Procesor Spooling může také zpracovávat data na vzdálených místech. Zařazovací služba musí pouze upozornit na dokončení procesu na vzdáleném místě, aby zařadila další proces do zařízení na vzdálené straně. Ukládání do vyrovnávací paměti nepodporuje vzdálené zpracování.
Velikost v paměti Považuje disk za obrovskou cívku nebo vyrovnávací paměť. Buffer je omezená oblast v hlavní paměti.