cs/운영체제
5강-3. CPU Scheduling 3
Tomato_Coffee
2023. 11. 4. 17:05
라운드 로빈
- Fixed priority scheduling
- foreground 일을 전부 처리 후에 background 일을 처리함
- 그러나 starvation 가 발생할 수 있다.
- foreground 일을 전부 처리 후에 background 일을 처리함
- 처음 들어오는 프로세스는 우선순위가 가장 높은 큐에 집어넣음.
- 그러나 time quantum이 짧음
- 할당 시간내 다 못 끝내면 아래 단계의 우선순위로 강등이 된다.
- quantum = 8 ---> quantum = 16 -----> FCFS
- 큐간의 우선순위에서 위에 순위의 큐가 비었을 때만 밑에 순위 큐를 처리한다.
- 이 방식은 cpu 사용시간이 짧은 프로세스에게 우선순위를 많이 주는 방식이다.
homogeneous processor
- 만약에 특정 프로세서(cpu)에서 수행되어야 하는 프로세스(프로그램)가 있는 경우 경우에는 문제가 더 복잡해짐.
Symmetiric Multiprocessing : cpu가 서로 대등한 관계
Asymmetric multiprocessing : 하나의 cpu가 데이터의 접근, 공유 책임지고 나머지 cpu는 거기에 따름.
미리 스케줄링(오프라인에서 스케줄링을 한다)을 해놔서 job을 배치한다.
soft real time 은 꼭 데드라인을 보장하지 못한다.
- 큐잉 모델
- 도착률, 처리율 를 통해서 성능을 계산한다.
- 구현&성능 측정
- ex) 리눅스 커널을 수정해서 수정 안 한 컴퓨터와 비교한다.
- 이 방법은 어려운 방법이다.
- 모의 실험
- 모의 프로그램으로 작성해서 실험한다.
- trace 란 시뮬레이션 프로그램에 input으로 들어갈 데이터를 의미한다.
- trace는 임의로 만들 수 도 있고, 실제 프로그램을 돌려서 데이터를 뽑아 만들 수 있다.