1. Trang chủ
  2. » Giáo án - Bài giảng

TIẾN TRÌNH các bài TOÁN LIÊN QUAN đến SEMAPHORE

5 110 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 382,58 KB

Nội dung

CHƯƠNG I: TIẾN TRÌNH CÁC BÀI TOÁN LIÊN QUAN ĐẾN SEMAPHORE.1)bài toán tạo phân tử h20, tạo h2so4CHƯƠNG 2: TÌNH TRẠNG BẾ TẮC ( DEADLOCK)1.Khái niệmDeadlock (tình trạng bế tắc) là tình huống xảy ra khi một tiến trình giữ tài nguyên và chờ tài nguyên từ những tiến trình khác nhưng có có tiến trình nào có đủ tài nguyên để kết thúc công việc dẫn đến cạn kiệt tài nguyên.2.Điều kiện gây ra deadlockDeadlock xảy ra khi và chỉ khi 4 điều kiện sau đồng thỏa mãn:(1)Điều kiện loại trừ lần nhau (mutural exclusion): Tài nguyên hệ thống phải là loại tài nguyên dành riêng, không thể chia sẻ cho nhiều tiến trình đồng thời. Nếu một tiến trình đang sử dụng tài nguyên thì tiến trình khác phải chờ.(2)Điều kiện giữ và chờ (hold and wait): Tiến trình giữ tài nguyên đã được cấp phát (không trả lại) và chờ xin được cấp phát tài nguyên còn lại.(3)Điều kiện chờ thành chu trình (circular wait): Sự phụ thuộc tài nguyên giữa các tiến trình tạo thành 1 vòng dẫn đến không có tiến trình nào có đủ tài nguyên để kết thúc công việc.(4)Điều kiện không có quyền ưu tiên: Không có tiến trình nào với mức ưu tiên cao được phép giật tài nguyên từ tiến trình với mức ưu tiên thấp hơn.

CHƯƠNG I: TIẾN TRÌNH - CÁC BÀI TỐN LIÊN QUAN ĐẾN SEMAPHORE 1) Bài toán tạo phân tử : H O = H2O semaphore h_sem, o_sem; semaphore mutex = 1; int w_mol; make_hidrogen { while(TRUE) { down(&mutex); up(&h_sem); printf(“_h_”); up(&mutex); sleep(1); } } make_oxygen { while(TRUE) { down(&mutex); up(&0_sem); printf(“_o_”); up(&mutex); sleep(1); } } make_water{ while (TRUE){ down(&h_sem); down(&h_sem); down(&o_sem); down(&mutex); w_mol++; printf(“w_mol = %d/n”, w_mol); up (&mutex); } } 2) BÀI TOÁN TẠO ACID SUNFURIC H2SO4 semaphore h_sem, o_sem, s_sem; semaphore mutex = 1; int a_mol; make_hidrogen { while(TRUE) { down(&mutex); up(&h_sem); printf(“_h_”); up(&mutex); sleep(1); } } make_oxygen { while(TRUE) { down(&mutex); up(&o_sem); printf(“_o_”); up(&mutex); sleep(1); } } make_sunfur { while(TRUE) { down(&mutex); up(&s_sem); printf(“_s_”); up(&mutex); sleep(1); } } make_acid_sunfuric{ while (TRUE){ down(&h_sem); down(&h_sem); down(&s_sem); for(int i = 1; i k việc xoay vòng shift lặp lại không tạo hệ 2k phương trình độc lập tuyến tính ... nguyên dành riêng, chia sẻ cho nhiều tiến trình đồng thời Nếu tiến trình sử dụng tài nguyên tiến trình khác phải chờ (2) Điều kiện giữ chờ (hold and wait): Tiến trình giữ tài ngun cấp phát (khơng... trình (circular wait): Sự phụ thuộc tài nguyên tiến trình tạo thành vịng dẫn đến khơng có tiến trình có đủ tài ngun để kết thúc cơng việc (4) Điều kiện khơng có quyền ưu tiên: Khơng có tiến trình. .. Deadlock (tình trạng bế tắc) tình xảy tiến trình giữ tài nguyên chờ tài nguyên từ tiến trình khác có có tiến trình có đủ tài ngun để kết thúc cơng việc dẫn đến cạn kiệt tài nguyên Điều kiện gây

Ngày đăng: 31/12/2022, 22:53

TỪ KHÓA LIÊN QUAN

w