Dịch vụ TT nguyên thủy cơ sở

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

Hai dịch vụ TT nguyên thủy cơ sở d−ới đây là ví dụ để gửi và nhận TĐ. Sẽ là hiệu quả đối với QT ứng dụng khi chỉ rõ thực thể TT và TĐ đ−ợc truyền:

send (đích, TĐ) receive (nguồn, TĐ)

trong đó nguồn hoặc đích = (tên QT, liên kết, hộp th− hoặc cổng).

Một câu hỏi nảy sinh trực tiếp từ dịch vụ nguyên thủy là làm thế nào để địa chỉ hóa thực thể TT, nguồn hoặc đích? D−ới đây bàn luận về bốn lựa chọn trên: tên QT, kết nối, hộp th−, cổng.

Đầu tiên, giả sử địa chỉ hóa thực thể TT bằng tên QT (tức là định danh QT toàn cục). Khi thi hành thực sự, định danh QT toàn cục có thể đ−ợc tạo duy nhất qua kết hợp địa chỉ máy chủ mạng với số hiệu QT cục bộ đ−ợc sinh. Sơ đồ này ngầm định rằng chỉ có một đ−ờng TT lôgic trực tiếp tồn tại giữa cặp hai QT gửi và nhận nh− hình 4.1.a đã chỉ ra. Điều này t−ơng tự TT input/output dùng trong CSP mà đoạn 3.5.3 đã chỉ ra hạn chế của cách tiếp cận này. Sơ đồ địa chỉ đ−ợc chỉ dẫn là địa chỉ đối xứng do các QT gửi/nhận t−ơng ứng biết rõ nhau trong dịch vụ TT nguyên thủy. Trong một số tr−ờng hợp, thuận lợi hơn cho QT nhận là nhận đ−ợc TĐ từ nguồn ch−a biết. Trong tr−ờng hợp nh− thế, địa chỉ nguồn của DV nguyên thủy nhận là một biến vào mà đ−ợc cho giá trị định danh QT gửi TĐ đó (nếu có một QT nhận). Địa chỉ gửi và nhận là bất đối xứng do chỉ QT gửi cần định vị ng−ời nhận. Hình 4.1.b. chỉ ra các tr−ờng hợp tổng quát hơn của DV nguyên thuỷ nhận.

Sơ đồ trên giả thiết tồn tại đ−ờng TT trực tiếp giữa cặp hai QT. Thực tế, đ−ờng TT là trong suốt hoàn toàn vì vậy đã không chú ý tới kết nối khi giao vận TĐ. Về quan niệm thì đơn giản nh−ng để hợp lý chỉ có một đ−ờng TT định h−ớng kép giữa mỗi cặp hai QT TT. Để cho phép đ−ờng truyền dữ liệu phức giữa các QT và TT trực tiếp, bắt buộc định danh đ−ợc mỗi đ−ờng đi trong dịch vụ TT nguyên thuỷ. Đòi hỏi này đ−a đến khái niệm kết nối hay liên kết, t−ơng tự với khái niệm chu trình ảo trong mạng TT. TĐ có thể đ−ợc gửi theo các chu trình ảo khác nhau. Nh− vậy, điểm TT phức trong một QT cần phải đinh danh bằng việc sử dụng các kết nối khác nhau, mỗi kết nối đó ánh xạ tới một đ−ờng TT thực sự. Giống nh− chu trình ảo, kết nối đ−ợc tạo và loại bỏ theo yêu cầu. Chúng đ−ợc nhân hệ thống quản lý cục bộ và là những kênh TT không định h−ớng. TĐ đ−ợc gửi qua một kết nối đ−ợc h−ớng vào một đ−ờng TT mạng và đ−ợc phân phối tới các máy chủ ở xa. Máy chủ từ xa ánh xạ TĐ tới kết nối đầu vào trong QT nhận. Hình 4.1.c chỉ ra tính hợp lý của việc duy trì hai kết nối giữa các QT khi dùng hai số hiệu kết nối khác nhau. QT đọc cần chú ý kết nối là t−ơng tự với tên điểm vào thủ tục trong cuộc hẹn (đoạn 3.5.3) với lý do là chúng đều cung cấp điểm TT phức trong một QT. Tuy nhiên, giao vận dữ liệu bằng truyền tham số trong cuộc hẹn là định h−ớng kép.

Dùng tên QT và số hiệu kết nối để định vị các điểm TT cung cấp cơ chế TT trực tiếp giữa các QT ngang hàng. Tuy nhiên, đôi khi TT gián tiếp cũng đ−ợc −a chuộng. QT gửi không quan tâm tới định danh riêng biệt của QT nhận cho đến khi có một QT nhận đ−ợc TĐ. T−ơng tự, QT nhận chỉ quan tâm đến chính TĐ mà không cần biết QT gửi. Ví dụ, client phức có thể đòi hỏi dịch vụ từ một trong nhiều dịch vụ phức (định danh của khách có thể đ−ợc chứa trong chính TĐ). Kịch bản TT này là cồng kềnh khi dùng TT trực tiếp thi hành. Đây là tình huống chung trong cuộc sống hàng ngày, và đ−ợc

giải quyết bằng hộp th− chung. CTĐ dùng hộp th− chung là sơ đồ TT gián tiếp cung cấp cả TT đa điểm và đa đ−ờng một cách hợp lý. Kịch bản này đ−ợc minh hoạ trong hình 4.2.

Về quan niệm, hộp th− là cấu trúc dữ liệu toàn cục chia xẻ của QT sản xuất (gửi) và QT khách hàng (nhận). Dùng hộp th− đòi hỏi sự đồng bộ chính xác dọc theo mạng mà đây là một bài toán khó. Do hộp th− là dùng cho TT, có thể gắn với nó một cấu trúc chuyển vận yếu và thi hành chúng bằng cách dùng vùng đệm và liên kết TT. Cổng là một ví dụ tốt cho hộp th−. Cổng là một khái niệm trừu t−ợng về một dòng xếp hàng có kích th−ớc cố định hoạt động theo FIFO đ−ợc nhân duy trì. TĐ có thể gắn vào đuôi và loại bỏ từ dòng đợi bởi các thao tác gửi và nhận xuyên qua một đ−ờng TT. Nh− vậy, cổng t−ơng tự nh− danh sách ngoại trừ chúng là định h−ớng kép và có vùng đệm. Các QT TT qua cổng là gián tiếp. Cổng đ−ợc tạo bởi QT ng−ời dùng nhờ lời gọi hệ thống đặc biệt và có thể đ−ợc phù hợp với QT chủ và đủ năng lực. Chúng đ−ợc chỉ dẫn bằng số hiệu cổng, mà không thể bị nhầm lẫn với địa chỉ cổng giao vận trong giao vận gói (địa chỉ cổng giao vận là cổng mạng và trong suốt với QT ng−ời dùng). Khi thi hành, cổng QT đ−ợc ánh xạ tới cổng giao vận và ng−ợc lại. Cổng hoặc hộp th− đ−ợc hình dung nh− là phục vụ TT và đồng bộ, đã đ−ợc biện luận trong đoạn 3.6. Thuật ngữ cổng và hộp th− th−ờng đ−ợc tráo đổi (thay thế nhau) trong một vài tài liệu. T−ơng tự nh− socket và cổng trong HĐH UNIX. Socket là giao diện mức cao sử dụng khái niệm cổng. Cổng có chủ nhân là QT riêng biệt. Cổng cung cấp TT nhiều-một (n-1). Hộp th− là đối t−ợng chia xẻ và cho phép truyền thông nhiều-nhiều (n-n).

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