根本的な理解が足りていないのかもしれませんが、質問させてください。
C言語でHelloWorldプログラムを作ったとします。
その中で、以下のコードがあります。
printf("Hello World");
この部分を実行すると、標準Cライブラリがwrite()システムコールを発行して
カーネルに実行が移り、ディスプレイに「Hello World」が表示されます。
この説明は理解できますが、そのカーネルの処理がC言語で書かれているというのが理解できません。
write()システムコールに対応するカーネル処理のソースコードはC言語で
printf("~");
と書かれているのでしょうか?
メモリを直接操作するようなコードをアセンブリで書くのではないでしょうか?
まだ回答がついていません
会員登録して回答してみよう