[운영체제] 스레드

Peter·2021년 10월 4일
0

운영체제

목록 보기
18/22

스레드의 발생

프로세스

  • 프로세스 간에는 각 프로세스 데이터 접근이 불가

스레드

  • 하나의 프로세스안에서 여러개의 스레드 생성이 가능
  • 스레드는 동시에 실행이 가능하고 프로세스 안에서 여러개가 생성되었기 때문에 프로세스의 데이터에 모든 스레드가 접근 가능함

멀티 스레드

  • 소프트웨어 병행 작업 처리를 위해 멀티스레드 사용

멀티 프로세싱과 멀티 스레드

  • 멀티 태스킹은 선점형 스케쥴러를 사용해 프로세스들을 동시에 실행하는것처럼 만드는 원리
  • 멀티 스레드는 작업을 쪼개서 여러개로 나눠 처리

스레드 장점

  • 사용자에 대한 응답성 향상
  • 자원 공유 효율
  • 작업이 분리되어 간결한 코드 작성 가능

스레드 단점

  • 프로세스 안에서 여러개의 스레드로 나눠서 작업을 처리하기 때문에 한개 스레드에 문제가 생기면 전체 프로세스에 이상이 생김
  • Context Switching이 많이 일어나 성능 저하

스레드 vs 프로세스

  • 프로세스는 독립적, 스레드는 프로세스의 서브셋
  • 프로세스는 각각 독립적 자원을 가짐, 스레드는 프로세스 자원 공유
  • 프로세스는 자신만의 주소 영역을 가짐, 스레드는 주소영역 공유
  • 프로세스간에는 IPC기법으로 통신해야 함, 스레드는 필요 없음
profile
컴퓨터가 좋아

0개의 댓글