OS - threads

Process vs Thread

Process의 단점

  • Large context switching overhead
  • Large process creation time
  • Large synchronization overhead

Thread의 장점

  • Low context switching overhead
  • Very small thread creation time
  • Low synchronization overhead
  • Small memory occupation

프로세스는 쓰레드의 실행에 필요한 자원(파일, 메모리 공간 등)을 제공한다.

open file table diagram

multi-threaded process diagram

Thread context를 구성하는 요소는 다음과 같다.

  • thread id
  • program counter - 다음으로 실행해야 할 instruction 주소
  • register set - 레지스터에 저장할 값
  • stack - 지역 변수를 저장할 공간

Thread의 특징

  • 함수 또는 쓰레드 밖에서 선언된 지역 변수에는 접근할 수 없다.
  • 전역 변수(data)와 heap 공간에 접근 가능하다.

reference

  • 3-1 운영체제

Tags:

Categories:

Updated:

Comments