Синхронизациялау қажеттілігі. Синхронизациялау сұрақтарына немқұрайлылық комплекті жүйеде тапсырманы дұрыс шешуге немесе жүйенің күйреуіне әкеліп соқтырады. Мысалы: (4.1.1.суреттегідей) кейбір кәсіпорындарда тұтынушылардың мәліметтік қорын енгізу тапсырмасы.
Деректер базасындағы көптеген жолдардың ішінде төлем және тапсырыс жолы бар, әрбір тұтынушға жеке жазба жұмыстары жүргізіледі. Деректер базасын орындайтын бағдарлама бірнеше лектен тұратын; соның ішінде А легі деректер базасында тұтынушылардан келіп түскен тапсырыс беру туралы ақпарат енгізсе, В легі деректер базасында тұтынушыларға есептеме төленді, ұсынушы біріңғай процес ретінде құралды. Үш қадамдық әрекеттерді іске қосатын біртиптік алгоритмді пайдаланып. Бұл екі лекте деректер базасының жалпы файлына бірлесе әрекет етеді.
Деректер базаснда тұтынушы туралы тапсырылған теңестірілуімен буферге жазуды есептеу.
Тапсырыс (А легі үшін) немесе Төлем (В легі үшін) жолдарын жаңа мағына беру.
Деректер базасына модификацияланған жазба енгізу.
Мәліметтерді бөлуге ену барысы. А легі үшін А1,А2 және А3, В легі үшін В1,В2 және В3 қадамдарына сәйкес лектерін белгілейміз, N тұтынушы туралы тапсырыс жазбасын А легі қажет болған жағдайда жаңарта алу үшін. Бұл үшін ол өзі буферінде (А1 қадам) жазба енгізу, Тапсырыс (А2 қадамы) мазмұнын модификациялайды, ал деректер базасында (А3 қадамы) жазба енгізуге үлгермейді, себебі оның орындалуы тоқтатылады, мысалы уақыт квантының аяқталуы. В легінде N тұтынушысына сәйкес мәлімет енгізу қажеттілігі туды деп есептейік. В легінің кезегі келгенде, ал өз буферінде (В1) жазбасын енгізіп үлгереді және төлем (В қадамы) жолын жаңартуды орындайды. Содан кейін тоқтатылады. Бұдан В легінде N тұтынушысы туралы жазба енгізілген, ал тапсырыс жолы бастапқы қалпында мағынасы өзгертілгендігін байқаймыз.
Е гер А легіне кезекті түрде басқару берілген кезде, ол өз жұмысын жалғастыра отырып, N тұтынушысы туралы деректер базасына тапсырыс (А3 қадамы) жолының модификацияланған жазбасын енгізеді. А легін тоқтатып, В легін активизацияланғаннан соң, N тұтынушысы туралы деректер базасындағы төлем жолының соңғы жаңартылған өз нұсқасын енгізеді. Бұл жағдайда деректер базасында N тұтынушысының жүргізген төлемі туралы ақпарат сақталады да, тапсырыс туралы ақпарат жойылады. (Н.2,а-суреті) Синхронизациялау мәселесінің қиындықтары пайда болатын жағдайлардың ретсіздігіне байланысты жоғарыда көрсетілген мысалдағы оқиға желісін басқалай дамытуға болады: тапсырыс туралы ақпараттың жойылуы. (Н.2,б-суреті) немесе керісінше барлық түзетулер сәтті енгізіледі. (Н.2,в-суреті) Бұның барлығы лектердің жылдамдығымен тоқтатылу уақытына сәйкес анықталады. Сондықтан лек аралық қарым-қатынас күрдеіл қатынас болып табылады. Жоғарыда көрсетілгендей немесе одан да көп лектер белгілі бір бөлімдерді өңдеуі және қорытында нәтиже лектердің жылдамдығына сәйкес болуы лектер жарысы деп аталады.
4.2. сурет Тапсырманың орындалу қорытындысына ықпал ететін лектердің жылдамдығы
Сыный секция. Лектерді синхронизациялауда бағдарламаның сыный секция ұғымы маңызды орын алады.Сыный секция-дегеніміз бағдарламаның бір бөлігі, орындау нәтижесі оқылған сыймайтындай өзгеруі мүмкін, белгілі бір бөліктің орындалу уақыты аяқталмаған басқа лектермен ауысып, сыный секция әрқашан да сыный мәліметтер арқылы анықталады; Алдыңғы келтірілген мысалды сыный лсекция- деректер базасы болып тұр.
Барлық сыный мәліметтермен жұмыс жүргізетін лектерде сыный секциялары анықталынуы тиіс. Бұдан байқағандығымыздағыдай, түрлі лектердегі сыный секциялар түрлі нәтижелі каманда жүйелерінен түзілуі тиіс.
Достарыңызбен бөлісу: |