얼음꽃의 일지

프로세스, 스레드 본문

항해 일지

프로세스, 스레드

얼음꽃 2022. 12. 19. 10:37
728x90

프로세스(Process)

- 프로그램이 메모리에 올라와 운영체제로 부터 CPU를 할당받고 프로그램이 실행되는 상태

- 프로세스 안에 Code, Data, Stack, Heap이 존재하는 독립된 메모리 영역을 가짐

- 프로세스당 최소 1개의 스레드를 가짐

- 프로세스는 독립적이기 때문에 다른 프로세스가 와서 접근 불가

- 만약 다른 프로세스가 접근을 원한다면 프로세스간의 통신을 이용해서 요청을 해야함 ex) 파이프, 소켓, 파일

 

* Code : 프로그래머가 작성한 프로그램이 코드 영역에 작성

* Data :  코드가 실행되면서 나오는 각종 데이터

* Stack : 호출한 함수가 종료되면 되돌아올 메모리의 주소를 스택에 저장, 변수 사용 범위에 영향을 미치는 구역을 구현

* Heap : 동적으로 할당되는 데이터들을 위해 존재하는 공간

 

 

스레드(Thread)

- 프로세스 내에서 실행되는 여러 흐름의 단위

- 프로세스가 할당받은 자원을 사용하는 단위

- Stack을 따로 할당받아서 사용하고 나머지 Code, Data, Heap은 공유

- 스레드는 스레드 끼리 공유가능

 

728x90

'항해 일지' 카테고리의 다른 글

동시성과 병렬성  (0) 2022.12.19
call by value 와 call by reference  (0) 2022.12.19
Base64 인코딩  (0) 2022.12.19
TCP 와 UDP  (0) 2022.12.19
TCP 3-way Handshake  (0) 2022.12.19