LoginSignup
1
0

More than 3 years have passed since last update.

Dockerの仕組みを理解するためのプロセスの概念を調べてみました

Last updated at Posted at 2021-01-14

Dockerの勉強を進めるにあたって、Docker Engineの仕組みを理解するには、プロセスの概念を理解する必要がありましたので、プロセスの詳細について調べてみました。

コンテナは、コンテナの作成、起動、削除を管理するDocker Daemonと同じく、ホストOS上でプロセスとしての存在になります。ホストOS上のプロセスということで、他のホストOS上で単独実行アプリケーションと同様に、CPU、メモリ、ネットワークなどのリソースをホストOS経由でアクセスできますし、また、プロセスが終了すると、メモリに保持されているコンテナ上の操作データも一緒に消えるが当然なことがよく理解できました。

■プロセスとは
プロセスとは、HDDなどに格納されているバイナリーコードをOSのスケジューラーにより、メモリにロードされ、CPUを実行可能な状態となる、OS上でのCPUなどのリソース実行管理単位のこと。

■プロセスとスレッドの違いについて
1プログラム⇒1プロセス
1プロセスに複数のスレッドを動かすことが出来る(シングルスレッドとマルチスレッドがある)
スレッドがプロセス内の命令を実行する
1スレッドが1CPUコア使用する
1CPUに複数のCPUコアを含むことが出来る。

メモリー空間はプロセス単位で割り当てられる
スレッドが属するプロセスのメモリ空間を共有する

■シングルプロセスとマルチプロセスの違い
シングルプロセス:
 スレッド①:料理開始⇒ご飯を炊く⇒カレーを煮込む⇒お皿に盛る⇒料理終了
マルチプロセス:
 スレッド①:料理開始⇒プロセス②を起動⇒ご飯を炊く⇒プロセス②完了を待つ⇒料理終了
 スレッド②:カレーを炊く
 

1
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
1
0