본문 바로가기
3학년2학기/임베디드시스템

linux scheduling classes

by hgglife 2019. 10. 15.
Priority name sub
high stop_scheduling class per-cpu stop task
  dl_sched class real time task with deadline
  rt_sched class real time task 
  fair_sched_class time-sharing task
low idle_sched_class per-cpu-idle task

dl_sched class

-(G-EDF)+(CBS)

-데드라인이 빠른 프로그램 먼저 실행함 = G-EDF

-자신에게 주어진 cpu시간을 초과하면 다음 예약주기로 실행이 지연됨

 

rt_sched_class

-각 태스크는 고정 우선순위를 가진다

-매순간 최고 우선순위를 실행한다

-동일한 우선순위가 2개이상인경우

  FIFO - 먼저온것부터 실행한다

  RoundRobin - 현재 있는것을 실행하되 실행하고나서 우선순위를 맨뒤로 보낸다

 

Fair_sched_class

-CFS scheduling 프로세스의 우선비율만큼 실행한다 

-sched_batch : CFS와 같지만 timeslice가 1.5sec로 cpu를 길게 쓴다

 

cpu의 대역폭 할당

-dl_sched_class와 rt_sched_class가 사용하고 남은 cpu시간을 각 task에 가중치에 비례할당한다

-task의 가중치는 (-20~19)nice 값이 결정한다

-nice값이 1 감소할때 1.25배만큼 가중치가 증가한다

  

 nice = 19일때 가중치 15

 nice = -20일때 가중치 88761 

댓글