반응형
프로세스(Process)
프로세스란 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램이다.
- 운영체제에서 할당 받는 자원 단위( = 실행 중인 프로그램)
- CPU 동작 시간
- 주소 공간 (각 프로세스는 별도의 주소 공간에서 실행된다)
- Code, Data, Stack, Heap의 구조로 되어있는 독립적 메모리 영역
- 할당 받는 자원은 다음과 같다.
- 최소 1개의 메인 스레드를 보유한다.
- 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신을(Context Switching)사용해야 한다.
- 파이프, 파일 소켓 등을 사용
스레드(Thread)
“프로세스 내에서 실행되는 여러 흐름의 단위”
- 프로세스가 할당 받은 자원을 이용하는 실행 단위다.
- 스레드는 프로세스 내에서 Stack만 별도로 할당 받고, 나머지 Code, Data, Heap은 공유한다.
- 한 스레드가 프로세스 자원을 변경하면, 같은 프로세스 내에 다른 스레드(sibling thread)도 바로 그 변경 결과를 볼 수 있다.
반응형