Технологиялар кафедрасы


Дәрiске әдiстемелiк нұсқау



бет21/38
Дата07.01.2022
өлшемі444,59 Kb.
#17573
1   ...   17   18   19   20   21   22   23   24   ...   38

Дәрiске әдiстемелiк нұсқау


Дәрiсте берiлген материалды игеру үшiн процестер мен ағындардың байланыстарын пайдаланушы кеңістігінде жүзеге асыруда берiлген анықтамаларына көңiл бөліп, оларды ажырата бiлу керек. Дәрiсте берiлген негiзгi мәселелер мен сұрақтарға мән берiңiз. Процестер мен ағындардың байланыстарын пайдаланушы кеңістігінде жүзеге асыруға талдау жасаңыз.

5.6  Ағындар концепциясы



Мақсаты:

Ағындар концепциясын нақты қосымша жасау үшін қолдану әдістерін түсіндіру



Дәріс жоспары:

Ағындар концепсиясын нақты қосымша жасау үшін қолдану



Тақырып бойынша негізгі түсінік:

Қосымша жасауда ағынның қажет екендігін дәлелдеу үшін бір мысал қарастырыайық, ол Web-сайттың сервері.



Серверге көптеген сұратымдар келеді. Сервер сұратымға сәйкес Web-сайттың мазмұнын клиентке жібереді. Көпшілік Web-сайттарда кейбір беттерге басқасына қарағанда клиенттер көбірек қатысады. Мысалы, Sony компаниясының бас (негізгі) бетіне, нақты бейне камералардың техникалық сипаттамасы бар бетке қарағанда, тұтынушылар едәуір жиі қарайды. Өзінің жұмысын тиімді ету үшін сервер осындай қасиеттерді пайдаланады. Ол үшін өте керек беттердің мазмұны негізгі жадтың бір бөлігінде сақталады да, дискіге жиі қатысудан құтылдырады. Жадтың бұл бөлігі кэш деп аталады. Ол басқа да жағдайларда қолданылады. Төменгі суретте Web-серверді ұйым­дастырудың бір әдісі көрсетілген.

1-ші әдіс. Менеджер ағыны желіден келетін сұратымдарды оқиды. Сонан соң ол бос (яғни, бұғатталған) жұмысшы ағынын табады да, оған сұратымды береді және хабар нұсқағышын әрбір ағынға байланысты арнаулы сөзге жазады. Осыдан кейін менеджер күтіп тұрған ағынды бұғаттау жағдайынан жұмысқа дайын жағдайға ауыстырып белсендіреді.

Белсендірілгеннен кейін жұмысшы ағын Web-сайт сұратымының барлық ағынға еркін қатынауы бар кэш-жадында қанағаттандырылған­дығын тексереді. Теріс жауап болған кезде ағын керек бетті дискіден оқу үшін оқу командасын орындай бастайды да, осы амал аяқталғанша бұ­ғатталады. Жұмысшы ағын бұғатталғанда жіберу үшін басқа ағын таң­далады. Ол менеджер немесе дайын тұрған басқа жұмыс ағыны болуы мүмкін.

Бұл модель серверді тізбекті ағындардың жиынтығы ретінде жасауға болатындығын көрсетеді. Менеджер бағдарламасы құрамына сұратымды алау және оны жұмысшы ағынға беру амалдары бар ақырсыз циклдан тұрады. Әрбір жұмыс ағынының бағдарламасы құрамында сұратымды менеджерден алу және сұратылған бет кэш-жадында бар екендігін тексеру амалдары бар ақырсыз циклдан тұрады. Егер сұратылған бет кэш-жадында бар болса, онда ол клиентке жіберіледі де, жұмыс процесі жаңа сұратымды күту үшін бұғатталады. Егер сұратылған бет кэш-жадында жоқ болса, онда ол дискіден оқылып, клиентке жіберіледі де, жұмыс процесі жаңа сұратымды күту үшін бұғатталады.

2-ші әдіс. Енді ағын жоқ кездеWeb-серверді ұйымдастыруды тал­дайық. Бір мүмкін шешуі - Web-серверді бір ағын ретінде жұмыс істету. Негізгі цикл сұратымды қабылдайды, оны тексереді, қанағаттандырады сонан кейін келесі сұратымға кетеді. Мұнда керекті бет дискіден оқылып жатқанда, сервер тоқтап тұрады және басқа түсіп жатқан сұратымдарды өңдемейді.

Мұндағы Web-серверді ұйымдастырудың екі әдісінде де парраллель бағдарламалау қолданылмайды. Бірақ, ағындарды қолданған бірінші әдіс, ағынсыз екінші әдіске қарағанда әжептәуір өнімділік береді.

3-ші әдіс. Жүйелік сұратымның бұғатталмайтын варианты бар болса. Серверге сұратым келгенде оны оқитын және тексеретін бір ғана ағын бар. Егер сұратылған бет кэш-жадында бар болса жақсы, ал егер жоқ болса, онда бұғаттаусыз дискілік амал жіберіледі.

Сервер кестеге сұратымның ағымдағы жағдайын жазып, келесі оқиғаға көшеді. Ол жаңа сұратым болуы немесе алдындағы амалдың жауабы болуы мүмкін. Жаңа сұратым жағдайында, сұратым өңделе бастайды, ал кері жағдайда сәйкес ақпарат кестеден оқылады да, жауап дайындалады. Бұғаттаусыз дискіден енгізі-шығару процедурасы жағ­дайында жауап сигнал немесе үзілім формасында болады. Бұл әдісте «тізбекті процестер» моделі жұмыс істемейді. Бағдарлама жағдайы, сер­вер сұратымдар арасында ауысып қосылып отырғанда, айқын түрде кес­теге сақталуы және қайта қалпына келуі тиіс. Сонымен біз турасында ағындарды және стектерді моделдеп отырмыз. Мұндай әрбір есептеуге сақталған жағдай қарастырылған болып және осы жағдайларды өзгер­тетін бірнеше оқиғалар болса, онда оны ақырлы автоматты модель деп атайды.

Ағындар бұғаттаушы жүйелік сұратымдарды (мысалы, дискіден оқу) орындайтын тізбекті процестердің моделін сақтауға мүмкіндік бере тұра, параллелизмге қол жеткізеді. Бұғаттауы бар жүйелік сұратым бағдарламалауды жеңілдетеді, ал параллелизм өнімділікті өсіреді. Ақырлы автоматты модель параллелизм арқылы өнімділікті қатты көтереді, бірақ ол бағдарламалауды қиындататын бұғаттаусыз жүй елік сұратымды қолданады.

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

Процесті кіріс ағыны, өңдеу ағыны жіне шығыс ағыны деп бөлі керек. Кіріс ағыны деректерді дискіден оқып, оларды кіріс буферінее жазады. Өңдеуші ағын деректерді кіріс буферден оқып, оларды өңдеп шығыс буферіне жазады. Ал шығыс ағыны деректерді шығыс буферінен оқып, оларды дискіге жазады. Бұл модельде деректерді оқу, өңдеу және жазу біруақытта өтеді. Әрине, ол жүйелік шақырулар бүкіл процесті емес, тек шақырушы ағынды бұғаттаса ғана жүзеге асырылады.

Негізі түсінік бойынша ағындарды нақты қосымшалар жасау үшін қолданудың практикалық дағдыларын меңгермейінше, онымен жұмыс істеу мүмкін емес және қазіргі дербес компьютердің кез келген пайдаланушысында ертеме, кешпе пайда болатын проблемаларды шеше алмайсыз.


1   ...   17   18   19   20   21   22   23   24   ...   38




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

    Басты бет