Physical Thread와 Logical Thread를 구분하자!

2022. 6. 13. 17:10·Computer Science/Operating System

Thread를 공부할 때 맨날 헷갈리던 것이 있다.

CPU에서도 Thread가 나오고, 프로그래밍을 할 때도 Thread가 나오는데 이거 두 개가 같은 것인가?

전자보다 후자의 갯수가 훨씬 더 많을 것 같은데... 이 부분이 이해가 안갔다.

이번에 확실히 정리를 해본다.

 

https://the-boxer.tistory.com/24

 

물리적 스레드 vs 논리적 스레드

※ 두 스레드를 구분할 때 물리적과 논리적이라는 단어는 제가 임의로 붙인 단어입니다. 하드웨어적으로 구현된 스레드와 소프트웨어적으로 구현된 스레드를 구분하기 위함입니다. [물리적 스

the-boxer.tistory.com

 

이게 핵심이다.

운영체제가 스케줄링을 할 때 동시에 실행 가능한 스레드 수(물리적 스레드)는 정해져 있습니다. 하지만 메모리가 허용하는 논리적 스레드

수는 얼마든지 많을 수 있습니다.이들 중 운영체제에 의해 실행되지 않는 스레드는 잠들어 있을 수 있으며 운영체제는 이들 중 물리적 스레드가 허용 가능한 만큼의 스레드를 할당하여 동시에 실행시킵니다.

책에 비유하자면, 4코어 8스레드는 상/하권으로 분권된 책이 4세트(8권)있는 것과 같습니다. 이를 읽고 싶은 독자(논리적 스레드)는 수십 혹은 수백명이지만 도서관에서 빌릴 수 있는 사람은 최대 8명 입니다. 나머지는 책이 반납될때 까지 기다려야 합니다.

 

즉 쉽게 말해서, 프로그래밍할 때 나오는 Thread는 Logical thread고, CPU가 갖고있는 Thread는 Physical thread다.

 

글고 Process는 하나 이상의 Thread를 갖고 있다.

https://junshock5.tistory.com/146

 

멀티스레드를 사용하는 이유

스레드를 사용하는 이유 Thread란 실행 코드를 실행시킨다. 단, 불확실성을 가진다. (추후 스레드 경쟁조건 글 작성 예정) 스레드, 프로세스가 궁금하다면? OS가 만든 스레드: 커널 스레드 개발자가

junshock5.tistory.com

https://junshock5.tistory.com/117?category=758386 

 

프로세스, 스레드의 컨텍스트 스위칭 cpu와의 관계

프로세스(process)란? 실행파일을 클릭했을 때, 메모리(RAM) 할당이 이루어지고, 이 메모리 공간으로 코드가 올라간다. 이 순간부터 이 프로그램은 '프로세스'라 불리게 된다. 즉, 사용자가 작성한

junshock5.tistory.com

https://popcorntree.tistory.com/2

 

[1. 멀티스레드 프로그래밍 소개] 02. 프로세스와 스레드

*이 글의 내용은 한국산업기술대학교 게임공학부 정내훈 교수님의 수업을 듣고 정리한 내용입니다. 1. 프로세스와 스레드 프로세스는 초기에 하나의 시작 스레드를 가진다 스레드는 다른 스레

popcorntree.tistory.com

 

저작자표시 비영리 (새창열림)

'Computer Science > Operating System' 카테고리의 다른 글

Virtualization 정리 (+Ring level, binary translation [소프트웨어 전가상화], trap&emulate[하드웨어 전가상화])  (0) 2022.07.25
캐시와 버퍼의 차이  (0) 2022.07.21
CPU 스케줄러 완벽 정리  (0) 2022.06.10
[OS] 멀티프로세싱, 멀티프로그래밍, 멀티태스킹, 멀티스레딩  (0) 2022.04.25
Hypervisor 공부 방향  (0) 2022.04.04
'Computer Science/Operating System' 카테고리의 다른 글
  • Virtualization 정리 (+Ring level, binary translation [소프트웨어 전가상화], trap&emulate[하드웨어 전가상화])
  • 캐시와 버퍼의 차이
  • CPU 스케줄러 완벽 정리
  • [OS] 멀티프로세싱, 멀티프로그래밍, 멀티태스킹, 멀티스레딩
Hojae Lee
Hojae Lee
Solutions Architect
  • Hojae Lee
    기억력이 금붕어라
    Hojae Lee
  • 전체
    오늘
    어제
  • 공지사항

    • 참고사항
    • 이 블로그를 잘 활용하는 방법
    • my linkedin
    • 분류 전체보기 (403)
      • Career Path (19)
        • My Achievements (10)
        • About Career (1)
      • Projects for $100 (1)
      • CLOUD (183)
        • Azure Cloud (61)
        • AWS Cloud (120)
      • System Engineering (90)
        • Kubernetes (47)
        • Docker (0)
        • System Design (4)
        • DevOps (2)
        • SRE (5)
        • git (1)
        • 리눅스, 라즈베리파이 (17)
        • Powershell (2)
      • Computer Science (70)
        • Operating System (22)
        • Computer Architecture (5)
        • Network (18)
        • Database (13)
        • Security (9)
        • Machine Learning, AI (1)
      • Cloud Webinar (4)
        • AWS Summit (4)
      • 3D 프린터 (1)
      • IaC (4)
        • CloudFormation (0)
        • Terraform (4)
      • 아두이노 (임베디드) (2)
      • 개발자의 전기 전자 공부 (3)
      • 이전 직장 (11)
        • TMAX Soft (11)
      • 작업 환경 셋업 (3)
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
Hojae Lee
Physical Thread와 Logical Thread를 구분하자!
상단으로

티스토리툴바