Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операциялы жйелер(Ешпанова).doc
Скачиваний:
57
Добавлен:
01.05.2015
Размер:
671.23 Кб
Скачать

8.2 Жалпы ақпарат

Егер глобалады айнымалыны бірнеше ағындармен өзгерткенде, онда орындалған өзгертулер жоғалып кетуі мүмкін. Қосымшалардың бірнеше ағындар кезіндегі жұмысы дұрыс болуы үшін ағындардың программа операторларына (айнымалылардың мәнін өзгертетін және жадыға жазатын операторларға) қол жеткізуін кезекпен орындалатындай қылу керек.

Тек бір процестің ғана глобалды айнымалылардың мәндерін жазу және өзгерту мүмкіндігі болуы керек.

Бұл есепті шешу үшін қарапайым құралдар – бір процестің критикалық бөліктеріне кезекпен қол жеткізуді қамтамасыз ететін критикалық секциялар және күрделі құралдар -  Mutex (mutually exclusive – взаимно-исключающий) қолданылады. Жай тілмен айтқанда мьютекстер, олар әртүрлі процестер тудырған ағындар үшін тура сондай есептерді шешеді. Сонымен қатар критикалық бөліктерге кезекпен қол жеткізуді қамтамасыз ету есептері семафорлар және оқиғалар – әмбебап синхрондау құралдарының көмегімен де шешіледі.

8.2.1 Ағымдар.

Windows ОЖ көп есепті (многозадачный) болып табылады, яғни бір уақытта бірнеше есептерді орындайды.

Бір бағдарлама кодтары бір уақытта орындалатын бірнеше тәуелсіз блоктарынан тұра алады. Әрбір блок ағын деп аталады.

Жаңа қосымша қосылғанда ол үшін бағдарлама коды орындалатын негізгі 1 ағым пайда болады. Сонымен бірге кез келген уақытта негізгі ағыммен параллель орындалатын қосымша ағымдар құруға болады.

Осылай көп есептікті  бағдарлама ішінде де құруға болады. Мысалы егер өте көп уақыт алатын есеп шығару қажет болса, онда қосымша ағым құру ыңғайлы. Негізгі бағдарламаны екі ағымға бөледі, біреуінде есептеу орындалады, екіншісінде қажетті жұмыс орындалады.

8.2.2 Ағымдар синхронизациясы.

Есептеу  жүйесінің аппараттық және информациялық ресурстарын қоса қолданумен байланысты ағымдар синхронизациясының қажеттелігі тек мультипрограммалық операциялық жүйелерде пайда болды.  Ағымдар арасында мәліметтер алмасу, мәліметтерді бөлу, процессорға және енгізу-шығару құрылғыларына қол жеткізу жағдайында  тығырықтарды болғызбау үшін синхронизация қажет.

Ағымдардың өзара байланысының негізінде синхронизация жатыр. Мысалы, қабылдаушы-ағым тек жіберуші-ағым мәліметті буферге салған соң ғана ол мәліметті шақыра алады. Егер де қабылдаушы-ағым мәліметті буферге түскенге дейін шақырып қойса, онда ағым тоқтатылады.

8.3 Бақылау сұрақтары

8.3.1 Синхрондау не үшін керек?

8.3.2 Семафор және оқиғалар дегеніміз не?

8.3.3 Мьютекс қандай қызмет атқарады?

8.3.4 Критикалық секциялармен қалай жұмыс істелінеді?

8.3.5 ThreadObject не үшін арналған?

8.3.6 Матрицамен жұмыс істейтін функциялар тізімі қандай?

8.3.7 Матрицаны Excel файлына жазу үшін қандай функциялар қажет?

8.3.8 numThreads нені көрсетеді?

9 Зертханалық жұмыс №9. Операциялық жүйеде процессорлық уақытты тарату әдістері

Жұмыстың мақсаты – қадағалау (диспетчеризация) тәртіптерімен танысу және оларды процессорлық уақытты таратуда қолдануға дағдылану.

9.1 Зертханалық жұмысқа тапсырма

Тапсырмаларды орындамас бұрын 9.2 тармақта көрсетілген әдістемелік нұсқауларды оқыңыз.

9.1.1 0-2pi интервалында cos(x) функциясының мәндерін МАТЛАБ бір немесе бірнеше ағымын қолданып әртүрлі қадамдарда есептеңіз. Орындалу ұзақтықтарын салыстырыңыз, графиктерін тұрғызыңыз, уақыт мәндерін MS Excel кестесініне жазыңыз.

9.1.2 0-2pi интервалында sin(2x)+cos(x) функциясының мәндерін МАТЛАБ бір немесе бірнеше ағымын қолданып әртүрлі қадамдарда есептеңіз. Орындалу ұзақтықтарын салыстырыңыз, графиктерін тұрғызыңыз, уақыт мәндерін MS Excel кестесініне жазыңыз.

9.1.3 №8.1.1 тапсырманы қолданып уақыт санаңыз. Gettickcount функциясын қолдану керек.

9.1.4 А, В,С үш есеп жуықпен бір уақытта компьютерлік орталыққа келіп түседі. Оларды орындау уақыты 1, 2, 4 минут деп болжануда. Процестердің арасында ауысу уақыты (контексті ауыстыру уақыты) – 2 мс, ал процессордың квант уақыты 20 мс деп санап, есептерді орындаудың орташа уақытын табу керек. Циклдық жоспарлау (RR) - әрбір есепке өзіне тиісті уақыт бөлігі беріледі.

9.1.4 A, B, C, D төрт пакеттік есеп екіпроцессорлық компьютерге жуықпен бір уақытта келіп түседі. Оларды орындау уақыты 7, 4, 6, 2 минут деп болжануда. Орнатылған басымдылық реті (приоритет) 3, 2, 1, 4, жоғарғысы 4. «Бірінші келді, бірінші кетті» алгоритмі үшін орташа уақытты анықтаңыз, жіберілген есеп соңына дейін орындалады. Процестер арасындағы ауысуларға кеткен уақыт ескерілмесін.