※ 질문/내용오류/공유할 내용이 있다면 jinkilee73@gmail.com으로 메일 주세요 :-)
스케줄러에 대해서 이야기해보자.
이전의 포스팅에서 말했듯이, 스케줄러는 메모리에 있는 여러 프로세스 중에서 어떤 하나의 프로세스가 CPU 점유권을 가질지를 정해주는 것이다. 스케줄러는 세 가지 종류가 있다.
Long-term 스케줄러 (Job scheduler)
하드 디스크에서 메모리로 프로세스를 load하는 역할을 한다. 즉, 다음의 과정에서 long-term 스케줄러가 동작한다.
Short-term 스케줄러 (CPU scheduler)
메모리에 있는 프로세스 중에서 프로세스가 CPU 점유권을 가질 때 어떤 프로세스가 선택되는지를 결정하는 스케줄러이다. 다음과 같은 과정에 동작한다.
Midium-term 스케줄러
asleep 상태에서 ready 상태로 넘어가지 못 하거나 ready 상태에서 running 상태로 넘어가지 못 하는 상황이 발생하면 어떤 일이 벌어질까? 결과적으로 실행되지도 않으면서 메모리만 차지하고 있는 비효율적인 상황이 발생한다. 이럴 경우 메모리에 load되어있는 running 상태로 넘어가지 않는 프로세스를 하드디스크로 쫓아낸다.(swap-out) 그리고 나중에 필요에 의해 다시 메모리로 들어올 수도 있다.(swap-in) 즉, 아래와 같은 과정이다. 이 과정을 midium-term 스케줄러가 한다.
스케줄러에 대한 설명은 여기까지이다. 다음 포스팅에서는 Job Queue, Ready Queue 그리고 Device Queue에 대해서 논해보자.
'Operating Systems' 카테고리의 다른 글
| [OS] Context Switcing (2) | 2013.01.01 |
|---|---|
| [OS] Job Queue, Ready Queue 그리고 Device Queue (1) | 2013.01.01 |
| [OS] 스케쥴러 (scheduler) (2) | 2012.12.31 |
| [OS] 프로세스 상태(Process State) (2) | 2012.12.31 |
| [OS] Interrupt Service Routine (ISR) (2) | 2012.12.24 |
| [OS] OS의 역할 (more details) (0) | 2012.12.24 |




댓글을 달아 주세요
coolkun 2013.03.11 17:32 댓글주소 수정/삭제 댓글쓰기
이해에 많은 도움이 되었습니다. 앞으로도 참고할게요 감사합니다^ㅡ^
선량한지구인 2016.06.02 20:05 댓글주소 수정/삭제 댓글쓰기
깔끔하게 정리된글 잘읽고 도움이 많이 됐습니다. 감사합니다.
그런데 제일아래 그림에서 Created 상태는 HDD와 메모리에 걸쳐서 존재하는데
특별한 의미가 있나요?
글에서 볼떄는 Created 상태는 HDD에 가 있는게 맞을것 같은데 궁금합니다.