システムコールのオペレーティングシステム

1.システムコール1

1.1システムコール、どのような役割とは何ですか?

ここに画像を挿入説明
ユーザとコンピュータハードウェアの間のインターフェイス、コマンドインタフェースとプログラムインタフェースを含む、サービスの一部を使用して簡単に提供する必要性などのオペレーティングシステム。プログラム・インタフェースは、のセットで構成され、前記システムコールコンポーネント。

「システムコール」は、使用するアプリケーション・プログラム・インターフェース(プログラマ/プログラマ)へのオペレーティングシステムで、特殊機能として理解することができ、代替アプリケーションの呼び出しのアプリケーションは、コールは、システムのオペレーティング・システム・サービスを取得するために作られたことができます

ユーザプログラムシステムコールオペレーティングシステムのサービスを要求します。オペレーティング・システムによる共有リソースの様々なシステム、制御統一ので、ユーザプログラムに、(例えば、メモリ割り当て、I / O操作、ファイル管理、など)すべてのリソースに関連する操作は、オペレーティングシステムによって呼び出されなければなりませんシステムサービス要求、オペレーティングシステムによって完了に代わって。私たちは、システムの安定性とセキュリティを保証することができます不正な操作からユーザーを防ぐために。

  • システムコール(関数によって分類されます)
    • デバイス管理:完全な機器の要求/リリース/スタート機能
    • ドキュメント管理:ファイルが完了するまでに読み取り/書き込み/作成/削除機能を
    • プロセス制御:のプロセスの完了作成/離脱/ブロッキング/覚醒機能
    • プロセス間通信:プロセスが完了する間メッセージング/シグナリング機能
    • メモリ管理:完全メモリ割り当て/リカバリーおよびその他の機能

システムコールに関連する処理は、システムリソース、プロセスの制御は、これらの機能のいくつかを実行する必要性の管理を必要とします特権命令完成させるために、関連する処理システムコール必要性コア状態行って下に

すべての操作を関連リソースを、直接、他のプロセスの動作に影響を与えるだろう、そしてあなたは、オペレーティングシステムの介入、呼び出すことによって、システムを実装する必要性を必要とします

コールとライブラリ関数1.2システムの違い

一般的なアプリケーション 直接システムコールは、ライブラリ関数も使用することができます。いくつかのライブラリシステムコール機能、およびいくつかは含みません
プログラム言語 ライブラリ機能まで提供します。システムコールは、システムコールの詳細の一部を非表示にするライブラリ関数にパッケージ化されます時々、システムは、上位より便利に呼び出します
オペレーティングシステム システムは、コールを提供します
ベアメタル

システムコールライブラリ関数を必要としない:「絶対値」関数として

システムコールライブラリ関数に関し、そのような「新しいファイルを作成する」関数として

1.3システムコールの後ろ

プロセス

  1. デリバリーシステムコールのパラメータ
  2. (命令実行中ユーザーモード
  3. システムは、(適切なサービスプログラムを呼び出しますコア状態
  4. ユーザプログラムに返します

注意

  1. 命令にそれはですユーザーモード実行、実行はコマンドの直後に落ちるトリガー内部割り込みCPUだからコア状態に
  2. システムコール要求を発行それはですユーザーモード、そして、システムコールの適切な取り扱いコア状態下で行います
  3. 命令にある一つだけが唯一のユーザーモードではなく、命令のカーネルモードの実行中に実行することができます。

システムコールは、システムコールの処理はカーネルモードで発生する、ユーザーモードで発生します。割り込みに実行命令は、コアモードにユーザモードからのプロセッサ(CPU)内で生成されます。


  1. 堂々ノートはPubMedのから仕上げたよりももっと↩︎

公開された50元の記事 ウォンの賞賛5 ビュー1519

おすすめ

転載: blog.csdn.net/qq_42483691/article/details/104728535