리눅스데브코스 [10주차 - 3]<CFS 스케줄러>

심우열·2023년 6월 15일
0

1. 싱글 CPU 시스템

  • 싱글 CPU 시스템의 CFS는 매우 심플

1. CFS Schedular의 철학

  • 고정된 시간 간격에 시스템의 각 스레드가 적어도 한 번은 실행

2. 고정된 시간 간격을 스레드의 가중치(thread's weights)로 나눈다.

  • 이것을 타임 슬라이스라고 부름
  • Time slice = period/ weights rate
  • 타임 슬라이스를 각 스레드에 배분

2. CFS 타임 슬라이스

  • Completely Fair Schedular

1. 가중치에 비례해서, 태스크에 CPU 시간 제공

  • time slice = (Weight of task/Total Weight) * period

1. period

  • 런큐의 task 수를 보고 가변적으로 변하는 값

2. Total weight

  • 런큐에 있는 태스크들의 가중치 합

3. Nice value와 태스크 우선순위

1. Non-real-time 우선순위

  • Nice value(-20 ~ 19, default 0)
    -> 위 그림의 120
  • 큰 Nice value값은 낮은 우선순위에 해당

2. Real-time 우선순위

  • 우선순위 범위: 0~99
  • real-time 태스크를 위한 우선순위
    -> SCHED_FIFO, SCHED_RR
  • 낮은 value는 높은 우선순위에 해당
profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글