0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

低レイヤー散歩

Posted at

カーネルさん

カーネルがしてくれること:

プロセスが直接ハードウェアにアクセスできないようにCPUの機能を使用して順番を整理している。
それは、複数のプロセスが順番直接ハードウェアにアクセスすると他のプロセスが同じ場所を編集して書き換えてしまうかもしれない。するとハードウェアが壊れて文鎮化する。
これが起こらないようにカーネルはプロセスの順番を整理してる。

カーネルが使用しているCPUの機能とは具体的には「カーネルモード」と「ユーザモード」を使用している。
※一般的じゃないCPUだと3つか4つあるらしいけど、Linuxは2つしか使わないらしい

システムコールくん

システムコールくんがしてくれること:

プロセスが要求していることをカーネルさんへ伝えてくれる。

システムコールくんが具体的にしてくれること:

  • プロセスの生成
  • メモリ確保
  • 通信処理
  • ファイルシステム操作
  • デバイス操作

システムコールくんは怒る

プロセス「カーネルさんにメモリ32Gb確保してって伝えて~」
こんなこと言うと却下されます。

システムコールくんは絶対

プロセス「ぉーぃ、カーネルさん聞こえるかぁ~ ちょっとメモリ32Gb確保してぇ~」
こんなこと言うと横からシステムコールくんが飛び出して直接会話するのを遮ります。
プロセスがシステムコールを返さずに直接カーネルと対話することはありません。

動的ライブラリと静的ライブラリ

動的ライブラリ:プログラム起動時にlibcの共有ライブラリをロードする
静的ライブラリ:コンパイル時にlibcのライブラリを実行ファイルに組み込む

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?