- •«Тура уақыт жүйелері» пәні бойынша емтихан сұрақтары
- •1.Digital unix операциялық жүйесі: архитектурасы және тура уақыт құралдары
- •2.Java– тура уақыт жүйесі
- •Immortal Memory(өшпейтін жады)
- •3.Ms Windows операциялық жүйелерінің ішінде туож ретінде қолдануға болатын түрлері, олардың сипаттамалары және қолданылу салалары
- •Кірістірілген ож Windows Embedded Windows Embedded – бұл нуож, әр түрлі біріктірілген (встраемые) жүйелерде қолдану үшін жасалған. Arm, mips, SuperH және x86платформаларын ұстанады.
- •4.5.6.Qnx neutrino туож құрамы, микроядросы, негізгі ұғымдары
- •7.Real методологиясының негіздері
- •8.Real-Time corba қызметі, негізгі мүмкіндіктері және қолданылу салалары
- •9.Ағындарды posix стандарттары бойынша синхронизациялау құралдары
- •10.Дайындығы жоғары туж-лерге қойылатын талаптар
- •11.Қазіргі заманғы қолданылып жүрген тура уақыт жүйелері: Linux Works, Inc. Фирмасының LynxOs 4.X туж
- •12.Қазіргі заманғы қолданылып жүрген тура уақыт жүйелері: Microware System фирмасының os-9/Hawk туж
- •13.Қазіргі заманғы қолданылып жүрген тура уақыт жүйелері: Wind River Systems фирмасының VxWorks туж
- •14.Қазіргі заманғы қолданылып жүрген тура уақыт жүйелері: Оракул фирмасының qnx4 туж
- •15.Қондырмалы тура уақыт операциялық жүйелері : rtos -32 туож-сі
- •16.Қондырмалы тура уақыт операциялық жүйелері : uOs туож-сі
- •17.Қорғалған тура уақыт операциялық жүйелері
- •18.Мьютекстердің қызметі және оларды қолдану
- •19.Пәндік облыстың модельдері мен әдістері. Анықтамалар
- •20.Пәндік облыстың модельдері мен әдістері. Орындалу ортасы
- •21.Пәндік облыстың модельдері мен әдістері. Пикоядро.
- •22.Пәндік облыстың модельдері мен әдістері. Тура уақыт жүйелерінің ядросы
- •23.Программалық қамсыздандыруды жасау методологиясының даму тарихы
- •24.Программалық таймерлердің posix стандарттары бойынша негізгі түрлері
- •25.Процестерді жоспарлаудың негізгі ұғымдары
- •26.Процестерді интерактивті жүйелерде жоспарлау
- •27.Процестерді пакеттік өңдеу жүйелерінде жоспарлау
- •28.Процестерді тура уақыт жүйелерінде жоспарлау
- •29.Семафорлардың қызметі және оларды қолдану. Түрлері
- •30.Тура уақыт posix-сигналдары, қызметі, ерекшелігі
- •31.Тура уақыт жүйелері дегеніміз не?
- •32.Тура уақыт жүйелері программалық қамсыздандырылуының жасалуы
- •33.Тура уақыт жүйелерін жасауда кездесетін негізгі қиындықтар
- •34.Тура уақыт жүйелерінде қолданылатын технологиялар: can-интерфейс
- •35.Тура уақыт жүйелерінде қолданылатын технологиялар: компьютерлік инженерия
- •36.Тура уақыт жүйелерінде қолданылатын технологиялар: Параллель қосымшалар.
- •37.Тура уақыт жүйелерінде қолданылатын технологиялар: Программалаудың объектілік - оқиғалық моделі
- •39.Тура уақыт жүйелерінде қолданылатын технологиялар: тура уақыт жүйелері.
- •40.Тура уақыт жүйелерінде тапсырмаларды басқару әдістері. Апериодты тапсырмаларды жоспарлауға сәйкес әдістер.
- •41.Тура уақыт жүйелерінде тапсырмаларды басқару әдістері: Deadline monotonic (dm) әдісі.
- •42.Тура уақыт жүйелерінде тапсырмаларды басқару әдістері: edf әдісі
- •43.Тура уақыт жүйелерінде тапсырмаларды басқару әдістері: Rate monotonic (rm) әдісі.
- •44.Тура уақыт жүйелерінде тапсырмаларды басқару әдістері: Кідірісті болдыратын сервер (ds) және приоритеттермен алмасу алгоритмі.
- •45.Тура уақыт жүйелерінде тапсырмаларды басқару әдістерінің классификациясы
- •46.Тура уақыт жүйелеріндегі тапсырмалардың периодтылығы бойынша жіктелуі. Мысалдар
- •47.Тура уақыт жүйелерінің жіктелуі (уақыттық шектеулер қатаңдығы бойынша, жұмыс жылдамдығы бойынша, арнайы программалық қамсыздандыруды қолдануды қажет ететін және қажет етпейтін белгілері бойынша)
- •48.Тура уақыт жүйелерінің құрылымдық мінездеушілері бойынша классификациясы
- •49.Тура уақыт жүйелерінің программалық ортасына байланысты классификациясы
- •50.Тура уақыт операциялық жүйелерінде тапсырмаларды диспетчерлеу түрлері
- •52.Тура уақыт программалау тілдері (Real-Time Programming Languages)
- •53.Эксперттік тура уақыт жүйелерінің архитектурасы
- •54.Эксперттік тура уақыт жүйелерінің негізгі компоненттері
28.Процестерді тура уақыт жүйелерінде жоспарлау
29.Семафорлардың қызметі және оларды қолдану. Түрлері
Семафорлар-дегеніміз болашақ үшін сақталған жіберу сигналдарын санаушы айнымалылар. Ең алғаш болып 1965 жылы Дейкстра(Dijkstra) процесстердің синхрондалуын жүргізетін механизмдердің бірі ретінде семафорды сипаттап берді.
Семафор өзі теріс емес мәндерді қабылдайтын бүтін айнымалыны көрсетеді, оның инициализацияланған моменттен басқа кез келген процесстің қол жеткізуі екі атомарлық операциялар арқылы жүзеге асады: P ( лат тілінен аударғанда proberen – тексеру) және V (verhogen – арттыру). Бұлардың классикалық түрдегі сипаттамасы мынадай:
P(S): S == 0 болғанша процесс блокталады;
S = S – 1;
V(S): S = S + 1;
Бұл жазудың түсіндірмесі: S семефорына P операциясының орындалуы кезінде бірінші оның мәні тексеріледі. Егер ол 0 ден үлкен болса, онда S тан 1 алынады. Егер ол кіші немесе тең 0 ге болса, процесс S 0 ден үлкен болғанға дейін блокталынады, содан кейін S тан 1алынады. S семефорына V операциясының орындалуы кезінде оның мәніне 1 қосылады. Құрылған кезде семафор кез келген теріс емес мәнмен инициялизияланған болуы мүмкін.
Осындай айнымалы семафорлар процесстердің өзара байланысын ұйымдастырудағы есептер үшін қолданылуы мүмкін.Програмамалау тілінде ол мысалға, ALGOL-68 тілінің синтаксисына енгізілген болатын, ал басқа жағдайларда арнайы жүйелік шақырулар арқылы жүзеге асырылады. Осы бүтін айнымалы операциялық жүйенің ядросының адрестік кеңістігінде жайғасады. Операциялық жүйе P және V операцияларының атомарлығын қамтамасыз етеді, мысалға, сәйкес келетін жүйелік шақырулардың орындалуы кезінде үзілісті болдырмау әдісі. Егер P операцясының орындалу кезінде бірнеше операция блокталып қалса, онда оларды блоктан алып тастау еркімен болуы мүмкін, мысалға FIFO.
Producer-consumer мәселесін семафорлар арқылы шешу. Процестердің өзара байланысын ұйымдастыруды қажет ететін есептердің бірі producer-consumer (өндіруші-тұтынушы) есебі. Екі процесс шектелген өлшемі бар буфер арқылы ақпаратпен алмасып жатыр делік. Өндіруші буферге ақпаратты салады, ал тұтынушы одан ақпаратты алады. Бұл деңгейде мына түрде жазуға болады: Producer: while(1) { produce_item;
put_item;
}
Consumer: while(1) {
get_item;
consume_item;
}
Егербуфертолықболса, ондаөндірушіжаңаақпаратқаорынтабылғаншакүтуіқажет. Алегербуфербосболса, тұтынушыжаңахаттыкүтуіқажет. Бұлшарттардысемафорларарқылықалайжүзегеасыруғаболады? Empty, full и mutex дегенүшсемафоралайық. Full семафорынтұтынушыбуфердеақпараткелгеншекүтуіүшінқолданайық. Empty семафорынбуфертолыпқалғанкездегіөндірушініңкүтуінұйымдастыруүшінқолданайық, ал mutex семафорасынкритикалықоблыстардағыөзарашығарудыұйымдастыруүшін, бұлісәрекеттер put_item и get_item ( "ақпараттысалу" және "ақпараттыалу" қиылысаалмайды, бұлжағдайдаақпараттыңбұзылуыболуымүмкін). C-тіліндежүзегеасырылуы: Semaphore mutex = 1; Semaphore empty = N; /* где N – емкостьбуфера*/ Semaphore full = 0; Producer: while(1) { produce_item; P(empty); P(mutex); put_item; V(mutex); V(full); } Consumer: while(1) { P(full); P(mutex); get_item; V(mutex); V(empty); consume_item; } Соныменсемафорларбұлжердеекімақсаттақолданды: критикалықоблыстаөзарашығарудыұйымдастыруыүшінжәнепроцестердіңжұмысыныңжылдамдығыныңөзарасинхрондалуыүшін.
Семафорлармен жұмыс істеу үшін post және wait операциясы қолданылады. Wait операциясы есептегіш мәнін нөлмен салыстырады. Егер мәні нөлден үлкен болса wait операциясы мәнін кешірейтіп басқаруды қайтарады. Ал егер мәні нөлге тең болса , wait рәсімі басқаруды ағынға қайтармайды, алағын күту күйіне өтеді.
Post операциясы есептегіш мәнін үлкейтеді. Егер осы семаформен бір немесе бірнеше күту күйінде тұрғып, wait операциясын аяқтамай тұрған ағын байланыста болса, онда олардың біреуі жүйемен таңдалынып , мәні кемітіледі де wait операциясы тоқтатылады.
Семафордың түрлері
Семафордың екі түрі белгілі: есептік және бинарлық(екілік).Ең алдымен семафордың қарапайым түрінен бастасақ, ол тек 0 және 1 сандарын қабылдай алатын бинарлық немесе екелік семафор. Семафордағы 0 саны блок қатү суді білдірсе, 1 саны блоктан босатылуды көрсетеді. Бұл семафордың ең көп тараған түрі. Көп дұрыс мәнді қабылдайтын семафорларды жалпы түрдегі семафор деп атайды.
Бинарлықсемафорлардыңқолданылуы:
Semaphore S = 1;
while( true ){
P(S);
Ресурстың қолданылуы
V(S);}
Ал енді семафордың күрделілек түрі есептік семафор туралы біраз айтып өтсек . Есептік –семафордың мәні 0 мен белгілі бір шектің арасын да жатады. Posix-ке сәйкес оның мәні 32767 –ден кем болмауы тиіс. Олар тапсырмадағы қолданушылармен тұтынушыларға қолайлы ресурстарды есептеу үшін қолданылады және де семафордың мағынасы қолайлы ресурстармен сәйкескелуі керек.Есептік семафорлар есептегішке байланысты бірнеше күйде бола алады.
Есептік семафорлардың қолданылуы :
Semaphore S1 = N, S2 = 1;
while( true ){
P(S1);
P(S2);
Бос ресурсты таңдау
V(S2);
Ресурсты қолдану
P(S2);
Ресурсты босату
V(S2);
V(S1);}
Бинарлық семафорларда есептік семафорлардан айырмашылығы есептегіштің мәні бірден артық бола алмайды. Сол себепті тек екі күйде бола алады: блокталған және блокталмаған.
