프로세스 스케줄링 개념
- CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 작업
- 처리율, CPU 이용률 증가시키고,
- 오버헤드, 응답시간(반환시간), 대기시간을 최소화시키기 위한 기법
- 특정 프로세스가 적합하게 실행되도록, 프로세스 스케줄링에 의해 프로세스 사이에서 CPU 교체가 일어남
- 스케줄러의 유형에는 장기, 중기, 단기 스케줄러가 있다.
프로세스 스케줄링 주요 용어
용어 |
설명 |
서비스 시간 |
- 프로세스가 결과를 산출하기까지 소요되는 시간 |
응답시간 (반환시간) |
- Response Time or Turnaround Time - 프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간 - 응답시간 = 대기시간 + 수행시간 |
평균 응답시간 (평균 반환시간) |
- 대기 큐의 프로세스가 결과를 산출하기까지 소요되는 시간의 평균 |
대기시간 |
- 프로세스가 프로세서에 할당 대기까지 큐에 대기하는 시간 - 프로세스가 도착 즉시 프로세서에 할당되면, 대기시간은 0이 됨 |
평균 대기시간 |
- 프로세스가 대기 큐에서 대기하는 평균 시간 - 대기시간이 0인 프로세스도 평균 대기시간에 합산하여 결과 도출 |
종료시간 |
- 요구되는 Processing time을 모두 수행하고 종료된 시간 |
시간 할당량 (Time Quantum or Time Slice) |
- 한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스되는 시간 할당량 |
응답률 |
- (대기시간 + 서비스시간) / 서비스시간 - HRN(Highest Response ratio Next) 스케줄링에서 사용 - HRN 스케줄에서 응답률이 높으면 우선순위가 높다고 판단함 |
프로세스 스케줄링 유형
1) 선점형 스케줄링 (Preemptive Scheduling)
2) 비선점형 스케줄링 (Non Preemptive Scheduling)
구분 |
선점형 스케줄링 |
비선점형 스케줄링 |
개념 |
- 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식 |
- 한 프로세스가 CPU를 할당받으면, 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링 방식 |
장점 |
- 비교적 빠른 응답 - 대화식 시분할 시스템에 적합 |
- 응답시간 예상 용이 - 모든 프로세스에 대한 요구를 공정하게 처리 |
단점 |
- 높은 우선순위 프로세스들이 들어오는 경우, 오버헤드 초래함 |
- 짧은 작업을 수행하는 프로세스가 긴 작업 종료 시까지 대기해야함 |
알고리즘 |
- 라운드 로빈 - SRT - 다단계 큐 - 다단계 피드백 큐 |
- 우선순위 - 기한부 - FCFS - HRN - SJF |
활용 |
- 실시간 응답 환경 - Deadline 응답 환경 |
- 처리시간 편차가 적은 특정 프로세스 환경 |
출처 : 수제비 정보처리기사 실기책
'📁 정보처리기사' 카테고리의 다른 글
[가상화] 가상화의 개념, 종류와 기술요소 (0) | 2021.04.04 |
---|---|
[운영체제/OS] 프로세스 스케줄링 알고리즘 (0) | 2021.04.04 |
[운영체제/OS] 프로세스 관리 (0) | 2021.04.03 |
[운영체제/OS] 메모리 관리 기법 (0) | 2021.04.03 |
[운영체제/OS] 운영체제 핵심 기능 (0) | 2021.04.03 |