본문 바로가기

Study

스레드, 프로세스 상태 전이





<스레드 / 프로세스 상태 전이>


스레드(Thread)

  • 하나의 프로세스 내에서 병행성을 증대시키기 위한 메커니즘으로 시스템의 여러 자원을 할당받아 실행하는 프로그램 단위

  • 독립적인 스케줄링의 최소 단위로 동일 프로세스 환경에서 서로 독립적인 다중 수행이 가능

  • 스레드는 독립적인 스케줄링 최소 단위로 프로세스의 역할 담당

  • 하나의 프로세스에 하나의 스레드가 존재하는 경우는 단일 스레드,
    하나 이상의 스레드가 존재하는 경우 다중 스레드라고 함

  • 스레느는 프로세스의 일부 특성을 가지기 때문에 경량(Light Weight) 프로세스라고도 함



스레드의 분류
  • 사용자 수준의 스레드 :
    - 사용자가 만든 라이브러리를 사용하여 스레드를 운용
    - 속도는 빠르지만 구현이 어려움
  • 커널 수준의 스레드 :
     - 운영체제의 커널에 의해 스레드를 운용
     - 구현은 쉽지만 속도가 느림


스레드 사용의 장점
  • 하나의 프로세스를 여러개의 스레드로 생성하여 병행성 증진 가능
  • 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상 가능
  • 응용 프로그램의 응답시간(Response Time)을 단축시킬 수 있음
  • 실행 환경을 공유시켜 기억장소 및 자원의 낭비가 줄어듦
  • 공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신



프로세스 주요 상태
  • 준비(Ready) : 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
  • 실행(Run) : 
     - 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
     - 프로세스 수행이 완료되기 전에 프로세스에게 주어진 프로세서 할당시간이 종료되면 프로세스는 준비상태로 전이
     - 실행중인 프로세스에 입/출력 처리가 필요시 실행중 프로세스는 대기 상태로 전이
  • 대기(Wait), 보류, 블록(Block) :
     - 입/출력 요구가 발생되 현재 실행중인 프로세스가 중단되며 입/출력 처리가 완료될 떄까지 대기하는 상태



프로세스 상태 전이 관련 용어
  • Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정
  • Wake-Up : 입/출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이되는 과정


'Study' 카테고리의 다른 글

자료흐름도, 데이터사전, HIPO  (0) 2016.04.16
프로세서 선점 스케줄링, 비선점 스케줄링  (0) 2016.04.14
소프트웨어 품질 표준  (0) 2016.04.11
링커 로더  (0) 2016.04.10
운영체제 운용 기법  (0) 2016.04.08