Дәріс 1 Операциялық жүйелердің (ОЖ) концептуальды негіздері. Тарихы. Қызметі. Жүйелік шақырулар. Операциялық жүйелер құрылымы


Процестер қарым-қатынасының примитивтері



Pdf көрінісі
бет7/56
Дата04.12.2023
өлшемі1.8 Mb.
#485405
1   2   3   4   5   6   7   8   9   10   ...   56
толық лекция

Процестер қарым-қатынасының примитивтері
Екі примитивтер түсінігі енгізіледі. 
Sleep- нәтижесінде шақыру процесс, оны басқа процесс іска қоспағанша, блоктанатын 
жүйелік сұраныс 
Wakeup- нәтижесінде блоктанған процесс іске қосылатын Жүйелік сұраныс. 
Негізігі артықшылығы- Бұл Белсенді күтудің болмауы. Проблема келесіде, егер спулер бос 
болса, онда Wakeup бостан бос іске қосылады. 
Толып кеткен буфер проблемасы (өндіруші мен қолданушы проблемасы). 


Өлшемі шектеулі буферді бірге қолданатын екі процесті қарастырайық, бір процесс буферге 
жазады, екіншісі берілгендерді оқиды. Буфер толып кеткен кезде бірінші процесс жазбас үшін, ал 
бос болған кезде екінші процесс одан оқымас үшін буфердегі элементтер санын есептеуге 
арналған count айнымалысы енгізіледі. 
Бұл жағдайда егер ағымдандыру сигналы жоғалып кетсе екі процесс те күту жағдайына түсіп 
қалуы мүмкін. 
Осындай жағдайдың алгоритмі: 
1. В процесі count=0 оқиды (блоктанып әлі үлгерген жоқ) 
2. Жоспарлаушы басқаруды А процесіне берді. 
3. А процесі В процесін блоктан шығаруға тырысып Wakeup-қа шейін барлығын істейді. 
(бірақ В процесі блокталған емес, Wakeup босқа іске қосылады) 
4. Жоспарлаушы басқаруды В процесіне береді. 
5. ол блоктанды, енді блоктан шығу сигналын алмайды. 
6. А процесі бара-бара буферді толтырады, бірақ блоктан шығу сигналын алмайды. 
 
Семафорлар. 
Семафорлар- болашаққа деп сақталған, іске қосу сигналдарын санауға арналған 
айнымалылар. Down және up екі операциялары ұсынылған (sleep және wekeup-тардың бір түрі). 
Процесті боктамас бұрын Down семафорды тексереді, егер ол нөлге тең болса, онда ол 
процесті блоктайды, егер олай болмаса, онда процесс қайтадан ағымдалады да Down семафорды 
бірге кемітеді. 
Up- семафордың мәнін 1-ге арттырады немесе күту жағдайындағы процесті блоктан 
шығарады. 
Down-семафордың мәнін 1-ге кемітеді немесе егер семафор тең 0 болса, онда процесті 
блоктайды. 
Down және Up элементарлық әрекет ретінде жұмыс істейді, яғни процесс осы 
операциялардың орындалу барысында блоктана алмайды. Бұл дегеніміз операциялық жүйеде 
барлық үзулулерге тыйым салу және процесті күту режиміне ауыстыру болу керек. 
Толып кеткен буфер проблемасын семафор көмегімен шешу. 
Үш семафор қолданамыз: 
Full-толтырылған сегменттерді санау (әуелі 0-ге тең) 
Empty-бос сегменттерді санау (әуелі сегменттер санына тең)
Mutex- екі процестің бір уақытта буферге рұқсат алуын болдырмас үшін (әуелі бірге тең) 
Mutex-семафордың қарапайымдалған версиясы, ол ресурске деген рұқсатты басқарады. 
Ресурс блокталған ба, әлде жоқ па екенін көрсетеді. 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   ...   56




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет