Разлика између Семапхора и Монитора у ОС-у

Аутор: Laura McKinney
Датум Стварања: 1 Април 2021
Ажурирати Датум: 5 Може 2024
Anonim
Разлика између Семапхора и Монитора у ОС-у - Технологија
Разлика између Семапхора и Монитора у ОС-у - Технологија

Садржај


И Семапхоре и Монитор омогућавају процесима да приступе дељеним ресурсима у међусобној искључености. Обоје су алат за синхронизацију процеса. Уместо тога, они се међусобно јако разликују. Где Семафор је цела варијабла која се може покренути само операцијом са чекањем () и сигналом () осим иницијализације. Са друге стране Монитор типе је апстрактни тип података чија конструкција омогућава да се један процес одједном активира. У овом чланку ћемо расправљати о разликама између семафора и монитора уз помоћ упоредног графикона приказаног доле.

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

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


Дефиниција Семапхоре-а

Будући да је алат за синхронизацију процеса, Семафор је цела варијабла С. Ова цела варијабла С је иницијализирана у број ресурса присутни у систему. Вредност семафора С може да се модификује само помоћу две функције чекати() и сигнал() осим иницијализације.

Операција чекања () и сигнала () неизмерно мења вредност семафора С. Што значи када процес мења вредност семафора, ниједан други процес не може истовремено да мења вредност семафора. Даље, оперативни систем разликује семафор у две категорије Бројање семафора и Бинарни семафор.

Ин Бројање Семафоре, вредност семафора С се иницијализира у број ресурса присутних у систему. Кад год процес жели приступити заједничким ресурсима, он се изводи чекати() операција на семафору који децрементс вредност семафора по један. Када пусти заједнички ресурс, он извршава а сигнал() операција на семафору који прираштај вредност семафора по један. Када дође до броја семафора 0, то значи сви ресурси су заузети процесима. Ако процес треба да користи ресурс када је број семафора 0, он извршава ваит () и гет блокирано док се процес који користи дељене ресурсе не ослободи и вредност семафора не постане већа од 0.


Ин Бинарни семафор, вредност семафора се креће између 0 и 1. Слично је закључавању мутека, али мутек је механизам закључавања, док је семафор сигнални механизам. У бинарном семафору, ако процес жели приступити ресурсу, он обавља операцију ваит () на семафору и децрементс вредност семафора од 1 до 0. Када процес ослободи ресурс, он врши а сигнал() рад на семафору и повећава његову вредност на 1. Ако је вредност семафора једнака 0 и процес жели приступити ресурсу он обавља операцију ваит () и блокира се док тренутни процес који користи ресурсе не ослободи ресурс.

Дефиниција монитора

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

Будући да је апстрактни тип монитора типа података садржи дељене променљиве података које треба да деле сви процеси и неки програмирани програми операције који омогућују да се процеси извршавају у међусобној искључености унутар монитора. Процес може није директан приступ дељива променљива података у монитору; процес мора да му приступи кроз процедуре дефинисано у монитору који омогућавају само једном процесу да приступи дељеним променљивим одједном.

Синтакса монитора је следећа:

монитор монитор_наме {// дељење декларације променљиве променљиве П1 (.) {} процедура П2 (.). {} процедура Пн (.) {} иницијализациони код (..) {}}

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

Условне променљиве уведени су за додатни механизам синхронизације. Условна променљива омогућава процесу чекања унутар монитора и омогућава да се процес чекања настави одмах када други процес ослободи ресурсе.

Тхе условна променљива могу позвати само две операције чекати() и сигнал(). Где ако процес П позива на чекање () радом се суспендује у монитору до другог процеса К позвати сигнал () операција, тј. сигнал () операција коју позива процес обнавља обустављени процес.

  1. Основна разлика између семафора и монитора је та семафор је цела варијабла С који показују број ресурса који су доступни у систему, а монитор је апстрактни тип података што омогућава да се у критичном одсеку истовремено извршава само један процес.
  2. Вредност семафора може бити модификована са чекати() и сигнал () само за рад. С друге стране, монитор има заједничке променљиве и процедуре само кроз које процесима могу приступити дељене променљиве.
  3. У програму Семапхоре када процес жели приступити заједничким ресурсима које процес изводи чекати() рад и блокирање ресурса и када се ослободе ресурса које обавља сигнал() операција. У мониторима када процес треба да приступи заједничким ресурсима, мора да им приступи кроз поступке у монитору.
  4. Тип монитора је променљиве стања које семафор нема.

Закључак:

Мониторе је лако имплементирати него семафор, а мала је вјероватноћа да ће се догодити грешка у праћењу у односу на семафоре.