자격증/IT / / 2021. 4. 22. 16:48

정보처리산업기사(필기) - 운영체제 : 프로세스 관리 (프로세스의 개요, 스케줄링)

728x90
반응형

프로세스

  • 프로세스(Process) : 프로세서(처리기, CPU)에 의해 처리되는 프로그램, 각종 자원을 요구
  • 정의
    - 실행중인 프로그램, PCB를 가진 프로그램, 실기억 장치에 저장된 프로그램

    - 프로세서가 할당되는 실체, 프로시저가 활동중인 것

    - 비동기적 행위를 일으키는 주체, 지정된 결과를 얻기 위한 일련의 계통적 동작

    - 목적 또는 결과에 따라 발생되는 사건들의 과정

    - 프로세서가 할당하는 개체로서 디스패치가 가능한 단위

PCB(Process Control Block)

  • PCB : 프로세스에 대한 중요 정보 저장. 프로세스 생성 시 PCB가 생성되고, 프로세스 완료 시 제거
  • PCB에 저장된 정보 :
    - 프로세스 현재 상태
    - 포인터(부모 프로세스, 자식 프로세스, 프로세스 위치 메모리, 할당 자원)
    - 프로세스 고유 식별자
    - 스케줄링 및 프로세스 우선순위
    - CPU 레지스터 정보
    - 주기억장치 관리 정보
    - 입출력 상태 정보
    - 계정 정보

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

스레드(Thread)

  • 프로세스 병행성 증대를 위한 매커니즘. 시스템의 여러 자원을 할당받아 실행하는 프로그램 단위
  • 독립 스케줄 최소단위. 동일 프로세스 환경에서 독립적 다중 수행이 가능
  • 하나의 프로세스에 하나의 스레드가 존재하면 단일 스레드, 하나 이상의스레드가 존재하면 다중 스레드라 함
  • 프로세스의 일부 특성을 가지므로 경량(Light Weight) 프로세스 라고도 함
  • 스레드의 분류
   
사용자 수준의
스레드
 - 사용자의 라이브러리를 사용하여 스레드 운용
 - 속도는 빠르나 구현이 어려움
커널 수준의
스레드
 - 운영체제 커널에 의해 스레드 운용
 - 구현은 쉽지만 속도가 느림
  • 스레드 사용 장점
    - 병행성 증진

    - 하드웨어, 운영체제의 성능과 처리율 향상

    - 프로그램 응답 시간(Response Time)을 단축

    - 기억장소 및 자원 낭비 감소

    - 공통 접근 기억장치로 효율적 통신

프로세스의 주요 상태

   
준비(Ready)  프로세서 할당을 기다리는 상태
실행(Run)  - 프로세서를 할당받아 실행하는 상태
 - 프로세스에 주어진 프로세스 할당 시간이 종료(Time Run Out)되면 프로세스는 준비 상태로 전이
 - 실행중 프로세스에 입출력(I/O) 처리가 필요하면 프로세스는 대기 상태로 전이
대기(Wait),
보류,
블록(Block)
 입출력 요구 발생으로 실행중 프로세스가 입출력의 완료까지 대기하는 상태

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

   
Dispatch  준비 상태로 대기하는 프로세스가 프로세서를 할당받아 실행 상태로 전이
Wake-Up  입출력 작업이 완료로 프로세스가 대기 상태에서 준비 상태로 전이

스케줄링 / 문맥 교환

  • 스케줄링 정의 : 시스템 여러 자원을 해당 프로세스에 할당
  • 스케줄링 목적 :
    - 공정성, 처리율 증가
    - CPU이용률 증가
    - 우선순위 제도
    - 오버헤드 최소화
    - 응답 시간 최소화
    - 반환 시간 최소화
    - 대기 시간 최소화
    - 균형 있는 자원 사용
    - 무한 연기 회피
  • 문맥 교환(Context Switching) : 다른 프로세스로 CPU 할당시 프로세스의 상태 정보를 저장하고 설정 후 CPU할 당으로 실행하는 작업. Overhead의 발생 요인 중 하나

프로세서 스케줄링의 종류

   
비선점
(Non-Preemptive)
스케줄링
 - 할당된 CPU를 다른 프로세스가 강제로 빼앗아 쓸 수 없음
 - CPU 할당시 프로세스 완료까지 CPU를 사용
 - 모든 프로세스에 대한 요구 공정히 처리 가능
 - 일괄 처리 방식에 적합
 - 응답 시간 예측 용이
 - 종류 : FCFS(FIFO), SJF, 우선순위, HRN, 기한부 등
선점
(Preemptive)
스케줄링
 - 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있음
 - 우선순위가 높은 프로세스를 빠르게 처리
 - 빠른 응답시간 요구의 대화식 시분할 시스템에 사용
 - 선점으로 오버헤드 다수 초래
 - 선점을 위한 인터럽트용 타이머 클럭(Clock)이 필요
 - 종류 : SRT, 선점 우선순위, RR(Round Robin), 다단계 큐, 다단계 피드백 큐 등 알고리즘
   

 

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유