OS의 프로세스 스케줄링: 장기, 중기, 단기 스케줄러

프로세스 스케줄링이란 무엇입니까?

프로세스 스케줄링 준비, 대기, 실행 등 다양한 상태의 프로세스를 예약하는 OS 작업입니다.

프로세스 스케줄링을 통해 OS는 각 프로세스에 대해 CPU 실행 시간 간격을 할당할 수 있습니다. 프로세스 스케줄링 시스템을 사용하는 또 다른 중요한 이유는 CPU를 항상 바쁘게 유지한다는 것입니다. 이를 통해 프로그램에 대한 최소 응답 시간을 얻을 수 있습니다.

프로세스 스케줄링 대기열

프로세스 예약 대기열은 각각의 모든 프로세스 상태와 PCB에 대해 고유한 대기열을 유지하는 데 도움이 됩니다. 동일한 실행 상태의 모든 프로세스는 동일한 대기열에 배치됩니다. 따라서 프로세스의 상태가 수정될 때마다 해당 PCB는 기존 대기열에서 연결을 해제해야 하며, 기존 대기열은 새로운 상태 대기열로 다시 이동해야 합니다.

세 가지 유형의 운영 체제 대기열은 다음과 같습니다.

  1. 작업 대기열 – 모든 프로세스를 시스템에 저장하는 데 도움이 됩니다.
  2. 준비 대기열 – 이 유형의 대기열은 실행 준비가 되어 있고 실행 대기 중인 주 메모리에 있는 모든 프로세스를 설정하는 데 도움이 됩니다.
  3. 장치 대기열 – I/O 장치가 없어 차단되는 프로세스입니다.
프로세스 스케줄링 대기열
프로세스 스케줄링 대기열

위에 주어진 다이어그램에서,

  • 직사각형은 대기열을 나타냅니다.
  • 원은 자원을 나타냅니다.
  • 화살표는 프로세스의 흐름을 나타냅니다.
  1. 모든 새로운 프로세스는 먼저 준비 대기열에 배치됩니다. 최종적으로 실행 처리될 때까지 준비 대기열에서 기다립니다. 여기에서 새 프로세스는 준비 대기열에 배치되고 실행을 위해 선택되거나 발송될 때까지 기다립니다.
  2. 프로세스 중 하나에 CPU가 할당되어 실행 중입니다.
  3. 프로세스는 I/O 요청을 발행해야 합니다.
  4. 그런 다음 I/O 대기열에 배치해야 합니다.
  5. 프로세스는 새로운 하위 프로세스를 생성해야 합니다.
  6. 프로세스는 종료를 기다리고 있어야 합니다.
  7. 결과적으로 인터럽트가 발생하면 CPU에서 강제로 제거되어야 합니다. 인터럽트가 완료되면 다시 준비 대기열로 보내야 합니다.

두 상태 프로세스 모델

두 가지 상태 프로세스 모델은 다음과 같습니다.

  • 실행 상태
  • 실행되지 않는 상태

달리는

. 운영체제, 새로운 프로세스가 구축될 때마다 실행되어야 하는 시스템에 입력됩니다.

실행되지 않음

실행되지 않는 프로세스는 대기열에 보관되어 실행 차례를 기다리고 있습니다. 대기열의 각 항목은 특정 프로세스에 대한 지점입니다.

일정 목표

다음은 프로세스 스케줄링의 중요한 목표입니다.

  • 허용 가능한 응답 시간 내에 대화형 사용자 수를 최대화합니다.
  • 대응과 활용 사이의 균형을 유지하세요.
  • 무기한 연기를 피하고 우선순위를 적용하세요.
  • 또한 핵심 자원을 보유한 프로세스에 대한 참조도 제공해야 합니다.

프로세스 스케줄러 유형

스케줄러는 프로세스 스케줄링을 처리할 수 있는 일종의 시스템 소프트웨어입니다.

프로세스 스케줄러에는 주로 세 가지 유형이 있습니다.

  1. 장기 스케줄러
  2. 단기 스케줄러
  3. 중기 스케줄러

장기 스케줄러

장기 스케줄러라고도 합니다. 작업 스케줄러. 이 스케줄러는 프로그램을 조절하고 대기열에서 프로세스를 선택하여 실행을 위해 메모리에 로드합니다. 또한 다중 프로그래밍의 정도를 규제합니다.

그러나 이러한 유형의 스케줄러의 주요 목표는 프로세서, I/O 작업과 같이 다중 프로그래밍을 관리할 수 있는 균형 잡힌 작업 혼합을 제공하는 것입니다.

중기 스케줄러

중기 계획은 중요한 부분입니다. 스와핑. 이를 통해 스왑된 아웃 프로세스를 처리할 수 있습니다. 이 스케줄러에서는 실행 중인 프로세스가 일시 중지되어 I/O 요청을 할 수 있습니다.

실행 중인 프로세스가 I/O 요청을 하면 일시 중단될 수 있습니다. 일시중단된 프로세스는 완료를 향해 진전을 이룰 수 없습니다. 프로세스를 메모리에서 제거하고 다른 프로세스를 위한 공간을 확보하려면 일시 중지된 프로세스를 보조 저장소로 이동해야 합니다.

단기 스케줄러

단기 스케줄링이라고도 합니다. CPU 스케줄러. 이 스케줄러의 주요 목표는 설정된 기준에 따라 시스템 성능을 향상시키는 것입니다. 이는 실행할 준비가 된 프로세스 그룹에서 선택하고 그 중 하나에 CPU를 할당하는 데 도움이 됩니다. 디스패처는 단기 스케줄러가 선택한 프로세스에 CPU 제어권을 부여합니다.

스케줄러의 차이점

장기 대. 단기 vs. 중기

장기간 단기 중기
장기는 작업 스케줄러라고도 합니다. 단기는 CPU 스케줄러라고도 합니다. 중기 스케줄러는 스와핑 스케줄러라고도 합니다.
시분할 시스템에서는 존재하지 않거나 최소한입니다. 시분할 순서에서는 중요하지 않습니다. 이 스케줄러는 시간 공유 시스템의 요소입니다.
단기 스케줄러에 비해 속도가 느립니다. 단기, 중기 스케줄러에 비해 속도가 가장 빠릅니다. 중간 속도를 제공합니다.
로드에서 프로세스를 선택하고 메모리에 다시 풀링할 수 있습니다. 실행 준비 상태에 있는 프로세스만 선택합니다. 프로세스를 다시 메모리로 보내는 데 도움이 됩니다.
모든 권한을 제공합니다 더 적은 제어 제공 다중 프로그래밍 수준을 줄입니다.

컨텍스트 전환이란 무엇입니까?

CPU의 상태나 상태를 PCB에 저장/복원하는 방법입니다. 따라서 프로세스 실행은 한 번에 동일한 지점에서 재개될 수 있습니다. later 시간. 멀티태스킹 OS에서는 컨텍스트 전환 방법이 중요합니다.

요약

  • 프로세스 스케줄링은 준비, 대기, 실행 등 다양한 상태의 프로세스를 스케줄링하는 OS 작업입니다.
  • 1가지 상태 프로세스 모델은 XNUMX) 실행 중, ) 실행 중 아님
  • 프로세스 스케줄링은 허용 가능한 응답 시간 내에서 대화형 사용자 수를 최대화합니다.
  • 스케줄러는 프로세스 스케줄링을 처리할 수 있는 일종의 시스템 소프트웨어입니다.
  • 스케줄러의 세 가지 유형은 1) 장기 2) 단기 3) 중기입니다.
  • 장기 스케줄러는 프로그램을 조절하고 대기열에서 프로세스를 선택하여 실행을 위해 메모리에 로드합니다.
  • 중기 스케줄러를 사용하면 교체된 아웃 프로세스를 처리할 수 있습니다.
  • 단기 스케줄러의 주요 목표는 설정된 기준에 따라 시스템 성능을 향상시키는 것입니다.
  • 장기는 작업 스케줄러라고도 알려져 있지만 단기는 다음과 같이 알려져 있습니다. CPU 스케줄러, 중기형은 스와핑 스케줄러라고도 합니다.