logo

Споолирање у оперативном систему

У оперативном систему, морали смо да дамо улаз ЦПУ-у, а ЦПУ извршава упутства и на крају даје излаз. Али постојао је проблем са овим приступом. У нормалној ситуацији, морамо да се носимо са многим процесима, а знамо да је време потребно за И/О операцију веома велико у поређењу са временом које је потребно ЦПУ-у за извршење инструкција. Дакле, у старом приступу, један процес ће дати улаз уз помоћ улазног уређаја, а за то време ЦПУ је у стању мировања.

итерирати кроз мапу јава

Затим ЦПУ извршава инструкцију, а излаз се поново даје неком излазном уређају, а у овом тренутку ЦПУ је такође у стању мировања. Након приказивања излаза, следећи процес почиње да се извршава. Дакле, већину времена ЦПУ је неактиван, што је најгоре стање које можемо имати у оперативним системима. Овде долази до изражаја концепт споолинга.

Шта је споолинг

Споолинг је процес у којем се подаци привремено држе да би их користио и извршавао уређај, програм или систем. Подаци се шаљу и чувају у меморији или другом нестабилном складишту док их програм или рачунар не захтевају за извршење.

СПООЛ је акроним за истовремене периферне операције на мрежи . Генерално, споол се одржава у физичкој меморији рачунара, баферима или прекидима специфичним за И/О уређај. Споол се обрађује у растућем редоследу, радећи на основу ФИФО (први ушао, први изашао) алгоритам.

Споолинг се односи на стављање података различитих И/О послова у бафер. Овај бафер је посебна област у меморији или чврстом диску која је доступна И/О уређајима. Оперативни систем обавља следеће активности у вези са дистрибуираним окружењем:

  • Рукује спооловање података И/О уређаја јер уређаји имају различите брзине приступа подацима.
  • Одржава бафер за спооловање, који обезбеђује станицу за чекање где подаци могу да мирују док спорији уређај сустиже.
  • Одржава паралелно рачунање због процеса споолирања јер рачунар може да обавља И/О паралелним редоследом. Постаје могуће да рачунар чита податке са траке, уписује податке на диск и записује на штампач траке док обавља свој рачунарски задатак.

Како споолинг функционише у оперативном систему

У оперативном систему, споол ради у следећим корацима, као што су:

  1. Споолинг укључује креирање бафера који се зове СПООЛ, који се користи за задржавање послова и података све док уређај у којем је СПООЛ креиран не буде спреман да користи и изврши тај посао или ради на подацима.
  2. Када бржи уређај шаље податке на спорији уређај да изврши неку операцију, он користи било коју секундарну меморију прикључену као СПООЛ бафер. Ови подаци се чувају у СПООЛ-у све док спорији уређај не буде спреман да ради на овим подацима. Када је спорији уређај спреман, тада се подаци у СПООЛ-у учитавају у главну меморију за потребне операције.
    Споолирање у оперативном систему
  3. Споолинг сматра целокупну секундарну меморију огромним бафером који може да ускладишти многе послове и податке за многе операције. Предност споолинга је у томе што може да креира ред послова који се извршавају у ФИФО редоследу да извршава послове један по један.
  4. Уређај се може повезати са многим улазним уређајима, што може захтевати неке операције на њиховим подацима. Дакле, сви ови улазни уређаји могу ставити своје податке у секундарну меморију (СПООЛ), коју уређај затим може извршавати један по један. Ово ће осигурати да ЦПУ ни у једном тренутку не мирује. Дакле, можемо рећи да је споолинг комбинација баферовања и чекања.
  5. Након што ЦПУ генерише неки излаз, овај излаз се прво чува у главној меморији. Овај излаз се преноси у секундарну меморију из главне меморије, а одатле се излаз шаље одговарајућим излазним уређајима.

Пример споолинга

Највећи пример споолинга је штампање . Документи који треба да се штампају се чувају у СПООЛ-у и затим се додају у ред за штампање. Током овог времена, многи процеси могу обављати своје операције и користити ЦПУ без чекања док штампач извршава процес штампања на документима један по један.

Споолирање у оперативном систему

Многе функције се такође могу додати процесу споолинг штампања, као што је постављање приоритета или обавештења када је процес штампања завршен или избор различитих врста папира за штампање према избору корисника.

Предности споолинга

Ево следећих предности споолирања у оперативном систему, као што су:

стринг буилдер јава
  • Број И/О уређаја или операција није битан. Многи И/О уређаји могу да раде заједно истовремено без икаквих сметњи или ометања један другог.
  • У спооловању, нема интеракције између И/О уређаја и ЦПУ-а. То значи да нема потребе да ЦПУ чека да се изврше И/О операције. Таквим операцијама је потребно много времена да се заврше, тако да ЦПУ неће чекати да се заврше.
  • ЦПУ у стању мировања се не сматра веома ефикасним. Већина протокола је креирана да ефикасно користи ЦПУ у минималном времену. У спооловању, ЦПУ је заузет већину времена и прелази у стање мировања само када је ред исцрпљен. Дакле, сви задаци се додају у ред, а ЦПУ ће завршити све те задатке и затим прећи у стање мировања.
  • Омогућава апликацијама да раде брзином ЦПУ-а док раде на И/О уређајима при њиховој пуној брзини.

Недостаци споолинга

У оперативном систему, споол има следеће недостатке, као што су:

  • Спооловање захтева велику количину складишта у зависности од броја захтева које је направио улаз и броја повезаних улазних уређаја.
  • Пошто је СПООЛ креиран у секундарном складишту, рад више улазних уређаја истовремено може заузети много простора на секундарном складишту и на тај начин повећати саобраћај на диску. Ово доводи до тога да диск постаје све спорији како се саобраћај све више повећава.
  • Споолинг се користи за копирање и извршавање података са споријег уређаја на бржи уређај. Спорији уређај креира СПООЛ за складиштење података на којима ће се радити у реду, а ЦПУ ради на томе. Овај процес сам по себи чини Споолинг бескорисним за коришћење у окружењима у реалном времену где су нам потребни резултати у реалном времену од ЦПУ-а. То је зато што је улазни уређај спорији и самим тим производи своје податке споријим темпом док ЦПУ може да ради брже, тако да прелази на следећи процес у реду чекања. Због тога се коначни резултат или излаз производи касније уместо у реалном времену.

Разлика између споолирања и баферовања

Споолирање и баферовање су два начина на која И/О подсистеми побољшавају перформансе и ефикасност рачунара коришћењем простора за складиштење у главној меморији или на диску.

Споолирање у оперативном систему

Основна разлика између споолинга и баферовања је у томе што се споолинг преклапа И/О једног посла са извршавањем другог посла. За поређење, баферовање преклапа И/О једног посла са извршавањем истог посла. Испод су још неке разлике између споолинга и баферовања, као што су:

Услови Споолинг Пуферовање
Дефиниција Споолинг, акроним од Симултанеоус Перипхерал Оператион Онлине (СПООЛ), ставља податке у привремену радну област да им приступи и обради други програм или ресурс. Баферовање је чин привременог складиштења података у баферу. Помаже у усклађивању брзине тока података између пошиљаоца и примаоца.
Захтеви за ресурсе Спооловање захтева мање управљања ресурсима јер различити ресурси управљају процесом за одређене послове. Баферовање захтева више управљања ресурсима јер исти ресурс управља процесом истог подељеног посла.
Интерна имплементација Споолинг преклапа улаз и излаз једног посла са израчунавањем другог посла. Баферовање преклапа улаз и излаз једног посла са израчунавањем истог посла.
Ефикасно Споолирање је ефикасније од баферовања. Пуферовање је мање ефикасно од споолирања.
Процесор Споолинг такође може да обрађује податке на удаљеним локацијама. Спулер само мора да обавести када се процес заврши на удаљеној локацији да би следећи процес пребацио на удаљени уређај. Баферовање не подржава даљинску обраду.
Величина на меморији Диск сматра огромним колутом или бафером. Бафер је ограничено подручје у главној меморији.