프로세스(Process)와 스레드(Thread)
CS 스터디
main
date
Oct 15, 2023
slug
process-thread
author
status
Public
tags
Development
summary
CS 스터디
type
Post
thumbnail
category
스터디
updatedAt
Apr 14, 2026 09:45 PM
프로세스란?
- 컴퓨터에서 연속적으로 실행되고 있는 프로그램
- 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 (독립적인 개체)
- 운영체제로부터 시스템 자원을 할당받는 작업의 단위

프로세스 내부에는 최소 하나의 스레드를 가지고 있고, 스레드 단위로 스케줄링한다.
프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가는데 이 순간 부터 프로세스라고 부른다.
스레드란?
- 프로세스 내에서 실행되는 여러 흐름의 단위
- 프로세스의 특정한 수행 경로
- 프로세스에서 할당 받은 자원을 이용하는 실행 흐름의 단위
스레드는 OS의 스케줄러에 의해 독립적으로 관리될 수 있는 프로그래밍된 명령어의 가장 작은 시퀀스, 하나의 프로세스는 하나 이상의 스레드를 갖는다.

스레드가 독립적으로 가지고 있는 부분
- program counter (실행 흐름)
- register set
- stack space
스레드가 동료 스레드와 공유하는 부분 (= task)
- code section
- data section
- OS resources