[운영체제] MLQ & MFQ 다단계 큐 (Multi-Level Queue) 스케줄링 FIFO + RR 스케줄링 각 작업들을 서로 다른 묶음으로 분류할 수 있을 때 사용하는 알고리즘 ex) 작업을 전면 작업(대화형, Foreground Task) 과 후면작업(일괄처리형, Background Task) 으로 분류한다면 두 유형의 요구 반응 시간이 다르므로 서로 다르게 스케줄링해야합니다. 더욱이 전면 작업은 후면 작업에 비해 높은 우선순위를 갖는 경우가 많습니다. ex) 쇼핑몰에서 쇼핑은 빠르게 백그라운드에서는 다운로드는 느리게 다단계 큐 스케줄링 알고리즘은 준비상태 큐를 종류별로 여러 단계로 분할해 둡니다. 그리고 작업을 기억 장치의 크기나 프로세스의 형태에 따라 어느 한 큐에 지정합니다 각 큐는 자신만의 독자적인 스케줄링 알고리즘을 갖고 있습니다. 예를 들어, 전면 작업과 후면 작업이 분할된 큐에 지정되면 전면 작업 큐는 순환 할당 알고리즘에 의해 스케줄링 되고 후면 작업 큐는 선입 선처리로 스케줄링 됩니다. 또한 큐 사이에도 스케줄링이 있어야 하는데 이것은 고정된 우선순위의 선점식 스케줄링 입니다. 예를 들어, 전면작업 큐는 후면작업 큐 보다 절대적인 우선순위를 가질 수 있습니다. 큐 5개를 가진 다단계 큐 스케줄링 알고리즘 각 큐는 순서대로 절대적인 우선순위를 가집니다. 예를 들어, 시스템 프로세스, 대화식 프로세스, 그리고 대화식 편집 프로세스를 위한 큐들이 모두 비어 있어야 일괄처리 큐에 있는 프로세스가 실행됩니다. 일괄처리 프로세스가 실행되는 동안에 대화식 편집 프로세스가 준비 큐에 들어오면 일괄 처리 프로세스는 프로세서를 반납해야 합니다. 또한 큐들 사이에 시간을 나누어 사용할 수도 있습니다. 각 큐는 프로세서 시간의 일정량을 받아서 큐에 있는 프로세스들을 스케줄링 할 수 있습니다. 다단계 피드백 큐 (Multi-Level Feedback Queue) 스케줄링 입출...
댓글
댓글 쓰기