시냅스

TIL : OS Thread 본문

운영체제

TIL : OS Thread

ted k 2021. 11. 19. 10:15

Thread

  • cpu 점유의 기본 단위
  • 구성 : tid, PC, 레지스터 집합, 스택
    • cpu 점유는 pid 내부의 tid가 한다.
    • 스레드 간에는 코드, 데이터 파일을 공유한다.

Multithreading

  • 장점
    • 응답성 : 봉쇄되거나 긴 작업이 수행돼도 쓰레드를 생성해 명령 수행
    • 자원 공유 : code와 data, file을 공유해 사용 가능
    • 경제성 : 프로세스를 여러개 만드는 것보다 경제적, context switching에 있어서도 마찬가지이다.
    • 확장성 : 멀티 프로세스 아키텍쳐에서 병렬처리 가능

멀티코어, 멀티프로세싱 안에서의 멀티쓰레딩

  • 병행성 양상
  • 쓰레드가 여러개인 상황을 가정
    • 싱글코어 : 시간에 따라 인터리빙(사이사이 끼어 넣는다 e.g. 시분할)
    • 멀티코어 : 병렬적 수행

멀티코어에서 도전과제

  • iidentify task(태스크 인식) : 어떤 부분이 개별로 나눌 수 있는 영역을 찾는 작업 필요
  • balance(균형) : 동일한 밸류로 동일한 작업을 해야한다.
  • data splitting(데이터 분리) : 응용이 독립된 테스크로 나눠지는 것처럼 데이터 또한 독립되어야 한다.
  • data dependency (데이터 종속성) : 데이터는 둘 이상의 테스크 사이에 종속성이 없는지 검토되어야 한다.
  • teting and debugging : 여러 쓰레드를 동시에 제어하기 어렵다.

병렬 실행 유형

  • 데이터 병렬 실행 : 동일한 데이터의 부분집합을 다수의 계산 코어에 분배한 뒤 각 코어에서 동일한 연산을 실행하는 데 초점을 맞춘다.
  • 테스크 병렬 실행 : 데이터가 아니라 태스크를 다수의 코어에 분배한다.

'운영체제' 카테고리의 다른 글

CPU 스케줄링 CPU Scheduling  (0) 2022.04.21
멀티 쓰레딩 Thread and Concurrency  (0) 2022.04.12
TIL : OS IPC 시스템의 사례  (0) 2021.11.16
TIL : OS 프로세스 간 통신  (0) 2021.11.14
TIL : OS processes  (0) 2021.11.12
Comments