Chương 5: Đồng bộ hóa tiến trình
Số trang: 0
Loại file: pdf
Dung lượng: 284.87 KB
Lượt xem: 20
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu chương 5: đồng bộ hóa tiến trình, công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Chương 5: Đồng bộ hóa tiến trình Chương 5: Đồng bộ hóa tiến trình Tình trạng đua tranh Cơ sở Tình trạng đua tranh: là tình trạng mà vài tiến trình cùng truy cập và Bài toán miền tương trục thay đổi lên dữ liệu được chia sẻ. Giá trị cuối cùng của dữ liệu chia sẻ Đồng bộ hóa bằng phần cứng phụ thuộc vào tiến trình nào hoàn thành cuối cùng. Semaphores Để ngăn chặn tình trạng đua tranh, các tiến trình đua tranh phải được Các bài toán cổ điển về đồng bộ hóa đồng bộ hóa. Monitors Đồng bộ hóa trong Solaris và Windows 2000Hệ điều hành 5.1 Phạm Thế Phi ©2004 Hệ điều hành 5.3 Phạm Thế Phi ©2004 Cơ sở Vấn đề miền tương trục Truy cập cạnh tranh lên dữ liệu được chia sẻ có thể gây nên tình Tất cả n tiến trình đang cạnh tranh để sử dụng dữ liệu chia sẻ. trạng không nhất quán dữ liệu. Mỗi tiến trình có một đoạn mã lệnh, gọi là miền tương trục, mà Việc duy trì sự nhất quán dữ liệu yêu cầu các cơ chế để đảm bảo trong đó có hành động truy cập dữ liệu được chia sẻ. sự thực thi một cách có thứ tự của các tiến trình có hợp tác với Vấn đề – đảm bảo rằng khi một tiến trình đang chạy trong nhau. miền tương trục, không có một tiến trình nào khác được cho Ví dụ? phép chạy trong miền tương trục của mình.Hệ điều hành 5.2 Phạm Thế Phi ©2004 Hệ điều hành 5.4 Phạm Thế Phi ©2004 Giải pháp cho vấn đề miền tương trục Giải thuật 1 1. Loại trừ hỗ tương. Nếu tiến trình Pi đang thực thi trong miền tương trục, thì không có tiến trình nào khác có thể thực thi Các biến chung: trong miền tương trục của mình. ) int turn; 2. Tiến triển. Nếu không có tiến trình nào đang thực thi trong khởi đầu turn = 0 miền tương trục của nó và có tồn tại vài tiến trình đang mong ) turn = i ⇒ Pi có thể bước vào miền tương trục của nó muốn được thực thi trong miền tương trục của chúng, thì việc Tiến trình Pi lựa chọn cho một tiến trình bước vào miền tương trục của nó do { không thể bị trì hoãn mãi được. while (turn != i) ; 3. Chờ đợi hữu hạn. Không có tiến trình nào phải chờ đợi vĩnh critical section viễn để có thể bước vào miền tương trục của nó turn = j; reminder section } while (1); Giải pháp này thõa mãn yêu cầu về loại trừ hỗ tương nhưng không tiến triển được.Hệ điều hành 5.5 Phạm Thế Phi ©2004 Hệ điều hành 5.7 Phạm Thế Phi ©2004 Những cố gắng đầu tiên để giải quyết bài ...
Nội dung trích xuất từ tài liệu:
Chương 5: Đồng bộ hóa tiến trình Chương 5: Đồng bộ hóa tiến trình Tình trạng đua tranh Cơ sở Tình trạng đua tranh: là tình trạng mà vài tiến trình cùng truy cập và Bài toán miền tương trục thay đổi lên dữ liệu được chia sẻ. Giá trị cuối cùng của dữ liệu chia sẻ Đồng bộ hóa bằng phần cứng phụ thuộc vào tiến trình nào hoàn thành cuối cùng. Semaphores Để ngăn chặn tình trạng đua tranh, các tiến trình đua tranh phải được Các bài toán cổ điển về đồng bộ hóa đồng bộ hóa. Monitors Đồng bộ hóa trong Solaris và Windows 2000Hệ điều hành 5.1 Phạm Thế Phi ©2004 Hệ điều hành 5.3 Phạm Thế Phi ©2004 Cơ sở Vấn đề miền tương trục Truy cập cạnh tranh lên dữ liệu được chia sẻ có thể gây nên tình Tất cả n tiến trình đang cạnh tranh để sử dụng dữ liệu chia sẻ. trạng không nhất quán dữ liệu. Mỗi tiến trình có một đoạn mã lệnh, gọi là miền tương trục, mà Việc duy trì sự nhất quán dữ liệu yêu cầu các cơ chế để đảm bảo trong đó có hành động truy cập dữ liệu được chia sẻ. sự thực thi một cách có thứ tự của các tiến trình có hợp tác với Vấn đề – đảm bảo rằng khi một tiến trình đang chạy trong nhau. miền tương trục, không có một tiến trình nào khác được cho Ví dụ? phép chạy trong miền tương trục của mình.Hệ điều hành 5.2 Phạm Thế Phi ©2004 Hệ điều hành 5.4 Phạm Thế Phi ©2004 Giải pháp cho vấn đề miền tương trục Giải thuật 1 1. Loại trừ hỗ tương. Nếu tiến trình Pi đang thực thi trong miền tương trục, thì không có tiến trình nào khác có thể thực thi Các biến chung: trong miền tương trục của mình. ) int turn; 2. Tiến triển. Nếu không có tiến trình nào đang thực thi trong khởi đầu turn = 0 miền tương trục của nó và có tồn tại vài tiến trình đang mong ) turn = i ⇒ Pi có thể bước vào miền tương trục của nó muốn được thực thi trong miền tương trục của chúng, thì việc Tiến trình Pi lựa chọn cho một tiến trình bước vào miền tương trục của nó do { không thể bị trì hoãn mãi được. while (turn != i) ; 3. Chờ đợi hữu hạn. Không có tiến trình nào phải chờ đợi vĩnh critical section viễn để có thể bước vào miền tương trục của nó turn = j; reminder section } while (1); Giải pháp này thõa mãn yêu cầu về loại trừ hỗ tương nhưng không tiến triển được.Hệ điều hành 5.5 Phạm Thế Phi ©2004 Hệ điều hành 5.7 Phạm Thế Phi ©2004 Những cố gắng đầu tiên để giải quyết bài ...
Tìm kiếm theo từ khóa liên quan:
Đồng bộ hóa tiến trình hệ điều hành giáo trình hệ điều hành các vấn đề hệ điều hành tài liệu hệ điều hành Tổng quan về hệ điều hànhGợi ý tài liệu liên quan:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 452 0 0 -
183 trang 317 0 0
-
173 trang 274 2 0
-
175 trang 272 0 0
-
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 271 0 0 -
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 248 0 0 -
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 245 0 0 -
Bài thảo luận nhóm: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android
39 trang 228 0 0 -
Giáo trình Hệ điều hành: Phần 2
53 trang 218 0 0 -
Phần III: Xử lý sự cố Màn hình xanh
3 trang 199 0 0