数日前に OS の概念の勉強を始めましたが、すでにいくつかの問題を抱えています。主にシステムコールにとても興味があります。私は、各オペレーティング システムがそれぞれ独自の API を提供していることを知りました (Windows API 用の Windows、libc 用の Linux など)。
私が混乱し始めているのはラッパー関数です。たとえば、Linux には fork() ラッパー関数があります。これは、この関数内のアルゴリズムが OS のシステム コール テーブルに基づいてシステム コール ルーチンを実行するということですか? Cで書かれているという意味がわかりません.C標準ライブラリを使用しているということですか? それともCコンパイラだけですか?さらに、GCC Windows C コンパイラなどのさまざまな種類のコンパイラがあるにもかかわらず、C コンパイラが標準ライブラリをコンパイルするのはなぜですか? 私が気になっているのは、C 標準ライブラリ関数もシステム コールを呼び出しているということです。しかし、異なるOSで同じ出力を得るために、異なるシステムコールを呼び出す必要があるかもしれませんよね? これは、同じ標準 C 関数でも、OS ごとに内部に実装されているシステムコールが異なるということでしょうか。
システムコールplzの良いコンセプトが本当に欲しいです:)