# Preemptive

스케줄러, 디스패처, 선점/비선점
해당 포스트는 쉬운코드님의 유튜브 영상을 정리한 내용입니다. 프로세스 상태 전환도 스케줄러 → cpu를 최대한 활용할 수 있도록 프로세스를 선택 ready queue : ready 상태에 있는 프로세스들을 모아놓은 큐 디스패처 → 선택된 프로세스에게 cpu를 할당하는 역할 컨텍스트 스위칭 수행 - 커널 모드에서 실행 컨텍스트 스위칭이 일어난 뒤 커널모드에서 선택된 프로세스의 유저 모드로 전환시키는 역할 스케줄링의 선점 방식 Nonpremmptive scheduling (비선점) running 상태

CPU Virtualization(Scheduling)
Scheduling scheduling은 resource를 필요로하는 프로세스들에게 이를 할당해주는 작업을 의미한다. CPU scheduling은 우리가 정한 기준에 맞춰 적절한 프로세스에게 CPU time을 할당하는 것이다. CPU scheduling을 설명하기 위해 몇 가지의 가정을 설정한다. > 1. 각 job은 같은 시간동안 실행된다. 모든 job은 CPU에 동시에 도착한다. 모든 job은 CPU만 사용한다 (I/O등을 실행하지 않음). 각 job의 실행 시간을 사전에 알 수 있다. Scheduling Metrics scheduling 방법을 평가하기 위한 기준은 2개가 있다. Turnaround time > (Turnaround time) = (Completion time) - (Arrival time) turnaround time은 arrival time과 completion time의 interval이다. 프로
하루일지 - 8
신문(매일 경제) 열 나야만 코로나 확진?…오미크론 대표 증상은 '이것' > 오미크론의 대표 증상은 발열보다 목이 따끔한 인후통. 최근 신규 확진자의 증가 추세가 너무 가파르다. 밖에서 활동을 해야 하니 어쩔 수 없긴 하지만 너무 가파르다. 마스크를 좀 더 잘 쓰고 조심해야겠다. 오미크론은 경미하다곤 하지만 코로나긴 하니까 더더욱 조심하자. '1년만 최저치로 줄어든 신용잔고' 증시 저점 다가오나 > 통상 미수금 대비 반대매매 비중은 5% 전후를 기록했는데 지난달 26일 반대매매비중은 11.7%에 달했다. 반대매매로 인해 반등이 나온 경우가 많다 보니 최근 잡은 것의 경우 좀 있으면 팔아야 할 날이 올 거 같다. 근데 꼭 신용잔고라 해서 반대매매를 뜻하진 않을 텐데 이번

[운영체제][CPU 스케쥴링] 스케쥴링 알고리즘
스케쥴링 알고리즘 프로세스 실행 순서를 정하는 알고리즘이에요. 이렇게만 말하면 이해하기 어려우니 우선 미리 알아둬야하는 개념이 있어요. 그것부터 알아봐요. 프로세스 프로그램 실행 단위입니다. 메모리에 올려져 실행 중인 프로그램을 말하죠. 프로세스와 응용 프로그램을 혼용하는 경우가 있는데, 프로세스와 응용 프로그램은 서로 다른 개념이에요. 왜냐하면 응용 프로그램은 여러 개의 프로세스가 상호작용하면서 실행될 수 있기 때문이에요. 스케쥴러와의 관계는? 그리고 CPU 스케쥴러는 이 프로세스의 실행을 관리해요. 각 프로세스가 CPU의 자원을 어떻게 사용할지에 대한 '스케쥴'을 지정하는거죠. 알고리즘 종류 자 그럼 다시 돌아와서 스케쥴링 알고리즘은 어느 순서대로 프로세스를 실행시킬지는 정하는 것이라 했어요. 순서 알고리즘을 정해야 하는 이유는, >1. 프로세스 응답 시간을 가능한 짧게 하기 위해서에요. CPU의 활용도를 최대한 높여서 프로세스를

프로세스 스케줄링, 그리고 기법
도커에서 프로세스 스케줄링 하다가 이전에 정처기에서 학습했던 선점/비선점 스케줄링에 대한 이해도 떨어지는 것 같아 정리할 겸 글을 남긴다. 여기서 스케줄링이란 프로세스가 생성되어 실행될 떄 필요한 시스템의 여러자원을 해당 프로세스에게 할당하는 작업을 뜻 하며, 대기 시간은 최소화 하고 최대한 공평하게 처리하는 것을 목적으로한다. 메모리에 여러개의 프로세스를 올려놓고(=다중 프로그래밍), CPU의 가동시간을 적절히 나누어(=시분할) 각각의 프로세스에게 분배하여 실행되도록한다. 스케줄링에서는 아래와 같이 장기, 중기, 단기 단위가 있다. 장기 (Long-term scheduling) 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 아래 준비(ready) 상태 큐로 보내는 작업을 의미한다. 상위 스케줄링이라고도 하며, 작업 스케줄러에 의해 수행된다. 수행 빈도 적고, 느리다. 중기 (middle-term schedul