システムコール
System calls (often shortened to syscalls) are function invocations made from user space—your text editor, favorite game, and so on—into the kernel (the core internals of the system) in order to request some service or resource from the operating system.
ユーザ空間からカーネルへと行われる関数呼び出し
OSにサービスかリソースを要求するために行われる
システムコール呼び出しの一例
i386 architectureでは、5番のシステムコール (open())を呼び出すためには、user-space applicationはEAXレジスタに5をセットしてからint命令(ソフトウェア割り込み)を発行する。 カーネルはそれに対してソフトウェア割り込みハンドラを実行するが、このハンドラはシステムコールそのものである パラメータが必要な場合も同様にレジスタ経由で行われる このレジスタで足りないレアケースでは、ユーザー空間のバッファを指すポインタをセットする この知識はアーキテクチャごとの呼び出しルールに翻訳されていてCのライブラリが実行するから
satさんの動画
特権モードでOSの機能を呼ぶこと
特権モードでしか利用できない機能を、システムコールを通して、アプリケーションから利用できるようにする
特権モードとは、CPUの動作モードのこと
通常、特権モードとユーザモードの2つに分ける
Intel CPUでは4つ
OSの機能
各種資源の管理
メモリ
CPU時間
ストレージ
外部入出力機能の提供
ネットワーク
ファイル読み書き
プロセス間通信