<aside> 💡 NOTE
</aside>
<aside> ✍️ NOTE
FCFS(먼저 온 순서대로 처리) : 어떤 프로세스를 먼저 처리하는 데에따라서 waiting time과 response time에 영향을 끼친다. → convey effect
convey effect 오래걸리는 일때문에 전쟁에 늦게 가는 효과 → 스케줄링에 적용됨
SJF(짧게 걸리는 작업을 먼저 처리) : 큐가 전체적으로 짧아지고, average waiting time이 가장 짧아지는 방법 → 선점형을 사용하면 waiting time이 더 짧아진다.
비선점으로 했을 때
선점으로 했을 때(더 짧아졌다)
문제점 :
Starvation(기아현상) 사용 시간이 긴 프로세스(long process)는 영원히 못할 수도 있다.
wait for I/O가 cpu 사용시간을 정확히 알 수 없다는 문제 발생 우려(과거 시간을 통해 예측은 가능)
exponential averaging
</aside>
<aside> ✍️ NOTE
Priority member : 우선순위가 낮더라도 Aging(오래 기다렸다면) 우선순위를 높여주는 기법 적용
RR (라운드 로빈) : CPU에 일정 시간을 정해서 주는 기법
CPU 사용 시간이 동일한 프로세스가 있다면 오히려 context switching이 오래걸리고 안좋을 수 있다.
RR이 좋은 점은 Context를 저장하고 다시 돌아왔을 때 그 상태로 바로 줄수 있는 역량이 있기때문에 가능하다.
</aside>
8강
<aside> ✍️ NOTE
Multilevel Queue
줄마다 우선순위를 두고 프로세스를 만드는 것
Ready Queue를 여러개로 분할합니다. foreground(사용자가 밀접한 작업), background
foreground - RR, background - FCFS(컨텍스트 스위칭을 줄이기 위해)
Multilevel Feedback Queue
신분을 계속 상승하지 못하는 것은 문제가 있다.
이를 위해 처음 들어오는 것은 우선순위가 높은 큐로 넣고 시간을 짧게 준다.
나중에 오는 것들은 할당시간을 FCFS로 주되 순서는 제일 밑으로 보낸다.
</aside>
<aside> ✍️ NOTE
스케줄링이 복잡해진다.
반드시 특정 프로세서에서 수행되어야 하는 프로세스가 있는 경우에는 문제가 더 복잡해진다.
SMP : 각 프로세스가 대등
ASMP : 하나의 CPU가 분배해주는 역할을 해준다.
</aside>
<aside> ✍️ NOTE