-선점형 스케줄링
* 라운드 로빈(RR) 스케줄링
FIFO 스케줄링을 Preemptive(선점형)기법으로 구현한 스케줄링 방법
프로세스는 FIFO형태로 대기 큐에 적재되지만, 주어진 시간 할당량(time slice)안에 작업을 마쳐야 하며, 할당량을 다 소비하고도 작업이 끝나지 않은 프로세스는 다시 대기 큐의 맨 뒤로 되돌아간다.
시스템이 사용자에게 적합한 응답시간을 제공해주는 대화식 시분할 시스템에 사용하는 것이 좋다.
즉, 차례대로 돌아가면서 프로세스를 처리하지만 일정시간이상 일하면 그 프로세스의 기회는 떠나가고 뒷 줄로 이동하게 되는 것이다. 이를 계속 반복한다.
* MLQ(멀티 레벨 큐) 스케줄링 = 다단계 큐 스케줄링
Preemptive(선점형)기법으로 우선순위에 따라 여러 queue가 존재한다.
고정형 우선순위를 가지고 높은 우선순위의 큐부터 순서대로 실행한다.
*MLFA(멀티 레벨 피드백 큐) 스케줄링
CPU 사용 후에는 우선순위를 하나 낮춰주어 MLQ의 저순위 큐의 불리함을 보완한 방법이다.
연산 위주의 프로세스들은 처음에 RR방식의 대기 큐에서 주어진 시간 할당량이 만료되면 다음 단계의 큐에 배치되고, 실행시간이 길수록 점점 낮은 우선순위를 지니게 되어 마지막 가장 낮은 우선순위의 큐에 도달하면 작업이 끝날 때까지 RR방식으로 스케줄된다
- 비선점형 스케줄링
정리할 때 참고한 블로그
[운영체제] 프로세스 스케줄링
컴퓨터 하드웨어인 CPU는 여러개의 프로세스를 동시에 실행할 수 없다.언제나 한순간에 오직 1개의 프로세스를 수행한다.다만, 운영체제의 멀티태스킹(Multi tasking)과 스케줄링 기법으로 여러개의
velog.io
'알쓸지식' 카테고리의 다른 글
[AWS] AWS를 시작하기 전에 알아두면 좋은 것 (0) | 2025.01.05 |
---|---|
[백엔드] RESTful API란? (0) | 2024.11.24 |
[OS] 프로세스 스케줄링 - (1) 프로세스와 그 스케줄링 방법 (3) | 2024.11.22 |
[백엔드] CRUD에 대해 알아보자_with Spring-Boot (1) | 2024.11.20 |
클라우드 플레어... 이게 뭐지? (1) | 2024.09.13 |