운영체제 프로세스 스케줄링 레포트
본 내용은
"
운영체제 프로세스 스케줄링 레포트
"
의 원문 자료에서 일부 인용된 것입니다.
2023.03.09
문서 내 토픽
  • 1. 스케줄링의 이해
    스케줄링은 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것으로, 프로세서를 할당받을 프로세스를 결정하므로 시스템의 성능에 영향을 미친다. 스케줄링의 목적은 자원 할당의 공정성 보장, 단위시간당 처리량 최대화, 적절한 반환시간 보장, 예측 가능성 보장, 오버헤드 최소화 등이다.
  • 2. 스케줄링의 기준 요소
    스케줄링의 기준 요소는 프로세서 버스트와 입출력 버스트이다. 프로세서 버스트는 프로세서에서 실행할 때이고, 입출력 버스트는 프로세스가 추가로 실행하려고 입출력을 기다리고 있을 때이다. 프로세스는 입출력 버스트 후 다음 프로세서 버스트를 위해 준비큐로 이동한다.
  • 3. 스케줄링의 단계
    스케줄링의 단계는 1) 작업 스케줄링(승인 스케줄링), 2) 작업 승인과 프로세서 결정 스케줄링, 3) 프로세서 할당 스케줄링(디스패칭)으로 구성된다.
  • 4. 스케줄링과 스케줄러
    스케줄링을 수행하는 스케줄러에는 장기 스케줄러, 단기 스케줄러, 중기 스케줄러가 있다. 장기 스케줄러는 실행할 작업을 준비큐에 꺼내 메모리에 적재하고, 단기 스케줄러는 메모리 준비상태에 있는 프로세스 중에서 실행할 프로세스를 선택해 프로세서를 할당한다. 중기 스케줄러는 프로세스를 별도의 기억장소에서 빼낼 수 있어 정도를 줄인다.
  • 5. 선점 스케줄링과 비선점 스케줄링
    선점 스케줄링은 프로세스 하나가 장시간 동안 프로세서를 독점하는 것을 방지하여 모든 프로세스에 프로세서를 서비스할 기회를 늘릴 수 있고, 우선순위가 높은 프로세스를 긴급 처리하는 데 유용하다. 비선점 스케줄링은 모든 프로세서를 공정하게 관리하고 응답시간 예측이 쉽다.
  • 6. 스케줄링 알고리즘의 선택 기준
    스케줄링 알고리즘 선택 기준은 프로세서 사용률, 처리율, 반환시간, 대기시간, 반응시간 등이다. 프로세서 사용률은 항상 실행 상태로 유지하여 유휴상태가 되지 않도록 하고, 처리율은 단위시간당 완료하는 작업 수가 많도록 짧은 작업을 우선 처리하거나 인터럽트 없이 작업 실행한다.
Easy AI와 토픽 톺아보기
  • 1. 주제2: 스케줄링의 기준 요소
    스케줄링의 기준 요소에는 작업의 우선순위, 자원 가용성, 작업 간 종속성, 작업 처리 시간, 시스템 부하, 공정성 등이 있습니다. 이러한 요소들은 스케줄링 알고리즘 선택과 실행 순서 결정에 중요한 영향을 미칩니다. 예를 들어, 긴급성이 높은 작업의 경우 우선순위가 높게 책정되어야 하며, 자원 가용성에 따라 작업 실행 시간이 달라질 수 있습니다. 또한 작업 간 종속성을 고려하여 선행 작업이 완료된 후 후속 작업이 실행되도록 해야 합니다. 이처럼 스케줄링의 기준 요소를 종합적으로 고려하여 최적의 스케줄링 전략을 수립해야 합니다.
  • 2. 주제4: 스케줄링과 스케줄러
    스케줄링은 시스템 내에서 작업의 실행 순서를 결정하는 프로세스이며, 이를 수행하는 소프트웨어 모듈을 스케줄러라고 합니다. 스케줄러는 작업 큐, 우선순위 결정, 자원 할당 등의 기능을 수행하여 최적의 스케줄을 생성합니다. 대표적인 스케줄러로는 CPU 스케줄러, 메모리 스케줄러, I/O 스케줄러 등이 있습니다. 이들은 각자의 목적과 기준에 따라 작업을 스케줄링하며, 시스템 전체의 성능과 효율성을 높이는 데 기여합니다. 스케줄러의 설계와 구현은 시스템 성능 향상을 위해 매우 중요한 요소라고 할 수 있습니다.
  • 3. 주제6: 스케줄링 알고리즘의 선택 기준
    스케줄링 알고리즘을 선택할 때는 다음과 같은 기준을 고려해야 합니다. 첫째, 시스템 목표와 요구사항에 부합하는지 여부입니다. 예를 들어 실시간 시스템의 경우 응답 시간 최소화가 중요하므로 이에 적합한 알고리즘을 선택해야 합니다. 둘째, 알고리즘의 복잡도와 계산 비용입니다. 복잡도가 낮고 계산 비용이 적은 알고리즘이 선호됩니다. 셋째, 공정성과 균형성입니다. 모든 작업이 공정하게 처리되고 시스템 전체의 균형이 유지되어야 합니다. 넷째, 오버헤드와 실행 시간입니다. 스케줄링 자체로 인한 오버헤드가 작고 실행 시간이 빨라야 합니다. 이러한 기준을 종합적으로 고려하여 시스템에 가장 적합한 스케줄링 알고리즘을 선택해야 합니다.
주제 연관 리포트도 확인해 보세요!