오늘은 학원에 가서 자습을 했습니다.
오전엔 유튜버 흥달쌤에 들어가서
프로세스 스케쥴링에 대한 영상들을 보면서 웜업을 했습니다.
이후에 한 것들은 거의 잡설이라
오늘은 이 얘기만 짧게 해보겠습니다.
프로세스 스케쥴링이란 말 그대로,
일거리가 들어오는 걸 어떤식으로 진행할지
조정(스케쥴링)해주는 것입니다.
소속사가 아이돌의 스케쥴을 관리하는 것도
스케쥴링이라고 하듯이 같은 뜻입니다.
프로세스 스케쥴링에는
크게 선점형과 비선점형이 있는데,
이것도 간단하게 단어뜻과 일치시켜서 이해하면 됩니다.
선점형은 서로 선점하겠다고 싸우는 거고,
"비"선점형은 앞서 진행되고 있는게 있으면
그 다음 순서는 끝날때까지 기다렸다 진행하는 것입니다.
선점형의 종류에는,
RR(라운드로빈)
SRT(Shortest Remaing Time)
MLQ(Multi Level Queue)
MFQ(Multi Level Feedback Queue)
비선점형은,
FCFS(First Come First Service)
SJF(Shortest Job First)
HRN(Highest Response-ratio Next)
기한부
우선순위
이런식으로 있고,
종류는 꼭 알아둬야 한다고 강조하셨습니다.
그럼 강의에서 알려준 것에 대해서만
간략하게 적어보겠습니다.
먼저 SRT는 단어의 뜻 그대로
최단잔여시간이 먼저 진행하는 것입니다.
예를들어,
a,b,c 가 순서대로 오고 있고,
a가 먼저 들어와서 진행하고 있어도,
다음순서인 b가 도착했을때,
a보다 b의 남은 일거리가 적으면 b먼저 진행하고,
a는 보류시키는 것입니다.
헌데, b가 일하는 와중에 c가 도착을 했고,
c의 일감이 b의 남은 일감보다 또한 작다면
b는 멈추고 c가 진행하는 것이고,
그렇지 않고 만약 b의 일감이 c보다 적다면,
b를 먼저 마무리지은 후에
그 다음 a와 c를 비교해서 일감이 적게 남은
순서대로 진행하는 것입니다.
예)
A : 일감 5, 도착시간 0
B : 일감 3, 도착시간 1
C : 일감 1, 도착시간 2
일의 타임라인 순서.
선점자 A B C B B A A A A
남은일감 4 2 0 1 0 3 2 1 0
타임라인 0ㅡ1ㅡ2ㅡ3ㅡ4ㅡ5ㅡ6ㅡ7ㅡ8
다음은, FCFS 를 적어보겠습니다.
단어 그대로 먼저 오면 먼저 일하는 것인데,
비선점형이기 때문에,
그냥 누가 먼저 오나만 보면 됩니다.
다만, 위의 SRT도 그렇겠지만
이 개념들을 문제로 내게 되면
보통 순서와 일의 시간이 주어집니다.
그리고 질문은 평균수행시간. 이라던지,
평균 대기시간. 이런것들을 물어봅니다.
그러니까 FCFS에서는
QWER 의 순서대로 실행을 한다 치고,
실행에 걸리는 시간이 qwer이라고 치면,
Q는 대기시간 0 (zero),
W는 대기시간 q,
E는 대기시간 w,
R은 대기시간 e 가 됩니다.
제 설명솜씨로도 지나치게 쉬운것 같습니다.
자 그다음, SJF 도 쉽습니다.
SRT랑 같은데 선점만 안한다 생각하시면 됩니다.
먼저 도착한 A가 있다면,
A 다 할때까지 놔두고,
그동안에 만약 B와 C가 둘 다 도착했다면,
둘 중에 일감 적은 순으로 하는 것입니다. 설명끝
마지막으로, HRN 은 선생님이 경로우대사상
이라고 우스갯소리로 말씀하셨는데,
실행시간 대비 대기시간이 길면 먼저 진행합니다.
쉽게 말해, "대기시간 / 실행시간" 해서
숫자가 크면 먼저합니다.
이 개념은 보통 순서를 정해주지 않고,
순서를 맞히라고 문제가 나옵니다.
예) 실행시간 | 대기시간
A : 2 | 8
B : 3 | 9
C : 1 | 5
이런식으로 예문이 주어지고
실행 순서 맞히라고 하면, C-A-B 입니다.
이로써, 강의에 나온 개념은 다 적어봤습니다.
이 밑으론 오후에 한 공부와, 잡설입니다.
오후에는 문제도 풀고,
다음주 토론 때 뭘 할지 찾아보기도 했습니다.
분명 쉬지 않고 했음에도 돌이켜 보니
결과가 별 거 없는것 같아서 의아하지만,
아마 주중에 못했던 사적인 카톡들도 좀 하고,
공부 외적으로 필요한 것들을 해결하느라
상대적으로 결과량이 적었지 싶습니다.
저녁에는 집에와서 짐을 풀고, 나가서 달리기를 했습니다.
비가와서 너무 힘들었고 그 탓에 많이 뛰진 못했습니다.
아래는 제가 오늘 한 것들 기록 사진입니다.
ps. 달리기만 했는데 칼로리 소모가 저렇게 되다니,
밥 한공기에 350칼로리라던데,
도대체 저는 밥을 얼마나 먹어야 할까요...
'개발자 과정 기록 및 일기' 카테고리의 다른 글
중앙정보기술인재개발원 개발자 과정 20일차 기록입니다. (0) | 2024.02.27 |
---|---|
오늘의 기록입니다. (0) | 2024.02.25 |
중앙정보기술인재개발원 개발자 과정 19일차 기록입니다. (0) | 2024.02.23 |
중앙정보기술인재개발원 개발자 과정 18일차 기록입니다. (0) | 2024.02.23 |
중앙정보기술인재개발원 개발자 과정 17일차 기록입니다. (0) | 2024.02.21 |