You are on page 1of 9

КРИТИЧНА СЕКЦИЈА

(critical section)

11/22/2023
• Проблем:
Замислимо да два процеса хоће да сачувају податке у истој меморијској
локацији.
Два процеса користе исти дељени податак и мењају га, и смењују се
процеси.
Више процеса захтева ексклузивно коришћење ресурса.

11/22/2023
• Паралелно извршавање процеса осим предности као што је
ефикасност, може имати доста проблема кад је манипулација са
заједничким подацима у питању.

• Дељени подаци су веома осетљиво место.

• Прекидање процеса који им је приступио, и пропуштање другог,


може довести до грешака.

11/22/2023
• Ситуација у којој крајњи резултат зависи од редоследа
извршавања корака различитих процеса који манипулишу
заједничким подацима, назива се трка за ресурсе
(енг. race condition).

11/22/2023
НЕКА ЈЕ X ПРОМЕНЉИВА КОЈОЈ МОГУ ПРИСТУПИТИ
РАЗЛИЧИТИ ПРОЦЕСИ КОЈИ ЖЕЛЕ ДА ЈЕ УВЕЋАЈУ ЗА 1,

• X=X+1 (као у ФОР пељи)

• Операција промене вредности обавља се у три корака,

• 1) смешта променљиву у регистар


• 2) увећа регистар за 1
• 3) премести садржај регистра у променљиву

11/22/2023
• Уколико два процеса настоје да обаве ову операцију, може се десити
да један почне са извршавањем, и да буде прекинут пре последње
инструкције, а други процес почне да увећава исту променљиву X.

• Други се процес изврши у потпуности, па први наставља да завршава


увећање. Тада X нема очекивану вредност.

11/22/2023
ДЕО ПРОГРАМА У КОЈЕМ СЕ ПРИСТУПА
ЗАЈЕДНИЧКИМ ПОДАЦИМА НАЗИВА СЕ
КРИТИТЧНА СЕКЦИЈА.

11/23/2023
• Најбоље би било да се обезбеди да у једном тренутку критичну секцију
може да извршава само један процес.
• Овакво решење није тривијално поготово у системима где је битна
ефикасност.
• Ако би се обезбедило да процес који приступа дељеним подацима не
буде прекинут док се не изврши, тад не би имали проблем са дељеним
подацима, али би имали умањену ефикасност система, па се ово
ретко примењује.

11/22/2023
• Питања:
• Шта је трка за ресурсе? (+објашњење)
• Шта је критична секција? (+објашњење)

11/22/2023

You might also like