int x = 5;
int* sum = &x;
// xử lý tiến trình
while (TRUE) {
int j = 1-i;
flag[i]= TRUE;
turn = j;
while (turn == j && flag[j]==TRUE);
*sum++;
flag[j] = FALSE;
Noncritical-section ();
}
a. Khi tạo 2 tiến trình để xử lý biến sum, giải pháp đồng bộ busy-waiting trên có thỏa mãn 3 yêu cầu khi giải quyết vấn đề
vùng tranh chấp (critical section)? Tại sao
b. Không dùng giải pháp buy-waiting để đồng bộ tiến trình, sửa lại code cho giải pháp semaphore
Em mới học về đồng bộ trong hệ điều hành được vài ngày thì có bài tập này, nghĩ mãi vẫn chưa ra nên mong các bác giúp em với ạ, em cám ơn.