본문 바로가기
CS 기초/운영체제

[운영체제] 프로그램, 프로세스, 스레드

by 잡템 2023. 10. 23.

프로그램(Program) ?

컴퓨터에서 실행 할 수 있는 파일을 통칭, 단 파일을 실행하지 않은 상태이다.

 

프로세스(Process) ?

실행중인 프로그램을 말하여 운영체제로부터 자원을 할당받아 실행 중 또는 실행 대기 중인 작업의 단위 이다.

프로세스는 각각 독립된 메모리 공간(코드, 데이터, 스택, 힙)을 할당 받으며 서로 다른 프로세스간 메모리 접근이

허용되지 않는다. 프로세스간 서로 다른 자원에 접근 시 통신이 필요하다.

 

스레드(Thread) ?

프로세스 내에서 실행되는 작업 갈래, 흐름의 단위를 말한다. 스레드는 같은 프로세스 내에서 실행되며

각 스레드마다 스택을 할당받고 코드, 데이터, 힙영역의 자원을 공유한다.

프로세스는 반드시 1개 이상의 스레드를 가지며 프로세스 내에서 여러개의 스레드가 있으면 이를

멀티 스레드(Multi Thread)라고 한다.

 

Reference

https://inpa.tistory.com/entry/%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%E2%9A%94%EF%B8%8F-%EC%93%B0%EB%A0%88%EB%93%9C-%EC%B0%A8%EC%9D%B4

https://zangzangs.tistory.com/109

'CS 기초 > 운영체제' 카테고리의 다른 글

임계 영역, 뮤텍스, 세마포어  (1) 2023.10.29
멀티프로세스 vs 멀티 스레드  (0) 2023.10.24