라운드 로빈 일정 : 프로세스를 여러 번 나열 할 수 있습니까?


9

라운드 로빈 스케줄러에서는 프로세스 목록에 프로세스를 여러 번 추가하는 것이 우선 순위를 높이는 저렴한 방법입니다.

이것이 얼마나 실용적인 접근인지 궁금합니다. 프로세스에 더 긴 시간 분할 (이점 : 전환 시간 단축)을 제공하거나 우선 순위가 높은 프로세스의 별도 목록을 유지하는 등의 다른 기술에 비해 어떤 이점이 있습니까? 특히 프로세스를 여러 번 나열하면 공정성과 반응성에 어떤 영향을 미칩니 까?

(Andrew Tanenbaum의 운영 체제 : 설계 및 구현 첫 번째 에디션 의 연습 2.16부터 )


Tannenbaum은 많은 책을 썼습니다. 아마 당신은 운영 체제 를 의미 합니다.
Dave Clarke

@DaveClarke 네, 이것을 지적 해 주셔서 감사합니다. (실제로 여기에있는 것은 번역본이지만 본문의 어느 부분도 빠진 것으로 생각하지 않습니다.)
Gilles 'SO-Stop

답변:


4

이 방법의 장점은 라운드 로빈 예약이 매우 효율적이므로 더 복잡한 스케줄러에 의존 할 필요가 없기 때문에 사이클을 훔칠 수 있습니다. 우선 순위가 높은 프로세스에 더 긴 시간 조각을 도입하면 다른 스레드의 응답 성이 떨어지고 OS가 인터럽트 등을 처리하기 위해 뛰어 들기가 더 어려워집니다. 별도의 프로세스 목록을 유지 관리하려면 훨씬 복잡한 스케줄러가 필요하며 이는주기 측면에서 더 비쌉니다. 그러나 공정성에 어떤 문제가 있는지는 알 수 없습니다. 문제는 세분성이 공정하다는 것입니다. 프로세스는 기본 시간 조각의 정수 배만 가질 수 있습니다.

한 가지 단점은 프로세스의 각 발생을 큐에서 제거해야하므로 프로세스를 제거하면 비용이 많이 든다는 것입니다. 아마도 이것은 게으르게 수행 될 수 있습니다.


2

라운드 로빈 예약 대기열에 작업을 여러 번 추가하면 항목이 합리적으로 배포되도록하는 문제가 발생합니다. 시스템이 동적 작업 생성 또는 삭제를 허용하지 않지만 일반적으로는 불가능한 경우이를 보장하기 쉽습니다.

대기열에서 항목을 제거하는보다 복잡한 프로세스 외에도 대기열의 프로세스 항목이 비뚤어지면 여러 우선 순위 수준으로 공정이 더 쉽게 불균형 동작이 발생합니다.


우선 순위를 가지려는 욕구가 공정성을 금하지 않습니까?
Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.