[운영체제] 프로세스 2 : 스레드, 멀티 스레드 장점

드림보이즈·2023년 8월 14일
1

스레드

  • A thread(lightweight process) is a basic unit of CPU utilization

스레드 구성

  • program counter
  • register set
    stack spcae

동료 스레드와 공유하는 부분

  • code, data section
  • OS resource

전통적인 개념의 heavyweight process는 하나의 thread를 가지고 있는 task로 볼 수 있다.

  • 멀티 스레드로 구성된 테스크 구조에서는 하나의 서버 스레드가 blocked 상태인 동안에도 동일한 태스크 내 다른 스레드가 실행되어 빠른 처리가 가능하다.
  • 동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율과 성능 향상을 얻을 수 있다.
  • 스레드를 사용하면 병렬성을 높일 수 있다.

스레드는 PCB 내부의 register, program counter와 stack 영역을 독자적으로 가지고, 나머지 영역은 공유한다.

스레드 장점

responsiveness 반응이 빠르다

resource sharing 자원 공유

Economy

  • CPU 컨텍스트 스위칭 오버헤드, process 생성 비용 필요없음

멀티 프로세스와 비교해 스레드의 장점을 잡을 수 있어야 한다.
메모리 공간을 하나만 할당 받으면 되고, 그 내부에서 code,data 영역을 공유하니 자원 효율성이 좋고,
컨텍스트 스위칭 과정에서 프로세스 컨텍스트 스위칭보다 스레드 컨텍스트 스위칭이 오버헤드가 적다. 따라서 빠르다.

위 3가지 키워드 보다 이렇게 외우는 게 더 좋다.

스레드 실행

어떤 스레드들은 커널이 알고 있고,
어떤 스레드들은 모른다. 사용자 프로그램이 자체적으로 스레드들을 관리하는 경우도 있다.

profile
10년 후 세계 최고 블록체인 개발자

0개의 댓글

관련 채용 정보