본문 바로가기
일반상식(?)

[운영체제]프로세스(Process)와 스레드(Thread)

by 계양구놈팽이 2022. 5. 27.

요약 : 운영체제(프로세스1(스레드,스레드,스레드), 프로세스2(스레드,스레드,스레드).....)

참으로, 다단계 같은 구조다. 프로세스는 운영체제부터 자원을 할당 받아 실행하고, 스레드는 프로세스로부터 자원을 할당 받아 실행한다. 인간이 만들어서 그런지 정말 사회 구조 같은 방식이다.

 

프로세스는 실행 중인 프로그램을 뜻한다. 하나의 프로세스에는 독립된 메모리 공간을 할당한다. (그래서 프로세스간에 정보를 주고받기 위해 수많은 IPC기법이 만들어졌지만....) 물론 이 메모리 공간은 고정은 아니고, 프로세스가 OS에게 요청하면 추가로 배급(?)을 받는다. 물론 OS라고 무한한 메모리 공간을 보유한 것은 아니기에 빈 공간이 있을 때만 가능.

 

스레드는 메모리 공간을 할당 받은 프로세스 내에서 동작을 처리하는 단위이다. 스레드는 개별적인 스택을 가지고, 프로세스의 메모리에 올라가 있는 코드/데이터/힙 영역을 공유하며 작업을 한다.

 

결국은 운영체제의 노예들일 뿐이다. 출처: https://www.reddit.com/r/ProgrammerHumor/comments/sfsglo/thread_a_lightweight_process/

'일반상식(?)' 카테고리의 다른 글

[네트워크]TCP vs UDP  (0) 2022.05.27