본문 바로가기

Operating system

스레드 (thread)

스레드의 정의

  • CPU 스케줄러가 CPU에 전달하는 일 하나
  • CPU가 처리하는 작업의 단위는 프로세스로부터 전달받은 스레드
    • 운영체제 입장에서의 작업 단위는 프로세스
    • CPU 입장에서의 작업 단위는 스레드
더보기

프로세스의 코드에 정의된 절차에 따라 CPU에 작업 요청을 하는 실행 단위

멀티태스크와 멀티스레드의 차이

  • 멀티태스크 : 여러 개의 프로세스로 구성된 것
  • 멀티스레드 : 하나의 프로세스에 여러 개의 스레드로 구성된 것 , 프로세스 내 작업을 여러 개의 스레드로 분할함으로써 작업의 부담을 줄이는 프로세스 운영 기법

CPU 멀티스레드

  • 한 번에 하나씩 처리해야 하는 스레드를 파이프라인 기법을 이용하여 동시에 여러 스레드를 처리하도록 만든 병렬 처리 기법
    • 멀티스레드 : 운영체제가 소프트웨어적으로 프로세스를 작은 단위의 스레드로 분할하여 운영 기법
    • CPU 멀티스레드 : 하드웨어적인 방법으로 하나의 CPU에서 여러 스레드를 동시에 처리하는 벙렬 처리 기법

멀티스레드의 장점

  1. 응답성 향상
  2. 자원 공유
  3. 효율성 향상
  4. 다중 CPU 지원

멀티스레드의 단점

  1. 모든 스레드가 자원을 공유하기 때문에 한 스레드에 문제가 생기면 전체 프로세스에 영향을 미침
  2. 여러 개의 화면을 동시에 띄웠는데 그중 하나에 문제가 생기면 전체 종료가 됨 

 

쉽게 배우는 운영체제 | 조성호 - 교보문고 (kyobobook.co.kr)

'Operating system' 카테고리의 다른 글

교착 상태  (0) 2023.06.05
CPU 스케줄링  (0) 2023.06.04
프로세스의 구조 , 복사 (fork), 전환(exec)  (0) 2023.04.23
프로세스 (process)  (1) 2023.04.23
인터럽트  (0) 2023.04.22