Bài Tập Hệ Điều Hành UIT chương 5

7 27 0
Bài Tập Hệ Điều Hành UIT chương 5

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

Thông tin tài liệu

Môn học Hệ điều hành Báo cáo Bài tập chương 5 Lớp IT007 M21 HTCL Bài làm Câu 1 Xét giải pháp phần mềm do Dekker đề nghị để tổ chức truy xuất độc quyền cho 2 tiến trình Hai tiến trình P0 và P1 chia sẻ các biến sau  Var flag array 0 1 of Boolean; (khởi động là false)  Turn 0 1; Cấu trúc một tiến trình Pi ( i=0 hay 1, và j là tiến trình còn lại như sau Giải Giải pháp này thỏa mãn cả 3 yêu cầu + Nếu một tiến trình Pj muốn vào vùng tranh chấp, trong khi tiến trình Pi cũng.

Môn học: Hệ điều hành Họ tên: Nguyễn Thanh Hiếu Báo cáo Bài tập chương Lớp: IT007.M21.HTCL Bài làm Câu 1: Xét giải pháp phần mềm Dekker đề nghị để tổ chức truy xuất độc quyền cho tiến trình Hai tiến trình P0 P1 chia sẻ biến sau:  Var flag : array [0 1] of Boolean; (khởi động false)  Turn : 1; Cấu trúc tiến trình Pi ( i=0 hay 1, j tiến trình cịn lại sau: Giải: - Giải pháp thỏa mãn yêu cầu + Nếu tiến trình Pj muốn vào vùng tranh chấp, tiến trình Pi muốn vào vùng tranh chấp: =>dựa vài biến turn để xác nhận Pi hay Pj tiến hành, turn có giá trị lúc nên có vào vùng tranh chấp => thoả mãn u cầu + Khơng có động thái ngăn cản tiến trình Pj vào miền găng Pi không miền găng (như đổi turn từ j thành i, đổi flag[j] thành false) => thoả mãn yêu cầu + Khi Pi hoàn thành nhường lượt cho Pj, Pi bị tắc Pj tiến nhường lượt cho Pi => thoả mãn yêu cầu Câu 2: Xét giải pháp đồng hóa sau: Giải: - Ta thấy code có đoạn j = – i => đề nói tới xét tiê trình P1 P0 i = j = ngược lại - Giải thuật không thoả mãn: - Xét tình flag[0] = true; turn =0; lúc P0 vào CS, Nếu lúc flag[1] = 1, P1 gán turn = vào ln CS Câu 3: Giả sử máy tính khơng có thị TSL, có thị Swap có khả hốn đổi nội dung hai từ nhớ thao tác phân chia: Giải: - Sử dụng thị tổ chức truy xuất độc quyền - Cấu trúc chương trình tương ứng: while(true){ key=true; while(key=true) swap(lock,key); critical-section(); lock=false; Noncritical-section(); } Câu 4: Xét hai tiến trình sau: process A {while (TRUE) na = na +1; } process B { while (TRUE) nb = nb +1; } a Đồng hóa xử lý tiến trình trên, sử dụng semaphore tổng quát, cho thời điểm có nb

Ngày đăng: 03/07/2022, 17:55

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan