-
프로세스(Process)란 실행중인 프로그램을 말한다.
예를 들어 calc.exe 라는 실행 파일이 있을 때 이 파일이 실행되어 메모리에 적재되면 계산기 프로세스가 된다.
만약 사용자가 두 개의 계산기 프로그램을 실행시켰다면 이 둘은 같은 프로그램이지만 각각 다른 프로세스로 인식된다.구분되는 키값은 프로세스의 ID이다.
운영체제는 실행된 프로그램을 프로세스 단위로 관리한다.
프로세스는 각각 4GB(운영체제마다 달라질 수 있다)의 주소 공간과 파일, 메모리, 스레드 등의 객체를 소유하며,
프로세스가 종료될 때 프로세스가 소유한 모든 자원은 운영체제에 의해 파괴된다.
프로세스는 실행중인 프로그램이지만 실제로 작업을 하는 주체는 아니다.
작업은 프로세스 내의 스레드(Thread)가 담당한다.
프로세스는 단지 메모리상에 존재하기만 할 뿐이며 실행과 동시에 스레드를 하나 만들고,
스레드를 호출함으로써 스레드에게 모든 작업을 맡긴다.
즉,프로세스는 스레드를 담는 껍데기이며 실제 일을 하는 것은 스레드이다.
프로세스는 최소 한 개 이상의 스레드를 가진다.
프로세스와 동시에 자동으로 만들어 지는 스레드를 주 스레드(Primary Thread)라 하며 이외에 필요에 의해 여러 개의 스레드를 더 만들어 사용할 수 있다.aa.exe 파일을 클릭 하면 내부적으로 하는 동작 '쓰레드 > 쓰레드' 카테고리의 다른 글
스레드 간 동기화 ,동기화가 필요한 이유 (0) 2022.04.03 스레드 생명 주기 + 우선순위 (0) 2022.04.03 beginThread & TLS (0) 2022.04.03 쓰레드 제어, 쓰레드 종료 (0) 2022.04.03 CreateThread,멀티 쓰레드 + (쓰레드가 필요한 이유) (0) 2022.04.03