サービスはプリミティブ(操作)の集合
サービスは、サービスにアクセスするユーザー・プロセスから利用可能なプリミティブ(primitive)(操作)の集合として形式的に定義される。
これらのプリミティブはサービスに対して、ある動作を実行するように指示したり、同位(ピア)エンティティが行った動作を報告したりする。
プリミティブはシステムコール
しばしばそうであるように、プロトコル・スタックがオペレーティング・システムの中に位置しているなら、
これらのプリミティブは通常システム・コールである。これらのコールはカーネル・モードへのトラップ(割り込み)を引き起こし
、マシンの制御をオペレーティング・システムに渡して必要なパケットを送信させる
プリミティブはサービスに依存する
利用可能なプリミティブの集合は、提供されるサービスの性質に依存する。コネクション指向サービス向けのプリミティブは、コネクションレス・サービス用のプリミティブとは異なる。
コネクション指向サービスの以下のプリミティブを使って相手と通信する
LISTEN | コネクションの到着を待ってブロックする |
CONNECT | 待っているピアとコネクションを確立する |
ACCEPT | ピアからのコネクションを受け入れる |
RECEIVE | メッセージの到着を待ってブロックする |
SEND | ピアにメッセージを送る |
DISCONNECT | コネクションを切断する |
感想
サービス・プリミティブとはサービスに使用されるシステムコールのこと