Đồng bộ hóa TĐ và vùng đệm

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 86 - 88)

TT CTĐ phụ thuộc một số điểm đồng bộ. Khi gửi TĐ tới đích xa, TĐ đó đ−ợc chuyển tới nhân hệ thống gửi để thực hiện chuyển giao TĐ cho mạng TT. Cuối cùng, TĐ đi tới đ−ợc nhân hệ thống đích (ở xa) thực hiện việc trao trả TĐ cho QT đích. Đồng bộ hóa

Liên kết (c) định danh QT đối xứng (a) Định danh QT bất đối xứng (b)

Hình 4.1. Dịch vụ TT nguyên thuỷ gửi / nhận trực tiếp

TT đa đ−ờng (b) Hộp

th−

Hình 4.2. Dịch vụ TT nguyên thuỷ gửi / nhận gián tiếp TT đa điểm (a) Hộp th− Hộp th−

truyền TĐ xảy xa giữa QT ng−ời dùng và nhân hệ thống, nhân và nhân, và QT nguồn và QT đích. Hình 4.3. chỉ rõ các giai đọan khác nhau của CTĐ trong hệ thống.

Dịch vụ nguyên thủy gửi và nhận đ−ợc coi là kết khối nếu QT gọi cần kết khối để phân phối hay nhận TĐ t−ơng ứng. Hầu hết hệ thống cho phép chọn dịch vụ nguyên thủy gửi/nhận kết khối hoặc không kết khối. Hầu hết ngầm định gửi không kết khối và nhận kết khối. Lý do là để thuận tiện, giả thiết rằng phân phối TĐ là đáng tin cậy và QT gửi có thể tiếp tục công việc một cách hiệu quả sau khi TĐ đã đ−ợc dàn xếp và nhân bản tới nhân gửi. Mặt khác, QT nhận cần chờ cho đến khi TĐ xuất hiện để thực hiện công việc của mình. Tuy nhiên, không phải mọi tr−ờng đều nh− vậy. Chẳng hạn, QT gửi có thể mong muốn đồng bộ với QT nhận hoặc QT nhận mong muốn TĐ từ QT gửi phức và không thể không đủ chỗ cho thao tác nhận riêng biệt. Tại phía nhận, kết khối là hoàn toàn rõ ràng; nó cần đ−ợc kết khối theo sự xuất hiện của TĐ. Về phía QT gửi, rắc rối hơn đôi chút. QT gửi nên chờ việc nhận đ−ợc TĐ của nhân nguồn, nhân đích, hoặc QT đích hoặc thậm chí hoàn thiện một số thao tác của QT nhận? Danh sách d−ới đây chỉ dẫn năm chức năng khác nhau của dịch vụ nguyên thủy gửi theo sơ đồ ở hình 4.3: 1. Gửi không kết khối, 1+8: QT gửi đ−ợc loại bỏ sau khi TĐ đã đ−ợc dàn xếp và sao tới

nhân nguồn.

2. Gửi kết khối, 1+2+7+8: QT gửi đ−ợc loại bỏ sau khi TĐ đã đ−ợc truyền tới mạng 3. Gửi kết khối tin cậy, 1+2+3+6+7+8: QT gửi bị loại bỏ sau khi TĐ đã đ−ợc nhân đích

nhận xong.

4. Gửi kết khối t−ờng minh, 1+2+3+4+5+6+7+8: QT gửi bị loại bỏ sau khi TĐ đã đ−ợc QT nhận xong

5. Hỏi và đáp, 1-4, dịch vụ, 5-8: QT gửi bị loại bỏ sau khi TĐ đã đ−ợc xử lý bởi QT nhận và lời đáp trở lại QT gửi.

Ph−ơng án đầu tiên là gửi dị bộ còn những ph−ơng án khác đều là gửi đồng bộ. Ph−ơng án cuối cùng chính là TT clien/server. Trong gửi dị bộ, QT gửi bị kết khối nếu nhân tại nó ch−a sẵn sàng tiếp nhận TĐ, có thể do thiếu không gian vùng đệm. Đây là đòi hỏi tối thiểu nhất vì rất nguy hiểm nếu QT gửi tiếp tục công việc (chẳng hạn, tạo ra một TĐ mới) tr−ớc khi nhân gửi nắm điều khiển TĐ. Khi giả thiết là gửi/nhận dị bộ, ta mong muốn rằng dịch vụ nguyên thủy cần cho một mã quay về cho biết kết quả thành công hay thất bại của thao tác để qua phân tích mã quay về để hoặc gửi TĐ tiếp theo hoặc xử lý lỗi.

Trong sơ đồ hình 4.3, ngầm định tồn tại vùng đệm trong nhân gửi, nhân nhận và mạng TT. Vùng đệm trong nhân hệ thống cho phép TĐ đ−ợc gửi đến thậm chí khi TĐ tr−ớc nó ch−a đ−ợc phân phối. Do QT gửi và nhận chạy dị bộ, chúng tạo ra và xử lý các TĐ theo các mức độ (tốc độ) khác nhau. Do có vùng đệm, sự không đồng nhất này trở nên êm ả. Thêm nữa, khả năng QT gửi bị kết khối đ−ợc rút gọn và thông l−ợng truyền tổng

QT gửi nhân mạng nhân QT nhận

nguồn đích

1 2 TĐ 3 4

8 7 ACK 6 5

thể TĐ đ−ợc tăng lên. Vùng đệm đ−ợc dùng để điều khiển l−u l−ợng trong mạng TT. Trong HĐH, thông th−ờng vùng đệm đ−ợc chia xẻ bởi TT gửi và nhận đa thanh phần. Quản lý vùng đệm hiệu quả trở thành một bài toán quan trọng. Quản lý vùng đệm không chính quy có thể trở thành nguyên nhân bế tắc TT.

Về lôgic, có thể kết hợp vùng đệm trong nhân gửi, nhân nhận, và mạng thành một vùng đệm lớn. QT gửi tạo ra TĐ và chèn chúng vào vùng đệm còn QT nhận xóa khỏi vùng đệm và sử dụng chúng. Nếu vùng đệm là không giới hạn, QT gửi dị bộ là không kết khối. Một tr−ờng hợp đặc biệt khác là mọi thành phần là vắng vùng đệm (zero- buffer). Trong tr−ờng hợp này, QT gửi và QT nhận bắt buộc phải đồng bộ (trách nhiệm đồng bộ hóa dành cho ng−ời viết ch−ơng trình các QT này) để đủ năng lực truyền TĐ (bất cứ TĐ nào xuất hiện thì tr−ớc hết phải đợi TĐ tr−ớc đó). Điều này t−ơng tự nh− khái niệm cuộc hẹn và là một kiểu gửi/nhận kết khối t−ờng minh.

Một phần của tài liệu Cơ bản về hệ điều hành (Trang 86 - 88)