Giao diện dịch vụ

Một phần của tài liệu Hệ thống an toàn trên môi trường mạng sun solaris (Trang 56 - 57)

STREAMS cung cấp một cách thức để cài đặt một giao diện dịch vụ (service interface) giữa hai thành phần trong một luồng, và giữa một tiến trình ng−ời dùng và mô đun phía trên cùng trong một luồng. Một giao diện dịch vụ đ−ợc định nghĩa tại biên giữa một ng−ời dùng dịch vụ (service user) và một ng−ời cung cấp dịch vụ (service provider). Một giao diện dịch vụ là một tập các phần tử nguyên thuỷ (primitives) và các quy tắc định nghĩa một dịch vụ và trạng thái cho phép khi các phần tử nguyên thuỷ (primitive) đ−ợc chuyển giữa ng−ời dùng dịch vụ và ng−ời cung cấp dịch vụ. Các quy tắc này đ−ợc biểu diễn bởi máy trạng thái. Trong STREAMS, ng−ời dùng dịch vụ và ng−ời cung cấp dịch vụ đ−ợc cài đặt trong một mô đun, trình điều khiển hoặc một tiến trình ng−ời dùng.Các phần tử nguyên thuỷ đ−ợc chuyển theo hai chiều giữa một ng−ời dùng dịch vụ và ng−ời cung cấp dịch vụ trong các thông báo M_PROTO và M_PCPROTO. Các thông

báo PROTO có thể gồm nhiều khối. Khối đầu tiên trong một thông báo PROTO chứa phần điều khiển của một phần tử nguyên thuỷ trong dạng quy định giữa ng−ời dùng dịch vụ và ng−ời cung cấp dịch vụ.

Các khối M_DATA chứa các phần dữ liệu đ−ợc kết nối với phần tử nguyên thuỷ. Phần dữ liệu có thể đ−ợc xử lý trong một mô đun nhận nó hoặc có thể gửi tới thành phần luồng tiếp theo, cùng với dữ liệu đ−ợc sinh ra bởi mô đun.

Các thông báo PROTO có thể gửi theo hai chiều trên luồng và giữa một luồng và một tiến trình ng−ời dùng.

Các lời gọi putmsg và getmsg t−ơng tự với write và read ngoại trừ rằng chúng cho phép cả phần dữ liệu và điều khiển luồng đ−ợc chuyển riêng rẽ và giữ biên thông báo ngang qua giao diện luồng và ng−ời dùng.

putmsg và getmsg sao chép riêng rẽ phần điều khiển (khối M_PROTO hoặc M_PCPROTO) và phần dữ liệu ( khối M_DATA) giữa luồng và tiến trình ng−ời dùng.

Một phần của tài liệu Hệ thống an toàn trên môi trường mạng sun solaris (Trang 56 - 57)

Tải bản đầy đủ (PDF)

(98 trang)