ライブラリ関数は常にシステムコールを使用して実装されますか?

ライブラリ関数は常にシステムコールを使用して実装されますか?

システム コールは、プロセスがオペレーティング システムのカーネルにサービスを要求するものであることはご存じのとおりです。[1]この質問をしているのは、プロセスが実際に独自に信号を生成したり、CPU に直接算術演算を要求したり、ファイルの読み取り/書き込みなどを実行できるかどうか、あるいはプロセスが実際にオペレーティング システムにこれらを要求するだけかどうかを知りたかったからです。

答え1

「シグナル」と「ファイル」はオペレーティング システムのコンテキスト内でのみ存在するため、アプリケーションはカーネルに代わってそれらの操作を行うように要求する必要があります。算術演算は CPU によって実行されるため、アプリケーションは直接実行できます。

答え2

string.h の文字列ライブラリ関数はシステムコールを一切使用しないことに気づきませんでした。

関連情報