It is just my opinion, so don't you attack me. please!
But if this posting has some incorrect informations, you comment about that
Please!!
Scheduling
스케줄러의 종류
· 장기 스케줄러
어떤 작업이 시스템에 들어와서 처리 될 것인가?를 결정, 하드디스크로부터 실행될 작업을 메모리로 적재.
· 단기 스케줄러
메모리 내에서 CPU를 어떤 프로세스에게 할당할 것인가?를 결정, 일반적으로 스케줄러라 함은 단기 스케줄러를 말함.
· 중기 스케줄러
Thrashing현상으로 인한 시스템 과부하가 걸릴 때, swapping 해주는 스케줄러.선점형 vs. 비선점형
· 선점형은 강제로 CPU를 회수할 수 있다는 이야기입니다. 우선 순위에 의한 선점, 시분할로 인한 선점을 예로 들 수 있습니다.
· 비선점형은 CPU를 자진 반납할 때까지 기다려주는 스케줄링입니다.스케줄링 알고리즘의 종류
· FCFS - 마치 queue처럼, 선입 선출의 형태로 스케줄링을 합니다.(비선점), 호위 효과가 발생(긴 작업을 짧은 작업들이 기다림)
· SJF - 최단 작업을 우선으로 하는 수행하는 스케줄링입니다. (선점), 차기 CPU요구 시간을 알기 어렵다.
· 우선 순위 - 우선순위를 부여하고 제일 먼저 처리, 같은 경우에는 FCFS로 처리함, 문제점은 기아 상태를 유발한다 하지만 Aging으로 해결이 가능하다.
FCFS
프로세스 | 버스트 시간 | 대기 시간 | 턴어라운드 시간 |
---|---|---|---|
P1 | 24 | 0 | 24 |
P2 | 3 | 24 | 27 |
P3 | 3 | 27 | 30 |
평균 | - | 17 | 27 |
SJF
프로세스 | 버스트 시간 | 턴어라운드 시간 | 대기 시간 |
---|---|---|---|
P1 | 6 | 9 | 3 |
P2 | 8 | 24 | 16 |
P3 | 7 | 16 | 9 |
P4 | 3 | 3 | 0 |
평균 | - | 13 | 7 |
SJF with arrival time
프로세스 | 도착 시간 | 버스트 시간 | 턴어라운드 시간 | 대기 시간 |
---|---|---|---|---|
P1 | 0 | 8 | 8 | 0 |
P2 | 1 | 4 | 11 | 7 |
P3 | 2 | 9 | 24 | 15 |
P4 | 3 | 5 | 14 | 9 |
평균 | - | - | 14.25 | 7.75 |
우선순위 알고리즘
프로세스 | 버스트 시간 | 우선순위[1] | 턴어라운드 시간 | 대기 시간 |
---|---|---|---|---|
P1 | 10 | 3 | 16 | 6 |
P2 | 1 | 1 | 1 | 0 |
P3 | 2 | 4 | 18 | 16 |
P4 | 1 | 5 | 19 | 18 |
P5 | 5 | 2 | 6 | 1 |
평균 | - | - | 12 | 8.2 |
시분할 시스템 & 선점 스케줄링
· 시분할에는 time-slice라는 것이 존재하고, 클럭 인터럽트 처리기에 의해 타임 슬라이스 소진량을 체크함.
· 일반적으로 time-slice는 문맥 교환을 하는데 발생하는 오버헤드를 줄기 위해서 프로세스들의 평균 CPU반환 시간 보다 약간 큰 것이 좋습니다.
· 안정성을 이유로, 프로세스가 커널 모드에 있을 때 프로세스가 대기상태 전이의 이유로 CPU를 스스로 반환하기 이전에는 선점이 일어나지 않습니다.선점형 스케줄링
· 라운드 로빈
FCFS + Time-slice라고 생각하면 됩니다.(단, 우선 순위가 같은 경우에 한해서) 일반적으로 평균 반환시간이 SJF보다 크지만, 반응 시간은 좋습니다.
· 다단계 큐 스케줄링
라운드 로빈과 비슷하지만, 큐가 여러개이고 각 큐마다 다른 성격이 다른 작업들이 들어갑니다.
· 다단계 피드백 큐 스케줄링
가장 일반적인 방법이지만 적용하기 매우 복잡한 판단을 내려야 합니다. 대기 시간, 우선순위를 고려하여 큐를 선택하는 스케줄링 기법입니다.
Round Robin
프로세스 | 도착 시간 | 버스트 시간 | 턴어라운드 시간 | 대기 시간 |
---|---|---|---|---|
P1 | 0 | 5 | 14 | 9 |
P2 | 1 | 3 | 5 | 2 |
P3 | 2 | 8 | 20 | 12 |
P4 | 3 | 6 | 17 | 11 |
평균 | - | - | 14 | 8.5 |