프로세스와 스레드

박현석·2024년 7월 4일
post-thumbnail

용어 정리부터 하겠다

프로그램(program): 어떤 작업(task)을 위해 실행가능한 파일
프로세스(process): 컴퓨터에서 연속적으로 실행중인 프로그램 또는 운영체제로 부터 시스템의 자원을 할당받는 단위
실행받는 자원의 예(CPU시간, 주소공간, code, data, stack, heap의 독립된 메모리영역)

각 프로세스는 독립된 각자원을 받는다. 그리고 프로세스의 너머로 메모리 영역 침범이 불가능함
접근을 위해서는 통신방법을 이용(파이프, 소켓 등)

기본적으로 프로세스당 하나의 메인 스레드를 가지고있다.

이 프로세스의 스레드는 개인의 스텍만을 고유하게 갖고, 나머지 영역은 공유한다.

그리고 한스레드가 프로세스의 자원을 변경하면 다른 이웃스레드도 그 변경결과를 공유한다.
다중 프로세싱 환경에서는 프로세스를 사용하는것보단 스레스를 활용하는것이 자원을 효율적으로 사용가능

profile
너에게만광대

0개의 댓글