TAILIEUCHUNG - Bài giảng Hệ điều hành: Chương 3 - Thoại Nam, Lê Ngọc Minh

Bài giảng "Hệ điều hành - Chương 3: Đồng bộ và giải quyết tranh chấp" cung cấp cho người học các kiến thức: Khái niệm cơ bản, bài toán Critical-Section, các giải pháp phần mềm, đồng bộ bằng hardware, semaphore, nội dung chi tiết. | Bài giảng Hệ điều hành: Chương 3 - Thoại Nam, Lê Ngọc Minh Chương 3 Đồng bộ và giải quyết tranh chấp (Process Synchronization) -1- Nội dung Khái niệm cơ bản Bài toán “Critical-Section” Các giải pháp phần mềm – Peterson, Bakery Đồng bộ bằng hardware Semaphore Các bài toán đồng bộ Critical Region Monitor Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa -2- 1 Khái niệm cơ bản Các process/thread thực thi đồng thời chia sẻ code, chia sẻ dữ liệu (qua shared memory, file). Nếu không có sự điều khiển khi truy cập các dữ liệu chia sẻ thì có thể xảy ra trường hợp không nhất quán dữ liệu (data inconsistent). Để duy trì sự nhất quán dữ liệu, hệ thống cần có cơ chế bảo đảm sự thực thi có thứ tự của các process đồng thời. Ví dụ Bounded-Buffer () thêm biến đếm count #define BUFFER_SIZE 10 # typedef struct { } item; item buffer[BUFFER_SIZE]; int in = 0, out = 0, count = 0; Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa -3- Bounded Buffer () Producer item nextProduced; while (1){ while ( count == BUFFER_SIZE ); /* do nothing */ buffer[in] = nextProduced; count++; in = (in + 1) % BUFFER_SIZE; } Consumer item nextConsumed; while (1){ while ( count == 0 ); /* do nothing */ buffer[in] = nextConsumed; count--; out = (out + 1) % BUFFER_SIZE; } Khoa Công Nghệ Thông Tin – Đại Học Bách Khoa -4- 2 Race Condition Race condition: nhiều Các lệnh tăng, giảm biến process truy xuất và thao tương đương trong ngôn ngữ tác đồng thời trên dữ liệu máy là: chia sẻ. (P) count ++; – Kết quả cuối cùng của việc – register1 := count truy xuất đồng thời này phụ – register1 := register1 +1 thuộc .

TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.