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 |