Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ.

3 posters

Go down

Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ. Empty Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ.

Bài gửi  DONGTANHUNG(I92C) 11/11/2010, 06:46

Vấn đề về đoạn tương tranh:
Các tiến trình tác động liên quan đến thao tác tài nguyên dùng chung, sử dụng các mã lệnh trong quá trình thực hiện thì xảy ra tranh chấp gọi là đoạn tương tranh.
Tính loại trừ lẫn nhau: tại một thời điểm chỉ có thể chấp nhận cho một tiến trình đăng nhập(được chờ ở vùng đang nhập) và vùng tương tranh để thực thi. Khi thực thi xong sẽ thông báo cho các tiến trình đang chờ ở vùng đăng nhập tiếp tục thực hiện.
Code:
While(1)
{
Remainder section // chưa ảnh hưởng đến tài nguyên dùng chung
Entry section // các tiến trình(1 lệnh hoặc chuỗi lệnh) được chờ tại đây.
Critical section //vùng tương tranh
Exit section // tiến trình thực hiện xong thoát và thông báo cho tt kế tiếp thực thi.
Remainder section
}

Lưu ý: tại mỗi thời điểm chỉ cho phép 1 tiến trình vận hành được đăng nhập vào vùng tương tranh.

Ví dụ: trở lại vấn đề viết đơn xin việc của thầy. Nếu 1 tiến trình vào và sửa tên của đơn xin việc nhưng lại chưa kịp sửa người làm đơn. Và một tiến trình khác lại chụp tấm đơn xin việc này => Không đồng bộ => không đảm bảo được tính loại trừ tương hỗ.
Giải quyết: tại mỗi thời điểm cho chỉ cho phép một người sử đơn xin việc mà thôi, sửa xong thì người kế tiếp muốn làm gì thì làm.

Bài giảng của Thầy phần này Hưng hiểu là như vậy, Thầy và các bạn cho ý kiến để tụi em có bài thi làm tốt hơn. Thanks

Admin
Nếu ví dụ về Đơn xin việc như trên là chưa đúng. Giả sử có 1 đơn dạng như sau trong vùng nhớ chung (ví dụ, trong Buffer) được các tiến trình cùng "Share":

ĐƠN XIN VIỆC

Kính gửi: Giám đốc công ty Phương Nam
Tôi tên là: Lê Văn Ba
..........(nội dung đơn).............
TP Hồ Chí Minh, ngày 12 tháng 11 năm 2010
Người làm đơn
....(chữ ký)....
Lê Văn Ba

. Nội dung đơn này phải được đảm bảo tính toàn vẹn (Integrity), ví dụ: Phía trên là Lê Văn Ba thì phía dưới cũng phải là Lê Văn Ba.
. Nếu vài tiến trình (hơn 1) cùng sửa đơn trên một lúc (không đảm bảo được tính Loại trừ lẫn nhau) thì nội dung của nó có thể không đúng. Ví dụ, giả sử tiến trình P1 (nhà sản xuất) sửa Lê Văn Ba phía trên thành Lê Văn Bàng, trong khi P2 (nhà sản xuất khác) sửa Lê Văn Ba phía dưới thành Lê Văn Bá, mà có tiến trình P3 (nhà tiêu thụ) nào đó "lấy" đơn về dùng (để in ra) thì kết quả sẽ không nhất quán như sau:
ĐƠN XIN VIỆC

Kính gửi: Giám đốc công ty Phương Nam
Tôi tên là: Lê Văn Bàng
..........(nội dung đơn).............
TP Hồ Chí Minh, ngày 12 tháng 11 năm 2010
Người làm đơn
....(chữ ký)....
Lê Văn Bá

DONGTANHUNG(I92C)

Tổng số bài gửi : 26
Join date : 17/09/2010
Age : 41
Đến từ : HCM

Về Đầu Trang Go down

Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ. Empty Re: Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ.

Bài gửi  TruongHuuHien(I92C) 11/11/2010, 11:22

Ví dụ khác về vùng tương tranh.

Vùng tương tranh là cái bảng. Ở 1 thời điểm chỉ có 1 sinh viên lên thao tác trên đó.Sau khi sinh viên đó xong thì sinh viện khác với đc lên bảng thao tác.

Admin
Vùng hay Đoạn tương tranh (Đoạn "Găng") là đoạn mã của tiến trình, còn cái bảng nói tới ở trên là "Vùng tranh chấp" !
TruongHuuHien(I92C)
TruongHuuHien(I92C)

Tổng số bài gửi : 76
Join date : 13/09/2010
Age : 36
Đến từ : HCM City

Về Đầu Trang Go down

Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ. Empty Re: Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ.

Bài gửi  DONGTANHUNG(I92C) 12/11/2010, 07:01

TruongHuuHien(I92C) đã viết:Ví dụ khác về vùng tương tranh.

Vùng tương tranh là cái bảng. Ở 1 thời điểm chỉ có 1 sinh viên lên thao tác trên đó.Sau khi sinh viên đó xong thì sinh viện khác với đc lên bảng thao tác.

Admin
Vùng hay Đoạn tương tranh (Đoạn "Găng") là đoạn mã của tiến trình, còn cái bảng nói tới ở trên là "Vùng tranh chấp" !

Cám ơn Thầy và bạn Hiền đã cho em thêm một ý về Vùng hay đoạn tương tranh nữa. Hiểu kỹ được vấn đề này thì ứng dụng đèn hiệu Mutex hoặc Synch mới thông được Smile .

DONGTANHUNG(I92C)

Tổng số bài gửi : 26
Join date : 17/09/2010
Age : 41
Đến từ : HCM

Về Đầu Trang Go down

Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ. Empty Re: Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ.

Bài gửi  TruongHuuHien(I92C) 14/11/2010, 16:27

Oh year có ví dụ của Thầy rùi. Đưa vào bộ nhớ thui.
TruongHuuHien(I92C)
TruongHuuHien(I92C)

Tổng số bài gửi : 76
Join date : 13/09/2010
Age : 36
Đến từ : HCM City

Về Đầu Trang Go down

Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ. Empty Re: Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ.

Bài gửi  DONGTANHUNG(I92C) 14/11/2010, 22:45

Thanks Thầy nhiều, thật sự cũng nhớ nhưng đúng là không thể nào mô tả cặn kẽ như tác giả được. Smile

DONGTANHUNG(I92C)

Tổng số bài gửi : 26
Join date : 17/09/2010
Age : 41
Đến từ : HCM

Về Đầu Trang Go down

Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ. Empty Đoạn tương tranh

Bài gửi  hoainam_I83C 15/11/2010, 08:01

Cảm ơn Thầy và bạn DONGTANHUNG đã giải thích rõ hơn về vấn đề này Very Happy

hoainam_I83C

Tổng số bài gửi : 40
Join date : 03/12/2009

Về Đầu Trang Go down

Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ. Empty Re: Câu 1: Vấn đề về đoạn tương tranh(miền găng) và Tính loại trừ tương hỗ.

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết