8. Virtualization) Multi-CPU Scheduling
·
운영체제/Operating Systems in Three Easy Pieces
이번 챕터에서는 멀티프로세서 스케줄링에 대해 알아볼 것이다. 예전이야 cpu가 하나만 있었지만 현재 multiprocessor은 데스크탑, 랩탑, 모바일 등 매우 흔한것이 되었다. mulicore processor의 대중화는 좋은 현상이지만 이로 인해 몇가지 문제가 발생했다. 그중 하나는 과거에 개발된 전형적인 애플리케이션들은 하나의 cpu만 사용하기 때문에 cpu가 추가되었다고 해서 빨라지지 않는다는 것이다. 따라서 우리가 코드를 병렬적으로 rewrite할 필요가 있다. 다른 문제점으로는 OS가 multiprocessor scheduling을 해야한다는 점이다. 이런 문제점들을 이해하기 위해서는 우선 Multiprocessor의 아키텍처에 대해 이해해야될 것이다. Background : Multipro..
7. Virtualization) Lottery Scheduling
·
운영체제/Operating Systems in Three Easy Pieces
이 챕터에서는 fair-share 스케줄러라고도 부르는 proportional-share 스케줄러에 대해서 알아 볼거다. 이전의 Multiple-level Feed-back Queue(MLFQ)에서는 Completion time과 Response time의 최적화에 중점을 뒀다면, Proportion-share 스케줄러는 각 job들이 특정한 비율의 cpu 시간을 보장받을 수 있도록 하는 스케줄러이다. lottery scheduling이 proportion-share스케줄러로 잘 알려져 있다. Ticket : Represent Your Share lottery scheduling에는 ticket이라는 개념이 있다. ticket이란? 프로세스가 사용해야하는 자원의 몫을 나타낸다. 즉 티켓의 비율은 시스템 ..