OS arrangement for test - scheduling
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 |
Leave OS arrangement for test - scheduling to:
Read more #operating-system posts
Best Posts From already
We have not curated any of lineplus's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From already
- Web server and Application server
- docker commands in mac for beginner
- Apply AWS HTTPS(secure http) for EC2
- Why need Annotation in Java?
- What is MVC pattern in JSP?
- What is JVM in JAVA?
- Basic Sorting Algorithms
- Javascript and Node.Js based on Javascript V8 Engine
- Computer Network(Top-down) - Data-Link Layer
- Computer Network(Top-down) - Network Layer
- Computer Network(Top-down) - Transport Layer
- Computer Network(Top-down) - Application Layer
- Computer Network(Top-down) - packet switching and circuit switching
- OS arrangement for test - process & thread
- OS arrangement for test - Cooperating process and Synchronization (2)
- OS arrangement for test - Cooperating process and Synchronization (1)
- OS arrangement for test - scheduling
- OS arrangement for test - process
- OS arrangement for test - 컴퓨터와 OS연계
- OS arrangement for test - 일괄처리 vs 다중처리