BÀI : CÁC GIẢI PHÁP ĐỒNG BỘ HĨA CÁC GIẢI PHÁP ĐỒNG BỘ HOÁ Nhóm giải pháp Busy Waiting Sử dụng biến cờ hiệu Sử dụng việc kiểm tra luân phiên Giải pháp Peterson Cấm ngắt Chỉ thị TSL Nhóm giải pháp Sleep & Wakeup Semaphore Monitor Message Các giải pháp “Busy waiting” While (chưa có quyền) donothing() ; CS; Từ bỏ quyền sử dụng CS p tục tiêu thụ CPU chờ đợi vào m ng đòi hỏi trợ giúp Hệ điều hà Các giải pháp “Sleep & Wake up” if (chưa có quyền) Sleep() ; CS; Wakeup( somebody ); ø bỏ CPU chưa vào miền găng ần Hệ điều hành hỗ trợ Semaphore Được hỗ trợ HĐ Semaphore s; // s >=0 Down (s) & Up(s) ổ chức độc quyền truy xuất Down (s) CS; Up(s) P1 : P2: Job1; Down (s); Tổ chức “hò hẹn” Up(s) Job2; Monitor Monitor m int x; Condition c; Function F1() { ….wait(c); …} Được hỗ trợ NNL Bảo đảm độc quyề truy xuất tự động Sử dụng biến điều để thực “Hoø h Function F2() { ….signal(c); …} Message Send Request Serve r Send Finish P Receive Accept Được hỗ trợ HĐH Đồng hóa môi trường phân tán Các toán đồng hoá kinh điển Producer-Consumer P Buffer Buffer (N) (N) R2 R3 R1 W1 C W2 Database P khoâng ghi liệu vào buffer đầy C không đọc liệu từ buffer trống P C không thao tác buffer lúc Readers - Writers W không cập nhật liệu có R truy xuất CSDL Tại thời điểm , cho phép Wđược ...CÁC GIẢI PHÁP ĐỒNG BỘ HOÁ Nhóm giải pháp Busy Waiting Sử dụng biến cờ hiệu Sử dụng việc kiểm tra luân phiên Giải pháp Peterson Cấm ngắt Chỉ thị TSL Nhóm giải pháp Sleep... Monitor Message Các giải pháp “Busy waiting” While (chưa có quyền) donothing() ; CS; Từ bỏ quyền sử dụng CS p tục tiêu thụ CPU chờ đợi vào m ng đòi hỏi trợ giúp Hệ điều hà Các giải pháp “Sleep &... chưa vào miền găng ần Hệ điều hành hỗ trợ Semaphore Được hỗ trợ HĐ Semaphore s; // s >=0 Down (s) & Up(s) ổ chức độc quyền truy xuất Down (s) CS; Up(s) P1 : P2: Job1; Down (s); Toå chức “hò