본문 바로가기
CS

Process에 대해 알아보자!

by Hasky96 2022. 4. 29.

Process

  • 일반적으로 프로세서에 의해 처리되는 사용자 프로그램, 시스템 프로그램 => 실행중인 프로그램
    • PCB를 가진 프로그램
    • 실기억장치에 저장된 프로그램
    • 프로세서가 할당되는 실체 => 디스패치가 가능한 단위
    • 프로시저가 활동중인 것
      • 한 프로그램을 여러 개의 작은 프로그램으로 분할한 것 ( 부 프로그램 )
    • 비동기적 행위를 일으키는 주체
      • 다수의 프로세스가 서로 규칙적이거나 연속이지 않고 독립적으로 실행되는 것
    • 지정된 결과를 얻기 위한 일련의 계통적 동작
    • 목적 또는 결과에 따라 발생되는 사건들의 과정
    • 운영체제가 관리하는 실행단위

PCB(Process Controll Block, 프로세스 제어 블록)

  • 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
  • 각 프로세스가 생성될 때마다 고유의 PCB가 생성
  • 프로세스가 완료되면 PCB제거
  • PCB에 저장된 정보
    • 프로세스의 현재 상태
    • 포인터
      • 부모 프로세스에 대한 포인터
      • 자식 프로세스에 대한 포인터
      • 프로세스가 위치한 메모리에 대한 포인터
      • 할당된 자원에 대한 포인터
    • 프로세스 고유 식별자
    • 스케줄링 및 프로세스의 우선순위
    • CPU 레지스터 정보
    • 주기억장치 관리 정보
    • 입출력 상태 정보
    • 계정 정보

프로세스 상태 전이

  • 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것
  • 프로세스의 상태 전이도

프로세스 상태 전이도

상태 내용
제출(Submit) 작업을 처리하기 위해 사용자가 작업을 시스템에 제출한 상태
접수(Hold) 제출된 작업이 스풀 공간인 디스크의 할당 위치에 저장된 상태
준비(Ready) 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
실행(Run) 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
대기(Wait), 블록(Block) 프로세스에 입출력 처리가 필요하면 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태
종료
(Terminated, Exit)
프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태

 

프로세스 상태 전이 관련 용어

용어 내용
Dispatch 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당받아 실행 상태로 전이되는 과정
Wake Up 입출력 작업이 완료되어 프로세스가 대기 상태에서 준비 상태로 전이 되는 과정
Spooling 입출력장치의 공유 및 상대적으로 느린 입출력장치의 처리 속도를 보완하고 다중 프로그래밍 시스템의 성능을 향상시키기 위해 입출력할 데이터를 직접 입출력장치에 보내지 않고 나중에 한꺼번에 입출력하기 위해 디스크에 저장하는 과정
교통량 제어기
(Traffic Controller)
프로세스의 상태의 대한 조사와 통보 담당

 

스레드(Thread)

  • 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위
  • 프로세스 내에서의 작업 단위
  • 하나의 프로세스에 하나의 스레드가 존재하는 경우에는 단일 스레드, 하나이상의 스레드가 존재하는 경우에는 다중 스레드라고 한다.
  • 프로세스의 일부 특성을 갖고 있기 때문에 경량(Light Weight) 프로세스라고도 한다.
  • 스레드 기반 시스템에서 스레드는 독립적인 스케줄링의 최소단위로서 프로세스의 역할을 담당한다.

 

'CS' 카테고리의 다른 글

인터넷?  (0) 2022.05.02
스케줄링 알고리즘  (0) 2022.05.02
페이지 교체 알고리즘  (0) 2022.04.28
가상기억장치(Virtual Memory) 구현기법  (0) 2022.04.25
기억장치 관리  (0) 2022.04.24