쓰레드 모델

라마·2023년 7월 15일

운영체제

목록 보기
13/32

※ 전남대학교 박태준 교수님의 운영체제 강의를 듣고, 정리한 내용입니다.

Type Of Thread

  • Kernel - Level Thread
    • 운영체제가 커널에서 관리하는 쓰레드
  • User - Level Thread
    • User - Space 에서 관리하는 쓰레드

Kernel - Level Thread

  • 커널 쓰레드 : 커널이 직접 생성하고 관리하는 쓰레드
    • 커널이 쓰레드에 대한 정보 ( TCB ) 를 커널 공간에 생성, 소유
    • 쓰레드 주소 공간 ( 쓰레드 코드, 데이터 ) : 사용자 공간에 존재
    • main 쓰레드는 커널 쓰레드!
  • 순수 커널 레벨 쓰레드 : 부팅 때부터 커널의 기능을 돕기 위해 만들어진 쓰레드
    • 커널 코드를 실행하는 커널 쓰레드
    • 쓰레드의 주소 공간은 모두 커널 공간에 형성

User - Level Thread

  • 사용자 쓰레드 : 라이브러리에 의해 구현된 일반적인 쓰레드
    • 응용프로그램이 라이브러리 함수를 호출하여 사용자 레벨 쓰레드 생성
    • 쓰레드 라이브러리가 쓰레드 정보 ( U - TCB ) 를 사용자 공간에 생성하고 소유
    • 커널은 사용자 레벨 쓰레드의 존재에 대해 알 수 없음 → 하나의 프로세스로만 인식함

Multithreading Models

  • 멀티쓰레드의 구현
    • 응용프로그램에서 작성한 쓰레드가 시스템에서 실행되도록 구현하는 방법
  • Many - To - One “N:1” Model
    • N개의 사용자 레벨 쓰레드를 1개의 커널 레벨 쓰레드로 매핑
  • One - To - One “1:1” Model
    • 1개의 사용자 레벨 쓰레드를 1개의 커널 레벨 쓰레드로 매핑
  • Many - To - Many “N:M” Model
    • N개의 사용자 레벨 쓰레드를 M개의 커널 레벨 쓰레드로 매핑

0개의 댓글