BÀI TẬP ĐỒNG BỘ HÓA TIẾN TRÌNH

     

Mục tiêu của chương:Giới thiệu các phương án cụ thể để xử lý bài xích toánđồng bộ hoá.lGiải pháp « busy waiting ».lGiải pháp « sleep and wakeup ». Kiến thức sinh viên cần nắm dược sauchương này:Nhiệm vụ của việc nhất quán hóa tiến trình.Hiểu và áp dụng được các giải pháp đồng bộ,đặc biệt cùng với các giải pháp “sleep và wakeup”.




Bạn đang xem: Bài tập đồng bộ hóa tiến trình

*

Chương 7: Đồng bộ hóa tiến trình s 3.1. Phương án « busy waiting » q 3.1.1. Các chiến thuật phần mượt q 3.1.2. Các chiến thuật phần cứng s 3.2. Các giải pháp « SLEEP and WAKEUP » q 3.2.1. Semaphore q 3.2.2. Monitors q 3.2.3. Hội đàm thông điệp s 3.3. Những vấn đề đồng hóa hóa q 3.3.1. Vấn đề Người cung cấp – tín đồ tiêu thụ (Producer-Consumer) q 3.3.2. Phần tự lực - quy mô Readers-WritersNguyên lý hệ điều hành và quản lý 1 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình kim chỉ nam của chương s reviews các phương án cụ thể để xử lý bài xích toán đồng hóa hoá. Q chiến thuật « busy waiting » q phương án « sleep & wakeup »Nguyên lý hệ quản lý và điều hành 2 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng bộ hóa tiến trình kiến thức sinh viên buộc phải nắm dược sau chương này s nhiệm vụ của việc nhất quán hóa tiến trình. S gọi và vận dụng được các phương án đồng bộ, đặc biệt với các giải pháp “sleep và wakeup”.Nguyên lý hệ quản lý và điều hành 3 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa quá trình Đưa ra việc s vì sao cần đồng bộ hóa tiến trình? s Đối tượng tác động? s Thuật ngữ miền găng?Nguyên lý hệ điều hành và quản lý 4 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng bộ hóa tiến trình Bốn đk phải thỏa mãn: s không tồn tại hai các bước cùng ở trong miền găng. S không tồn tại giả thiết nào đưa ra cho sự liên hệ về vận tốc của những tiến trình, tương tự như về số lượng bộ giải pháp xử lý trong hệ thống. S Một các bước tạm dừng bên ngoài miền bít tất tay không được chống cản những tiến trình không giống vào miền găng. S không có tiến trình nào phải chờ vô hạn để được vào miền găngNguyên lý hệ quản lý và điều hành 5 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa quy trình 3.1. Phương án « busy waiting » s Các giải pháp phần mượt s Các chiến thuật phần cứngNguyên lý hệ quản lý 6 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa quy trình 3.1.1. Các phương án phần mềm a) Sử dụng những biến cờ hiệu: s Tiếp cân: những tiến trình chia sẻ một vươn lên là chung vào vai trò lock , được khởi động=0. S Một quá trình muốn vào miền áp lực trước tiên đề nghị kiểm tra quý giá của đổi thay lock. Nếu lock = 0, các bước đặt lock = 1 và bước vào miền găng.

Xem thêm: Tìm Bài Hát Đi Ta Đi Lên



Xem thêm: 1 0 That Kiếm Anh Hùng Phần 5 Tập Cuối Mới Nhất 2021, Thất Kiếm Anh Hùng Phần 4

S nếu lock đã nhận giá trị 1, các bước phải chờ phía bên ngoài miền găng cho tới khi lock có mức giá trị 0.Nguyên lý hệ quản lý điều hành 7 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình 3.1.1. Các chiến thuật phần mềm a) Sử dụng các biến cờ hiệu: s cấu tạo của 1 tiến trình while (TRUE) while (lock == 1); // wait lock = 1; critical-section (); lock = 0; Noncritical-section ();Nguyên lý hệ quản lý 8 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình 3.1.1. Các phương án phần mềm bàn bạc về biện pháp sử dụng vươn lên là “Lock” s rất có thể vi phạm đk hai quy trình cùng ngơi nghỉ trong miền bao tay tại một thời điểm. S P1 s P2 while (TRUE) while (TRUE) while (lock == 1); // wait while (lock == 1); // wait lock = 1; lock = 1; critical-section (); critical-section (); lock = 0; lock = 0; Noncritical-section (); Noncritical-section ();Nguyên lý hệ điều hành 9 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình 3.1.1. Các giải pháp phần mượt b) sử dụng việc chất vấn luân phiên s Tiếp cận : Đây là một giải pháp đề nghị mang đến hai tiến trình. S Hai các bước này áp dụng chung đổi thay turn (phản ánh phiên các bước nào được vào miền găng), được khởi động với giá trị 0. Nếu như turn = 0, chỉ có các bước A được vào miền găng. Trường hợp turn = 1, chỉ có các bước B được đi vào miền găng.Nguyên lý hệ điều hành và quản lý 10 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa quy trình 3.1.1. Các giải pháp phần mềm b) áp dụng việc bình chọn luân phiênNguyên lý hệ quản lý điều hành 11 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng bộ hóa tiến trình bàn bạc về giải pháp kiểm tra luân chuyển s ngăn ngừa được triệu chứng hai quy trình cùng vào miền găng. (?) s rất có thể vi phạm điều kiện một tiến trình có thể bị ngăn chặn vào miền căng thẳng bởi một các bước khác ko ở trong miền găng. (?)Nguyên lý hệ điều hành 12 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình 3.1.1. Các phương án phần mượt c) phương án của Peterson s Tiếp cận : Petson giới thiệu một giải pháp kết hợp ý tưởng của cả hai giải pháp kể trên. Những tiến trình chia sẻ hai vươn lên là chung : s int turn; // mang lại phiên ai s int interesse<2>; // khởi rượu cồn là FALSENguyên lý hệ điều hành 13 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa các bước 3.1.1. Các phương án phần mượt c) phương án của Peterson while (TRUE) int j = 1-i; // j là quy trình còn lại interesse= TRUE; turn = j; while (turn == j && interesse==TRUE); critical-section (); interesse = FALSE; Noncritical-section ();//Cấu trúc các bước Pi trong phương án PetersonNguyên lý hệ điều hành và quản lý 14 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình bàn luận về giải pháp của Peterson s phương án này ngăn chặn được tình trạng mâu thuẫn truy xuất. S Vẫn vi phạm đk một các bước ngoài miền “găng” ngăn cản tiến trình trong “găng”Nguyên lý hệ điều hành 15 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng bộ hóa tiến trình 3.1.2. Các phương án phần cứng a) Cấm ngắt s Tiếp cân: có thể chấp nhận được tiến trình cấm tất cả các ngắt trước lúc vào miền găng, và hồi phục ngắt khi thoát khỏi miền găng. S lúc đó, ngắt đồng hồ thời trang cũng ko xảy ra, vày vậy khối hệ thống không thể trợ thời dừng hoạt động của tiến trình đang xử lý để cấp phát CPU cho quá trình khác.Nguyên lý hệ điều hành 16 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình bàn luận về cách thức cấm ngắt s chiến thuật này không rất được ưa chuộng vì siêu thiếu an toàn khi chất nhận được tiến trình người dùng được phép tiến hành lệnh cấm ngắt. S nếu như hệ thống có rất nhiều bộ xử lý, lệnh cấm ngắt chỉ có tác dụng trên bộ xử lý đang cách xử trí tiến trình, còn các tiến trình vận động trên những bộ xử trí khác vẫn có thể truy xuất cho miền ức chế ! s rất có thể một quy trình sẽ phải chờ vô hạn.Nguyên lý hệ quản lý 17 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa quy trình 3.1.2. Các phương án phần cứng b) chỉ thị TSL (Test-and-Set) s Tiếp cận: các máy tính cung ứng một thông tư đặc biệt chất nhận được kiểm tra và cập nhật nội dung một vùng lưu giữ trong một thao tác không thể phân chia, gọi là chỉ thị Test-and-Set Lock (TSL) cùng được định nghĩa như sau: Test-and-Setlock(boolean target) Test-and-Setlock = target; target = TRUE;Nguyên lý hệ điều hành quản lý 18 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình 3.1.2. Các chiến thuật phần cứng b) chỉ thị TSL (Test-and-Set) while (TRUE) { while (Test-and-Setlock(lock)); critical-section (); lock = FALSE; Noncritical-section ();// cấu tạo một công tác trong chiến thuật TSLNguyên lý hệ quản lý điều hành 19 Nguyễn Văn Huy – KTMT - 2008 Chương 7: Đồng cỗ hóa tiến trình trao đổi về TSL (Test-and-Set) s TSL sút nhẹ công việc lập trình, nhưng mà lại không dễ ợt để setup chỉ thị TSL làm thế nào để cho được xử trí một giải pháp không thể phân chia, duy nhất là trên thứ với thông số kỹ thuật nhiều bộ xử lý. S Vi phạm một trong những điều kiện…Nguyên lý hệ quản lý điều hành 20 Nguyễn Văn Huy – KTMT - 2008