[OS] 6. Process Scheduling-2

dnjstjt12·2024년 11월 3일

Multilevel Queue Scheduling

  • 하나의 스케쥴링으로 모든 것을 해결할 수 없으니, 여러개의 스케쥴링 방식을 쓴다.

  • 서로 다른 큐를 놓고, 프로세스가 만들어질 때 해당하는 클래스의 큐에 넣는다.

단점: starvation이 발생할 수 있다. 그래서 큐 간에 Time Slice를 설정한다.

Multilevel Feedback Queue

  • 프로세스가 어떤형태로 실행되어질 지모르기 때문에, 프로세스가 실행되면서 피드백을 받아 큐의 클래스를 결정한다.

Proportional Share Scheduling

  • 특정 비율로 CPU를 점유하도록 보장하는 스케쥴링

Lottery Scheduling

  • N개의 복권을 만든다.

  • 많이 실행될 것같은 프로세스에게 복권을 더 준다.

  • 랜덤으로 복권을 선택하면 해당 프로세스를 선택한다.

CFS Scheduling

  • 리눅스에서 사용하는 스케쥴링이다.

  • 공정하게 프로세스마다 Time Slice를 둔다.
    Priority가 높은 프로세스를 CPU에 할당한다.
    RB Tree를 사용한다.
    모든 Time Slice가 0이되면 새로운 Time Slice 부여한다.

SMP

  • 여러 CPU가 동일한 메모리와 자원을 공유하는 구조

장점: 동일한 메모리구조를 가지므로 작업분배가 쉽다.
단점: CPU가 많아질 수록 메모리 병목현상이 나타나기 쉽다.

AMP

  • 서로 다른CPU가 각기 다른 작업을 수행하는 구조

장점: 작업에 맞는 CPU코어를 선택하여 최적의 성능을 낼 수 있다.
단점: CPU가 특정작업에 고정되어있으면 유연성이 떨어지고 효율적인 자원 사용이어렵다.


[참고] Operating Systems Three Easy Pieces/Remzi H.Arpaci-Dusseau/ CreateSpace Publishing

profile
안녕하세요!

0개의 댓글