프로세스 관리

ㅅㅇㄱ·2024년 9월 27일

CS

목록 보기
2/19

개념정리

  • 자원: 컴퓨터에서 사용될 수 있는 요소. 하드웨서, 소프트웨어, 데이터 자원 등
  • 프로그램: 컴퓨터에서 실행될 때 특정 작업을 수행하는 일련의 명령어들의 모음
  • 프로세스: 실행되기 위해 주기억 장치로 옮게진 프로그램. ⇒ 실행중인 프로그램
  • 프로세서: 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행, 처리하는 가장 핵심적인 제어 장치
  • 프로세서 제어 블록(PCB): 프로세스의 중요한 정보를 포함하는 운영 체제 커널의 자료구조
  • 스케줄링(scheduling): 다중 프로그래밍을 가능케 하는 운영체제의 동작기법
  • 교착 상태(Deadlock): 두 개 이상의 작업이 서로 끝나기를 기다리고 있어서 결과적으로 아무것도 완료되지 못하는 상태
  • 준비 큐: 프로세스가 CPU를 할당받기위해 대기함

내용정리

  • 프로세스 상태
    • 생성(new): 프로세스가 생성 중임. 생성된 프로세스는 준비 큐에 등록됨.

    • 준비(ready): 프로세스가 CPU에 할당되기를 기다림. 준비 큐에 연결된 상태.

    • 실행(running): 명령어(코드)들이 실행되고 있음.

    • 대기(waiting): 프로세스가 I/O(입출력)을 위해 대기하는 상태. 준비 큐로 돌아가지 않고 대기.

    • 종료(terminated): 프로세스의 실행이 종료

      ※ 준비 큐로 돌아가는 상태는?

      할당된 시간을 모두 소진한 경우 돌아감 → 준비 큐에서 CPU를 할당받기 위해 또 기다림(실행→준비)

      입/출력이 완료될 경우 준비 큐로 돌아감(대기→준비)

프로세스 스케줄링

준비 상태의 프로세스 중 먼지 실행상태가 될 프로세스를 결정하는 것.

FCFS(First Come First Server) 스케줄링

먼저 요청한 프로세스를 먼저 처리하는 방식

  1. 자원의 효율성을 높임
  2. 일괄 처리 시스템(한꺼번에 모아서 처리하는 시스템)에 적합
  3. 프로세서를 장시간 독점하는 경우 다른 프로세스들이 오래 기다려야 함
  4. 우선순위가 높은 프로세스를 빨리 처리하지 못할 수도 있음

SJF(Shortest Job First) 스케줄링

실행시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

  1. 가장 적은 평균대기 시간을 제공
  2. 실행시간이 긴 프로세스는 순위가 밀려 무한 연기 상태가 될 수 있음(=기아상태 유발)

HRN(Highest Response-ratio Next) 스케줄링:

실행 시간이 긴 프로세스에게 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 실행 시간을 이용

  1. SJF의 단점을 보완

RR(Round Robin)스케줄링

기본적으로 FCFS와 동일하지만 시간 할당향 동안만 실행하는 기법

  1. 시분할 시스템을 위해 고안된 방식
  2. 할당되는 시간이 매우 클 경우 FCFS와 동일
  3. 할당되는 시간이 매우 작을 경우 오버헤드가 발생

우선순위(Priority) 스케줄링

  1. 우선순위 가 동일할 경우 FCFS기법으로 CPU를 할당.
  2. 낮은 순위를 부여 받는 프로세스는 무한 연기 또는 기아 생태가 발생 할 수 있음.

선점: 실행중인 프로세스를 중간에 뺏을 수 있다

비선점: 그거 안됨

0개의 댓글