DevGang

[OS-03] 프로세스 본문

정보처리/OS

[OS-03] 프로세스

별천랑 2021. 2. 7. 16:56

1. 프로세스의 정의

  • PCB를 가진 프로그램
  • 실기억 장치에 저장된 프로그램
  • 프로세서(CPU)가 할당되는 실체
  • 프로시저가 활동 중인 실체
  • 비동기적 행위를 일으키는 주체
  • 운영체제가 관리하는 실행 단위

2. 프로세스 제어 블록(PCB , Process Control Block)

  • PCB는 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
  • 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 종료되면 PCB는 제거됨

- PCB에 저장되어 있는 정보 

  • 프로세스의 현재 상태
  • 프로세스 고유 식별자(PID , Process IDentifier)
  • 스케줄링 및 프로세스의 우선순위
  • 프로그램의 위치
  • CPU 레지스터 정보
    • 누산기(Accumulator)
    • 인덱스 레지스터(Index Register)
    • 프로그램 카운터(PC , Program Counter)
  • 각종 자원의 포인터
    • 부모 프로세스에 대한 포인터
    • 자식 프로세스에 대한 포인터
    • 프로세스가 위치한 메모리에 대한 포인터
    • 할당된 자원에 대한 포인터
  • 주기억장치 관리 정보
  • 입/출력 상태 정보
  • 계정 정보

3. 프로세스의 상태 전이

1) 준비(Ready) 상태

  • 프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태
  • 프로세스는 준비상태 큐에서 실행을 준비

2) 실행(Running) 상태

  • 준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태
  • 프로세스 수행이 완료되기 전에 프로세서에게 주어진 프로세서 할당 시간이 종료되면 프로세스는 준비 상태로 전이
  • 실행 중인 프로세서에 입/출력 처리가 필요하면 실행 중인 프로세스는 대기상태로 전이
  • 준비 상태에서 실행 상태로의 전이는 CPU 스케줄러에 의해 수행

3) 대기(Block) 상태

  • 프로세스에 입/출력이 필요하면 현재 수행 중인 프로세스가 중단되고 대기 상태로 전이
  • 입/출력 처리가 완료되면 대기 상태에서 준비 상태로 전이

※ 프로세스가 자원을 이용하는 작동 순서

  • 요청 - 사용 - 해제

※ 디스패치(dispatch)

  • 준비상태에서 대기하고 있는 프로세스 중 하나가 스케줄링되어 중앙처리장치를 할당받아 실행상태로 전이되는 과정 

'정보처리 > OS' 카테고리의 다른 글

[OS-06] 병행 프로세스&임계구역  (0) 2021.02.07
[OS-05] 스레드&문맥 교환  (0) 2021.02.07
[OS-04] 인터럽트(Interrupt)  (0) 2021.02.07
[OS-02] 시스템 소프트웨어  (0) 2021.02.07
[OS-01] 운영체제 개념 및 종류  (0) 2021.02.07
Comments