프로세스 관리

jm·2022년 11월 30일
1

OS

목록 보기
2/13

Job(Program+data) vs Process

  • 작업
    • 실행할 프로그램 + 데이터
    • 컴퓨터 시스템에 실행 요청 전의 상태
  • 프로세스
    • 실행을 위해 시스템(커널)에 등록된 작업(메모리에 할당됨)
    • 시스템 성능 향상을 위해 커널에 의해 관리 됨

프로세스의 정의

  • 실행중인 프로그램
    • 커널에 등록되고 커널의 관리하에 있는 작업
    • 각종 자원들을 요청하고 할당 받을 수 있는 개체
    • 프로세스 관리 블록(PCB)을 할당 받은 개체
    • 능동적인 개체 (실행 중에 각종 자원 요구, 할당, 반납)

♦ 자원(Resource)의 개념

  • 커널의 관리하에 프로세스에게 할당/반납 되는 수동적 개체
  • 자원의 분류
    • H/W 자원 : Processor, memory, disk, monitor 등
    • S/W : Message, signal, file 등

Process Control Block (PCB)

  • OS가 프로세스 관리에 필요한 정보저장
  • 프로세스 생성 시 같이 생성됨
  • 관리정보
    • pid, 스케줄링정보, 상태, 메모리관리정보, 입출력상태정보, 문맥저장정보, 계정정보
  • PCB 정보는 OS 별로 서로 다름
  • PCB 참조 및 갱신 속도는 OS의 성능을 결정짓는 중요한 요소 중 하나

프로세스의 상태

  • 프로세스 - 자원 간의 상호작용에 의해 결정

생성 Created Sate

  • 작업을 커널에 등록
  • PCB할당 및 프로세스 생성
  • 커널
    • 가용 메머리 공간 체크 및 프로세스 상태 전이

준비 Ready Sate

  • 프로세서 외에 다른 모든 자원을 할당 받은 상태
    • 프로세서 할당 대기 상태
    • 즉시 실행 가능 상태
  • Dispatch(or Schedule)
    • ReadyState -> Running state

실행 Running State

  • 프로세서와 필요한 자원을 모두 할당 받은 상태
  • Preemption
    • 프로세서를 뺏겨서 쫓기는 경우 (할당된 시간이 끝난 경우)
  • Block/sleep
    • Running State -> asleep State
    • I/O 등 자원 할당 요청 (잠시 기다리는 상태)

대기 상태 Blocked/Asleep State

  • 프로세서 외에 다른 자원을 기다리는 상태
    • 자원 할당은 System call에 의해 이루어짐
  • Wake-up
    • AsleepState -> ready State

지연 상태 Suspended State

  • 메모리를 할당 받지 못한(뺏긴) 상태
    • 현재상태(memory image)를 swapdevice에 저장했다가 복구
  • Swap-out(suspended), Swap-in(Resume)

Terminated/Zombie State

  • 프로세스 수행이 끝난 상태
  • 모든 자원 반납 후, 커널에 일부 PCB 정보만 남아있는 상태

도리의 디지털라이프 : 프로세스 상태 전이도
https://youtu.be/EdTtGv9w2sA [Course] Operating System (CPA310) - 운영체제 강의. HPC Lab. KOREATECH

profile
ㅎㅎ

0개의 댓글