게으른 개발자

5강-3. CPU Scheduling 3 본문

cs/운영체제

5강-3. CPU Scheduling 3

Tomato_Coffee 2023. 11. 4. 17:05

라운드 로빈


출처 공룡책

 

  • Fixed priority scheduling
    • foreground 일을 전부 처리 후에 background 일을 처리함
      • 그러나 starvation 가 발생할 수 있다.

 

 

  • 처음 들어오는 프로세스는 우선순위가 가장 높은 큐에 집어넣음. 
    • 그러나 time quantum이 짧음
  • 할당 시간내 다 못 끝내면 아래 단계의 우선순위로 강등이 된다.
    • quantum = 8  ---> quantum = 16 -----> FCFS
  • 큐간의 우선순위에서 위에 순위의 큐가 비었을 때만 밑에 순위 큐를 처리한다.
  • 이 방식은 cpu 사용시간이 짧은 프로세스에게 우선순위를 많이 주는 방식이다.

 


homogeneous processor 

  • 만약에 특정 프로세서(cpu)에서 수행되어야 하는 프로세스(프로그램)가 있는 경우 경우에는 문제가 더 복잡해짐.

Symmetiric Multiprocessing : cpu가 서로 대등한 관계

Asymmetric multiprocessing : 하나의 cpu가 데이터의 접근, 공유 책임지고 나머지 cpu는 거기에 따름.

 

Real Time Scheduling : deadline을 보장하는 스케줄링.

미리 스케줄링(오프라인에서 스케줄링을 한다)을 해놔서 job을 배치한다.

soft real time 은 꼭 데드라인을 보장하지 못한다.

 


그림에서 server를 cpu로 생각하자.

  • 큐잉 모델 
    • 도착률, 처리율 를 통해서 성능을 계산한다.
  • 구현&성능 측정
    • ex) 리눅스 커널을 수정해서 수정 안 한 컴퓨터와 비교한다.
    • 이 방법은 어려운 방법이다.
  • 모의 실험
    • 모의 프로그램으로 작성해서 실험한다.
    • trace 란 시뮬레이션 프로그램에 input으로 들어갈 데이터를 의미한다.
      • trace는 임의로 만들 수 도 있고, 실제 프로그램을 돌려서 데이터를 뽑아 만들 수 있다.

'cs > 운영체제' 카테고리의 다른 글

6강-2. Process Synchronization 2  (0) 2023.11.05
6강-1. Process Synchronization 1  (0) 2023.11.04
5강-2. CPU Scheduling 2  (1) 2023.11.04
5강-1. CPU Scheduling1  (0) 2023.11.03
4강-2. Process Management 2  (0) 2023.11.03