プロセスとスレッド
📌 けいかく
📌 プロセス
👉 (ctrl+alt+delete)の「タスク管理」ウィンドウに表示される内容!
コンピュータ、プロセス
프로그램을 실행하면 -> 운영체제로부터 실행에 필요한 자원을 할당 받음 -> 프로세스
プロセスフィーチャー
2)データ:グローバル変数、静的変数、配列など(初期化されたデータ)
3)stack:領域変数、パラメータ、戻り値(一時メモリ領域)
4)Heap:動的割当て用(new()、mallock()等)
このプロセス情報を含むPCBブロックは、プロセス作成時に一緒に作成される.
各プロセスは独立したアドレス空間で実行され、互いに独立したメモリ空間を持っているため、互いのメモリ空間を共有することはできません.つまり、他のプロセスの変数やデータ構造にアクセスできません.
他のプロセスのリソースにアクセスするには、プロセス間通信(IPC)を使用する必要があります.
プロセスには少なくとも1つのスレッドが含まれています.
📌 ハンドラ
🔍 プロセッサ:コンピュータ内でプログラムを実行するハードウェアユニット.これは中央プロセッサ(CPU)を指し、命令を解釈するコンピュータの一部である.
以前、パソコンは一度に1つの動作しか実行していませんでした.マルチタスク処理機能が登場するにつれて、コンピュータは複数のプロセスを同時に処理できます.
複数のプロセスを同時に処理するタスクは、同時、並列、または両方の混合であってもよい.
🔍 Context Switching:プロセッサは一度に1つのプロセスしか実行できませんでした.
AプロセスはBプロセスを上昇させるには、先に上昇してから降下しなければならないが、Aプロセスは再びBプロセスを上昇させなければならない.(重複性が増加するとCPU負担が増加し、重複するリソース管理効率が低下する.)
プロセスの同期性と並列性
1)同期(Concurrency)
同時性は、1つのプロセッサが1、2、3、4つのプログラムを順番に実行する一部です.この過程が極めて速い速度で動くにつれて、人々にとって、これらの過程は同時に行われているようだ.
2)並列性
並列性は、1つのプロセッサに複数のコアがあり、各プロセッサが同時に動作する方法です.これは、デュアルコア、クアッドコア、8コアなどの名前のプロセッサを備えたコンピュータ上で行われる方法です.つまり、複数のコアに仕事を分担させるということです.
1つのプロセスで複数のタスクが同時に実行されます.
ブラウザが実行中の場合
1)ファイルのダウンロード
2)ネットサーフィン
3)歌を聴くなどの仕事をすることもある.
これらの様々な作業によって生じる分岐は、ねじ(Thread)と呼ばれる.
📌 ねじ(Thread)
-プロセスによって割り当てられたリソースの実行単位を使用します.
-プロセスの特定の実行パス
-プロセスで実行される複数のストリームの単位.
ねじフィーチャー
🔍 다른 자원은 공유하지만 굳이 스택만 분리해서 사용하는 이유!
- LIFO (Last In First Out) 후입 선출이라는 스택의 특성과 연관이 있다.
- 코드와 데이터 힙 영역을 공유하는 것에는 큰 문제가 없음
- 그러나 스택 영역은 스택이 쌓이면 위에서부터 프로세스가 섞인 채로 순서대로 나오게 되므로
더 복잡해지기 때문에 원할한 실행 흐름을 위해 스택은 따로 독립적으로 존재하게 된다.
📌 プロセスとスレッド!
プロセスとスレッドの関係
プロセスとスレッドの違い
各タスクにはオペレーティングシステムからリソースを割り当てる負担がありますが、マルチスレッドを使用すると、システムプロトコルを1回実行するだけで効率が高くなります.また、IPC方式に比べてスレッド間の通信はそれほど複雑ではなく、システムリソースの使用が少ないため、通信負担を軽減することができる.
Reference!
https://velog.io/@gparkkii/ProgramProcessThread
https://devuna.tistory.com/21
https://www.youtube.com/watch?v=1grtWKqTn50
https://www.youtube.com/watch?v=iks_Xb9DtTM
Reference
この問題について(プロセスとスレッド), 我々は、より多くの情報をここで見つけました https://velog.io/@lovi0714/프로세스Process와-스레드Threadテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol