6.
5-суретте мультипрограммалау кезінде процестердің параллельдігін
кескіндейтін кезектілік графы көрсетілген. «Басы» операторы п
1
–п
п
программаларының орындалу ретін анықтайды. Барлық программалар жұмыс
істеп болғаннан кейін «Соңы» операторына жетеді. Процестердің параллельді
жүруі кезінде екі жағдай болуы мүмкін: біріншіден, процестер өзара тəуелсіз
болулары мүмкін; екіншіден, процестер өзара байланысқан болулары мүмкін.
Бірінші жағдайда ерекше мəселелер туындамайды, ал, екінші жағдайда бірнеше
спецификалық мəселелердің: өзара алып тастау жəне синхрондау жəне т.б.
шешілуі қажетті.
Өзара алып тастау мəселесінің тууына тоқталайық. Параллельді жүретін
кез-келген А жəне В екі процесі деректер облысына қатынаса алатындай өзара
байланысқан болуы қажет. Сонымен, А процесі D деректер облысын жаңартқан
кезде, В процесі D деректер облысынан деректерді оқиды. Мұндай жағдайда, В
процесі жаңартылмаған деректермен бірге ескі деректерді де бірге оқыған кезде,
əртүрлі қателіктерге келтіретін жағдай тууы мүмкін. Осыған байланысты,
жаңартуды тоқтатқанша В процесінің D процестер облысына қатынауын
болдырмау қажет. Немесе, керісінше, А процесінің D процестер облысына
қатынауын В процесі деректерді толық оқымайынша болдырмау қажет.
Сонымен, D облысына өзара қатынауын болдырмау қажеттілігі мəселенің
шешімі болып табылады.
Бірнеше процестердің параллельді жұмыс істеуі кезінде ресурсқа
қатынауды ретке келтіру үшін синхрондау мəселесін де шешу қажет. Мұндай
жағдайда, ресурсқа қатынау, ол тек басқа процестен босаған кезде ғана мүмкін.
Процестерді синхрондау «семафорлар» мен «оқиғалар» көмегімен шешіледі.
«Семафор» тек қана бір процестің қорғалған процесіне қатынауды қамтамасыз
ететін əдіс болып табылады. Егер процестер жалпы ресурсқа анықталған
шарттарды орындау кезінде ғана қатынай алатын болса, онда осы шарттардың
орындалуын тексеру үшін жəне жалпы ресурсқа қатынау кезінде кезектілікті
қамтамасыз ету үшін «оқиға» əдісі қолданылады.
Негізгі əдебиет: 1 [47-57].
Достарыңызбен бөлісу: