Trao đổi thông tin ẩn và hiện

Một phần của tài liệu CHƯƠNG 2: TIẾN TRÌNH potx (Trang 72)

P N( ∆t) = 1 j= 1 λ∆t (2.13)

2.4.5 Trao đổi thông tin ẩn và hiện

Trong thí dụ kiểu sản sinh- sử dụng ở mục 2.3.5, các dữ liệu của một tiến trình được chuyển tới một tiến trình khác nhờ khoảng nhớ cơ bản của bộ nhớ, tiến trình này sẽ xử lý các dữ liệu vừa chuyển tớị Sự chuyển giao thông tin này gọi là trao đổi thông tin ẩn, nếu như sử dụng putInBuffer(item); còn được gọi là trao đổi thông tin hiển thị sử dụng send(consumer, item) và receive(procedure, item).

Theo hình 2.38, người ta rút ra những nhận xét sau đây:

+ Lệnh send(consumer, item) để chuyển item tới một bộ đệm hệ thống, mà nó được làm đầy nhờ một trong hai tác vụ P() và V(). Nếu bộ đệm đầy, tiến trình bị làm chậm lại cho tới khi không gian cho item tồn tại trở lạị

+ Lệnh receive(procedure, item) để đọc một item từ bộ đệm và được bảo vệ nhờ các tác vụ P() và V(). Nếu không có item nào được sử dụng, thì tiến trình sẽ bị làm chậm cho tới khi một item xuất hiện.

Dạng trao đổi thông tin kiểu sản sinh- sử dụng có ưu điểm: Cơ cấu đồng bộ của kiểu này có thể được thực thi với cơ cấu đồng bộ của sự trao đổi thông tin và hoạt động bỏ qua giới hạn các kiểu máy tính.

Chúng ta đã tiết kiệm được số tác vụ cờ hiệu, mà ở đây, chúng ta giả thiết mục đích xác định thích hợp của các thủ tục trao đổi thông tin send(Msg) và receive(Msg). Cụ thể, điều này cũng được thực thi trên hệ thống đơn vi xử lý nhờ các tác vụ cờ hiệu cục bộ. Trong trường hợp này, phạm vi bộ đệm là một hộp thoại (mainbox), mà ở đó thông tin được treo vàọ

Nói chung, hầu hết các cơ cấu trao đổi thông tin hoạt động giữa các tiến trình với sự trợ giúp của các vùng nhớ, chúng được trình bày tốt hơn nhờ sự trao đổi thông tin hiển. Tiêu phí sẽ giảm đi đáng kể, nếu phần mềm được tạo lập chạy được không chỉ trên hệ thống đơn vi xử lý, mà cả trong hệ phân bổ. Ở đây, người ta có thể chuyển đổi một cách dễ dàng từ sự trao đổi thông tin giữa các tiến trình này với sự trao đổi thông tin giữa các tiến trình khác, vì ở cùng một giao diện, việc thực thi các chức năng send() và receive() được sử dụng như là một thư viện.

Một phần của tài liệu CHƯƠNG 2: TIẾN TRÌNH potx (Trang 72)

w