1. 스케줄링 기법 (Scheduling)
ㅇ 처리되어야할 큐(Queue) 형태로 대기하는, 일련의 작업들 중에,
- 우선적으로 어느 작업이 처리되어야 하는가를 결정하는,
- 큐 처리 규칙/기법
ㅇ 例)
- 라우터 등의 장치에서 다음 링크로 보내기 위해 대기중인 패킷을 처리하는 방식
- 멀티태스킹 환경에서 다음에 어느 태스크를 먼저 수행하여야 하는지에 대한 결정
- 여러 사용자에게 무선자원의 효율적 배분 등
2. [라우터 등에서, 패킷 스케줄링]
ㅇ 패킷 스케줄링 주요 기법
- FIFO (선입선처리)
. 선입선출에 의한 큐잉 서비스(처리)
- Fair Queuing (공정 큐잉, FQ)
. 큐들 간에 공평한 서비스 (例, 라운드 로빈 등)
- Priority Queuing (우선순위 큐잉, PQ)
. 각 큐 별로 우선순위를 정하여 큐잉 서비스
- Custom Queuing (맞춤예약 큐잉, CQ)
. 사전에 맞춤예약식으로 큐잉 서비스
- Weighted Fair Queuing (WFQ)
. 큐 마다 가중치를 주어가며 공평성을 살림
- Proportional Fairness (PF)
. 효율성과 형평성을 적절히 trade-off
ㅇ 패킷 스케줄링 시 주요 고려사항 (선택 기준)
- 효율성 (Efficiency), 수율 (Throughput), QoS 지원 (지연, 에러율 등),
공정성 (Fairness), 구현/운용상의 복잡도 (Complexity) 등
ㅇ 할당 대상이 될 수 있는 주요 자원
- 대역폭, 버퍼 공간, CPU 처리 자원 등
ㅇ 시스코社의 IOS에서 큐잉 기법들
- FIFO (디폴트 설정), Priority Queuing, Custom Queuing, Weighted Fair Queuing
3. [무선 이동통신]
※ ☞ 이동통신 스케줄링 참조
- 이동통신 셀 내 여러 사용자에게, 한정된 무선 자원을,
시간/주파수/공간 관점에서 최적으로 할당하는 것
4. [운영체제] CPU 스케줄링
ㅇ 준비 큐에 있는, 다수의 프로세스 중 어느 프로세스에게 CPU 코어를 할당할 것인가를 결정하는 것
ㅇ 여러 CPU 스케줄링 알고리즘들이 존재함
- 선입선처리 스케줄링 (FCFS, First Come First Served Scheduling, 또는 FIFO)
- 최단 작업 우선 스케줄링 (SJF, Shortest Job First Scheduling)
. FIFO 기법보다 평균 대기시간이 감소됨
. 작업 시간이 큰 경우 오랫동안 대기해야 함
- 라운드 로빈 스케줄링 (Round Robin Scheduling)
- 우선순위 스케줄링 (Priority Scheduling)
- 다단계 큐 스케줄링 (Multilevel Queue Scheduling)
- 다단계 피드백 큐 스케줄링 (Multilevel Feedback Queue Scheduling)
ㅇ 스케줄링 알고리즘 선택 기준
- CPU 이용률
- 처리량
- 총 처리 시간
- 대기 시간
- 응답 시간