-
[SW 정글 62일차] 스케쥴링을 더 알고싶다.기타/SW 사관학교 정글 2021. 10. 4. 03:19
오늘은 어제 공부한 기본적인 스케쥴링 이외에 조금 더 advanced된 스케쥴링을 공부했다.
공부자료로는 three easy pieces를 활용했다.
오늘 정리할 것은 Lottery scheduling이다.
Multi-level Feedback Queue는 내가 종이에 정리한 내용을 사진으로 첨부하려고 한다.
지금 시간도 시간인지라 다시 글로 정리하면 아마 일출을 볼 것같기 때문..
1. Multi-level Feedback Queue
2. Lottery scheduling
어제 정리한 스케쥴링들은 어떻게 하면 최적의 반환 시간을 유지할 수 있을지, 어떻게 하면 최적의 응답 시간을 유지할 수 있을지에 대한 고민을 풀어나가면서 나온 스케쥴링이다.
하지만 Lottery scheduling은 반환 시간이나 응답 시간을 최적화하는 대신 스케쥴러가 각 프로세스(스레드)에게 CPU의 일정 비율을 보장하는 것이 목적인 스케쥴링이다.
즉, 공정성을 유지하기 위한 것이다.
아이디어의 기본 매커니즘은 다음 실행될 프로세스를 추첨을 통해 결정하는 것으로 더 자주 수행되어야 하는 프로세스는 당첨 기회를 더 많이 준다.
- 기본 요소
lottery scheduling의 기본 컨셉은 ticket이라는 것을 사용하는데 ticket은 프로세스 혹은 유저 등이 받아야할 자원의 할당량을 나타낸다.
이렇게 각자 ticket이 주어지면 프로세스가 소유한 티켓의 개수와 전체 티켓에 대한 비율이 자신의 몫을 나타내는 것이다.
조금 더 이해하기 쉽게 예시를 알아보자.
프로세스 A, B, C가 있고 A는 10장의 ticket, B는 40장의 ticket, C는 50장의 ticket을 가지고 있다고 하면 A에게 10%의 CPU를, B에게 40%의 CPU를 Cdprp 50%의 CPU를 할당하는 것이다.
lottery shceduling은 타임 슬라이스가 끝날 때마다 추첨을 진행하여 각 프로세스(스레드)에게 CPU의 일정 비율을 보장하는 것이 목적을 달성한다.
[오늘의 나는 어땠을까?]
오늘은 나를 시험해보기 위해 알람을 맞추지 않고 최대한 피로감이 풀릴 때 까지, 스스로 일어날 때까지 자봤다.
한 6시간을 잔 것같은데 일어날 때 그리 상쾌하지는 않았다.
수면 장애가 있는 건가..
여하튼 일어나서 씻고 강의실에 갔는데 책을 보는데 처음에는 상쾌한 정신으로 집중이 잘됐는데 얼마지나지 않아 졸음이 왔다.
그렇게 집중이 흐트러지기 시작했고 2시에 오신다던 부모님이 일이 생겨서 오는 시간이 점점 늦어지면서 집중이 잘 안됐다.
그러고 5시에 처음으로 정글에서 동료들과 농구를 하고 씻고 밥먹고 나니 9시였고 다시 공부를 시작하려고 했는데 식곤증이 오기 시작해 30분 정도 잤다.
오늘 나를 테스트 해본 결과는 밤잠은 몇 시간이든간에 일과시간에 조는 것은 마찬가지이고 식곤증은 무조건 온다는 것이다.
한가지 차이점은 강의실에 도착하고 책을 보거나 모니터를 보는 첫 시점의 맑은 정신 상태는 수면시간이 긴 것이 더 좋기는 했다.
그래서 결론은 이전처럼 4시간에서 4시간 30분정도 자는 것이다.
몸에 건강 이상반응이 오기 전까지는 이렇게 살며 열심히 노력할 생각이다.
'기타 > SW 사관학교 정글' 카테고리의 다른 글
[SW 정글 63일차] 예외 상황 (0) 2021.10.05 SW 정글 8주차 회고 (0) 2021.10.04 [SW 정글 61일차] Scheduling (스케쥴링) (0) 2021.10.03 [SW 정글 60일차] Pintos Project 1. Priority Inversion 해결하기 (0) 2021.10.01 [SW 정글 58일차] Pintos Project 1. Alarm clock (0) 2021.09.30