목록으로

프로세스(Process)와 스레드(Thread)

약 1분 읽기스터디#Development댓글로 이동

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

프로세스란?

  • 컴퓨터에서 연속적으로 실행되고 있는 프로그램
  • 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 (독립적인 개체)
  • 운영체제로부터 시스템 자원을 할당받는 작업의 단위
notion image
프로세스 내부에는 최소 하나의 스레드를 가지고 있고, 스레드 단위로 스케줄링한다.
프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라가는데 이 순간 부터 프로세스라고 부른다.

스레드란?

  • 프로세스 내에서 실행되는 여러 흐름의 단위
  • 프로세스의 특정한 수행 경로
  • 프로세스에서 할당 받은 자원을 이용하는 실행 흐름의 단위
스레드는 OS의 스케줄러에 의해 독립적으로 관리될 수 있는 프로그래밍된 명령어의 가장 작은 시퀀스, 하나의 프로세스는 하나 이상의 스레드를 갖는다.
notion image
스레드가 독립적으로 가지고 있는 부분
  • program counter (실행 흐름)
  • register set
  • stack space
스레드가 동료 스레드와 공유하는 부분 (= task)
  • code section
  • data section
  • OS resources