2023.03.16 - 망각하고 있던 OS술사의 직책, Scheduling이 무엇인지 알아보자
최지원2023. 3. 16. 23:16안녕하세요, 여태까지 저의 직책을 잘못 알고 있었던 OS술사 최지원입니다.
제가 계획서에서 호기롭게 운영체제를 마스터한다고 다짐한지 얼마 지나지도 않았는데
여태까지 블록체인술사로 잘못 알고 있었습니다.
그래서 첫 번째 모각코 블로그 포스팅도 이더리움 네트워크에 대해서 썼는데...
OS술사를 기대하셨던 모두에게 먼저 사과 인사 올립니다 (_ _)
요새 X브리X임에서 운영체제가 그렇게 핫 하더라구요.
하 지 만
.
.
.
이미 마세라티 허의 CPP와 산학 협력프로젝트에서 단련된 저는 무섭지 않습니다.
그런데 제가 까먹고 패드를 집에 두고 와서 급한대로 교양 교재에 끄적끄적 적어두면서
자체적 운영체제 난이도 UP
그래도 OS술사라면 할 수 있을 겁니다. 해야만하구요.
Scheduling(스케줄링)이란?
- 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원들을 해당 프로세스에게 할당하는 작업
- 프로세스의 상태가 Ready인 것들 중, 평가 항목에 따라 해당 프로세스에게 CPU를 할당하는 작업
스케줄링에 대한 두 번째 정의에서 Ready인 것들로 한정 지은 이유는, 프로세스의 상태가 Blocked인 아이들은 CPU를 줘도 당장 Running으로 넘어갈 수 없는 아이들이기 때문에 스케줄링의 고려 대상에서 빠졌다고 생각하시면 됩니다.
반면에, Ready 상태를 가진 프로세스들은 CPU 할당만 받게 되면 곧바로 Running으로 상태가 변하게 됐었죠?
그러면 운영체제에서 이 스케줄링 작업을 어떻게 효율적으로 처리할 수 있으며, 그 기준을 정할 수 있을까요?
이와 관련된 개념으로 Scheduling Metrics, 스케줄링 평가항목이 있습니다.
Scheduling Metrics(평가 항목)은 무엇일까
스케줄링 알고리즘에 대한 성능을 평가하기 위한 지표로 Turnaround Time, Response Time, Fariness가 있습니다.
각 지표에 대하여 간단한 설명을 하면 다음과 같습니다.
Turnaround Time (반환 시간) - 도착 후, 프로세스가 끝나는 것까지 소요되는 시간
Response Time (반응 시간) - 도착 후, 처음으로 스케줄링(CPU를 할당받는)되는 것까지 소요되는 시간
Fairness (공정성)
스케줄링 알고리즘을 평가하기 위한 지표가 있으면
당연히, 스케줄링 알고리즘들도 있겠죠? Set Pool에서 Memory로 올라갈 때 사용되는 여러 자료 구조가 있답니다.
Scheduling 알고리즘
1. FIFO - First In First Out의 약자로 순서대로 스케줄링을 하게 됩니다. 선입선출이라고 말할 수 있겠죠?
2. SJF - Short Job First의 약자로 Job(=Process)의 길이가 짧은 것 먼저 처리를 하는 알고리즘입니다. 하지만 Job들의 길이를 먼저 알아야 하는 것이 현실적으로 불가능하다는 점을 분명히 짚어두어야 합니다.
3. STCF - Shortest Time Completion First의 약자로 프로세스가 끝나기까지 남은 시간이 짧은 것부터 먼저 스케줄링하는 방식입니다. SJF와 유사하며, 차이점은 Running 상태의 프로세스도 고려한다는 점이 있겠습니다.
4. RR - Round Robin의 약자로 Time Out 개념이 사용되는 알고리즘입니다. 시간을 정해두고 그 시간 동안 프로세스에게 CPU를 할당한 뒤, 시간이 초과되면 다음 프로세스에게 CPU를 넘기고 다시 맨 뒤로 돌아가 대기하는 방식이죠. 반응 시간의 평가 항목에서 유리하다는 특징을 가집니다.
'최지원' 카테고리의 다른 글
2023.04.13 - 찾아온 영업 종료의 위기 (부제: Paging) (2) | 2023.04.14 |
---|---|
2023.04.06 - 계세요? (1) | 2023.04.06 |
2023.03.30 - OS술사의 귀환. . . 과 문제의 그놈 MLFQ (5) | 2023.03.31 |
2023.03.23 - 반려고래 Docker 분양합니다 (4) | 2023.03.22 |
2023.03.09 -「 21세기 곰눈알 붙이기 」, faucet 소개 드립니다. (Goeril) (4) | 2023.03.10 |