프로세스 스케줄링

hannni·2023년 4월 4일
0
  • 프로세스의 개념
    운영체제가 관리하는 실행의 단위로, 실행중인 프로그램이라고 한다

  • 프로세스 제어 블록(PCB)
    운영체제가 프로세스에 대한 중요한 정보를 저장해 놓을 수 있는 저장 장소

    • PCB에 저장되어 있는 정보
      • 프로세스의 현재 상태
      • 프로세스의 우선 순위
      • CPU 레지스터 정보
      • 할당된 자원에 대한 정보
  • 프로세스 상태 전이

    • Dispatch
      준비 상태 → 실행 상태
    • Block
      실행 상태 → 대기 상태
    • Wake up
      대기 상태 → 준비상태
  • 스레드의 개념
    제어의 흐름을 의미하며 프로세스에서 실행의 개념만을 분리한 것으로 프로세스의 일부 특성을 갖고 있기 때문에 "경량 프로세스"라고도 한다
    프로세스의 구성을 제어의 흐름 부분과 실행 환경 부분으로 나눌 때, 프로세스의 실행 부분을 담당함으로써 실행의 기본 단위가 되는 것이다

  • 프로세스 스케줄링
    프로세스의 생성 및 실행에 필요한 시스템의 자원을 해당 프로세스에 할당하는 작업
    비선점 기법과 선점 기법으로 구분할 수 있다

    • 비선점 스케줄링
      일단 CPU를 할당 받으면 다른 프로세스가 CPU를 강제적으로 빼앗을 수 없는 방식
      • FCFS(First Come First Service)
        준비상태 큐에 도착한 순서대로 CPU를 할당하는 기법
      • SJF(Short Job First)
        준비상태 큐에서 대기하는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
        평균 대기 시간을 최소화 함
      • HRN(Highest Reponse-ratio Next)
        어떤 작업이 서비스 받을 시간과 그 작업이 서비스를 기다린 시간으로 결정되는 우선순위에 따라 CPU를 할당하는 기법
    • 선점 스케줄링
      한 프로세스가 CPU를를 할당받아 실행 중이더라도 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗을 수 있는 방식
      • SRT(Shortest Pemaining Time)
        실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행시간을 비교하여 실행 시간이 더 짧은 프로세스에게 CPU를 할당하는 기법
      • RR(Round Robin)
        주어진 시간 할당량 안에 작업을 마치지 않으면 준비완료 리스트릐 가장 뒤로 배치되는 기법
      • 다단계 큐(MQ)
      • 다단계 피드백 큐(MFQ)
  • 교착 상태
    상호 배제에 의해 나타나는 문제점으로 두 개 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상

    • 교착 상태의 발생 조건
      • 상호 배제
        한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 한다
      • 점유 및 대기
        이미 자원을 가진 프로세스가 다른 자원의 할당을 요구한다
      • 비선점
        프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없다
      • 환형 대기
        이미 자원을 가진 프로세스가 앞이나 뒤의 프로세스의 자원을 요구한다

0개의 댓글