システムコール
ハードウェアとOSからなるシステムが、アプリケーションプログラムに対して提供する機能を呼び出すこと、もしくはそのための機能をシステムコールという。メーカーやOSなどによりさまざまな呼び方があり、「ファンクションコール」(Function Call)、「API」(Application Programming Interface)などとも言う。
システムコール
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/01 03:03 UTC 版)
システムコール(英: system call、日: システム呼出し[1][2][3])とは、オペレーティングシステム (OS)(より明確に言えばOSのカーネル)の機能を呼び出すために使用される機構のこと。実際のプログラミングにおいては、OSの機能は関数 (API) 呼び出しによって実現されるので、OSの備える関数 (API) のことを指すこともある。なお、μITRONではサービスコールと呼ばれる。また、OSのことをスーパーバイザとも呼ぶため、スーパーバイザコールともいう。
- ^ “2.7.6 演習: ユーザーによって実行されるプロセスのトレース”. Oracle. 2019年8月18日閲覧。
- ^ カート オール「II, 6 システム呼出し」『例題で学ぶLinuxプログラミング』桑村 潤、野村 純子訳、ピアソン・エデュケーション、2001年5月20日(原著1999年12月3日)、1(日本語)。ISBN 4-89471-2865。
- ^ シルバーシャッツ アブラハム、ガルビン ピーター ベール、ガニエ グレッグ「I, 2.3 システム呼出し」『オペレーティングシステムの概念』土居 範久(監訳)・大谷 真・加藤 和彦・光来 健一・清水 謙多郎・高田 眞吾・高田 広章・千葉 滋・野口 健一郎(訳)、共立出版、2010年11月、1(日本語)。ISBN 978-4-320-12253-6。
- ^ Linux Systemcall Reference
- ^ linux/include/uapi/asm-generic/unistd.h - torvalds/linux - GitHub
- ^ “FreeBSD syscalls.c, the list of syscall names and IDs”. 2013年3月24日閲覧。
- 1 システムコールとは
- 2 システムコールの概要
- 3 システムコールの例
システムコール
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/30 16:19 UTC 版)
システムコールは、ソフトウェア割り込みにより呼び出されるが、8080やZ80などの8ビットのコンピュータではメジャーな存在だったCP/Mとの互換性、特に8080用にアセンブリ言語で書かれたソースコードを8086にコンバートして用いる場合を想定し、call 5でも利用可能としてCP/M 80からの移行を促した。
※この「システムコール」の解説は、「MS-DOS」の解説の一部です。
「システムコール」を含む「MS-DOS」の記事については、「MS-DOS」の概要を参照ください。
システムコール
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/06/14 03:07 UTC 版)
「インラインアセンブラ」の記事における「システムコール」の解説
システムコールのAPIは、現代では通常はC言語のライブラリとして定義されているが、上述の特殊な命令と同様にSVC命令などを直接利用して呼び出すためにアセンブリ言語が利用される。
※この「システムコール」の解説は、「インラインアセンブラ」の解説の一部です。
「システムコール」を含む「インラインアセンブラ」の記事については、「インラインアセンブラ」の概要を参照ください。
システムコール
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/16 14:38 UTC 版)
詳細は「システムコール」を参照 意味のある作業を実行するには、ユーザプログラムはカーネルの提供する全サービスにアクセスできなければならない。これはカーネルによって実装が異なるが、多くは標準CライブラリやAPIが提供され、そこから対応するカーネル機能が呼び出される。 カーネル機能を呼び出す方法は主にCPUがどのような機能を提供しているかに依存する。カーネル空間とユーザー空間が分離されている場合、ユーザープロセスが直接カーネルを呼び出すことはできない。例えば以下のような技法を採用する。 例外処理や割り込みを明示的に発生する命令(トラップ命令、ソフトウェア割り込み)を使用。多くのハードウェアで実装されている技法である。 コールゲートを使用。x86で採用されている。 特別なシステムコール命令を使用。最近のx86で実装された。 メモリ上のキューを使用。仮想空間の所定の位置にユーザープロセスが要求を投入できるキューを用意し、カーネルがそこから定期的に要求を読み取って実行する。即時性が要求されない場合で、プロセスから複数の要求を行う場合に便利である。
※この「システムコール」の解説は、「カーネル」の解説の一部です。
「システムコール」を含む「カーネル」の記事については、「カーネル」の概要を参照ください。
固有名詞の分類
- システムコールのページへのリンク