Syscallプロバイダ

syscallプロバイダは、システムのすべてのシステム・コールに対して開始時と終了時のプローブを使用可能にします。システム・コールは、ユーザー・レベルのアプリケーションとオペレーティング・システム・カーネルの間の主要なインタフェースのため、syscallプロバイダからは、システムに関連するアプリケーション動作について多くの洞察を得ることができます。

syscallプローブ

syscallプロバイダは、システム・コールごとに1組のプローブを提供します。1つはシステム・コールに入る前に起動するentryプローブ、もう1つはシステム・コールが完了してから制御がユーザー・レベルに戻るまでの間に起動するreturnプローブです。どのsyscallプローブでも、関数名はインストゥルメントされるシステム・コールの名前として設定されます。

多くの場合、syscallが提供するシステム・コールの名前は、マニュアル・ページの項2の名前と対応しています。ただし、syscallプロバイダ・プローブの中には、文書化されたシステム・コールに直接対応しないものがあります。たとえば、システム・コールが別のシステム・コールのサブ操作の場合や、システム・コールがユーザー・カーネルの境界にまたがるプライベートな場合などです。

syscallプローブの引数

entryプローブの場合、引数arg0 ... argnはシステム・コールの引数です。returnプローブの場合、arg0arg1の両方に戻り値が格納されます。D変数errnoの値がゼロ以外の場合は、システム・コールが失敗であることを示します。

syscallの安定性

syscallプロバイダは、DTraceの安定性メカニズムを使用してその安定性を記述します。これらの安定性の値を、次の表に示します。

要素 名前の安定性 データの安定性 依存クラス

プロバイダ

発展中

発展中

共通

モジュール

非公開

非公開

不明

関数

非公開

非公開

命令セット・アーキテクチャ(ISA)

名前

発展中

発展中

共通

引数

非公開

非公開

ISA