반응형

프로세스 스케줄링 개념

CPU를 사용하려고 하는 프로세스의 우선순위를 관리하는 작업

처리율과 CPU이용률을 증가시키고 오버헤드, 응답시간, 반환시간, 대기시간을 최소화시키기 위한 기법

프로세스 스케줄링 주요 용어

  • 서비스 시간 : 프로세스가 결과를 산출하기 까지 소요되는 시간
  • 응답시간 : 프로세스들이 입력되어 서비스를 요청하고 반응하기 시작할 때까지 소요되는 시간
  • 대기시간 : 프로세스가 프로세서에 할당되기까지 큐에서 대기하는 시간(반환시간 - 서비스 시간)
  • 반환시간 : 대기시간 + 수행시간(종료 시간 - 도착 시간)
  • 종료 시간 : 요구되는 Processing time을 모두 수행하고 종료된 시간
  • 시간 할당량 : 한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스되는 시간 할당량
  • 응답률 : (대기시간 + 서비스 시간) / 서비스 시간

프로세스 스케줄링 유형

  • 선점형 스케줄링 : 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식
    • 장점 : 빠른 응답, 시분할 시스템에 적합
    • 단점 : 높은 우선순위 프로세스들이 들어오는 경우 오버헤드 초래
    • 알고리즘 : SRT, 다단계 큐, 다단계 피드백 큐, 라운드 로빈
  • 비선점형 스케줄링 : 한 프로세스가 CPU를 할당 받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링 방식
    • 장점 : 응답시간 예산이 용이, 모든 프로세스에 대한 요구를 공정하게 처리
    • 단점 : 짧은 작업을 수행하는 프로세스가 긴 작업 종료 시까지 대기
    • 알고리즘 : 우선순위, 기한부, HRN, FCFS, SJF

프로세스 스케줄링 알고리즘

  • 선점형 스케줄링
    • SRT : 남은 처리 시간이 짧은 프로세스를 먼저 수행
    • 다단계 큐(MLQ) : 작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위 단계 작업에 의한 하위 단계 작업이 선점
    • 다단계 피드백 큐(MLFQ) : 큐마다 서로 다른 CPU 할당량 부여
    • 라운드 로빈 : 프로세스는 같은 크기의 CPU 시간을 할당, 할당된 시간 내에 처리가 안될 시 준비 큐 리스트 가장 뒤로
  • 비선점형 스케줄링
    • 우선순위 : 각 프로세스 별로 우선순위가 주어지고 우선순위에 따라 CPU 할당, 동일 순위는 FIFO
    • 기한부(Deadline) : 작업들이 명시된 시간 내에 완료되도록 계획
    • FCFS : FIFO
    • SJF : 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 자원 점유, 기아 현상 발생 가능
    • HRN : 응답률이 높을수록 높은 우선순위, 기아 현상 최소화
반응형

'CS > OS' 카테고리의 다른 글

5. 교착상태(Deadlock)  (0) 2023.11.19
3. 프로세스  (0) 2023.11.09
2. 메모리 관리  (0) 2023.11.08
1. 운영체제  (0) 2023.11.07

+ Recent posts