데이터 과학 노트

Process vs. Thread (프로세스와 스레드 차이) 본문

Computer Science/Operating Systems

Process vs. Thread (프로세스와 스레드 차이)

Data Scientist Note 2023. 3. 20. 03:48

프로그램 (Program)

  • 어떤 작업을 위해 실행할 수 있는 파일

프로세스 (Process)

  • 프로세스: 실행 중인 프로그램
  • 할당받는 자원
    • CPU 시간

스레드 (Thread)

  • 스레드: 프로세스 내에서 실행되는 흐름의 단위
  • 할당받는 자원
    • 스레드는 각각 Stack, Register 할당, (Code, Data, Heap 공유)

메모리 구조

  • Code (Text):
  • Data: 지역 변수, 매개 변수 (static)
    • Data: 초기화된 정적 변수
    • BSS (block started by symbol): 초기화되지 않은 정적 변수
  • Heap: 사용자 할당 동적 변수 (malloc)
  • Stack: non-static local variables

(출처: https://craftofcoding.wordpress.com/2017/12/01/where-is-static-memory-stored-in-c/)

멀티 프로세스 vs 멀티 스레드

참조