프로세스 스케줄링 예제

스케줄링 도메인은 하나 이상의 CPU 그룹을 구성합니다. 각 CPU 그룹은 도메인에서 하나의 엔터티로 처리됩니다. 상위 수준 도메인은 하위 수준 도메인을 그룹으로 처리합니다. 예를 들어 동일한 코어를 공유하는 두 개의 하이퍼스레드 CPU가 각 CPU에 대해 하나씩 두 개의 하위 그룹이 있는 한 그룹에 배치됩니다. 모든 코어별 그룹은 전체 프로세서를 나타내는 상위 수준 도메인을 구성합니다. 단점: 긴 버스트(CPU 집약적) 프로세스는 긴 평균 대기 시간으로 인해 손상됩니다. 실제로 짧은 버스트 프로세스를 항상 실행할 수 있는 경우 긴 버스트 프로세스는 예약되지 않을 수 있습니다. 프로세스가 실행되도록 예약되지 않는 상황을 기아라고 합니다. 알고리즘의 또 다른 문제는 일정 기준을 충족하는 효율성이 다음 CPU 버스트의 길이를 추정하는 능력에 달려 있다는 것입니다. 이제 우리가 가지고있는 것은 작업이 다른 프로세서로 마이그레이션될 경우 일부 프로세서로 마이그레이션하는 것이 다른 프로세서보다 바람직하다는 것을 깨닫는 것입니다. 예를 들어, 동일한 칩에서 다른 코어에 작업을 예약하는 것이 다른 칩의 코어에 스케줄링하는 것이 바람직합니다. 다음 섹션에서는 몇 가지 일정 알고리즘을 살펴보겠습니다. 프로세스 스케줄링은 준비, 실행, 대기 와 같은 다양한 상태의 프로세스를 예약하는 운영 체제의 작업입니다.

프로세스 상태에 대해 연구하려면 운영 체제의 프로세스 관리를 우선 순위에 따라 참조할 수 있습니다. 이 작업은 컴퓨터 시스템을 유지하는 데 매우 유용합니다. 프로세스 스케줄링은 프로세스가 중앙 처리 장치(CPU)에 의해 실행될 각 프로세스의 시간 간격을 할당합니다. 선제적 최단 작업 첫 번째 스케줄링 알고리즘이 사용됩니다. 스케줄링은 도착 또는 프로세스 완료 시에만 수행됩니다. 세 프로세스의 평균 대기 시간은 얼마입니까? (A) 5.0 ms (B) 4.33 ms (C) 6.33 (D) 7.33 솔루션 : 답변 : – (A) 프로세스 P0은 준비 대기열에 다른 프로세스가 없기 때문에 0ms에서 프로세서가 할당됩니다. P1이 1 ms에 도착하고 P1에 대한 버스트 시간이 P0의 남은 시간보다 적기 때문에 P0은 1 ms 후에 선점됩니다. P1은 4ms에 대해 실행됩니다.

P2는 2ms에 도착했지만 P2의 버스트 시간이 P1보다 길어짐에 따라 P1이 계속되었습니다. P1이 완료된 후 P0의 남은 시간이 P2의 버스트 시간보다 적기 때문에 P0이 다시 예약됩니다. P0은 4 ms를 기다립니다, P1은 0 ms를 기다립니다 및 P2는 11 ms를 기다립니다. 그래서 평균 대기 시간은 (0 +4 +11)/3 = 5입니다. 1. 선제적 프로세스:선제적 스케줄링 정책에서는 우선 순위가 높은 프로세스가 실행을 위해 동일한 큐에서 대기하는 경우 우선 순위가 낮은 프로세스가 실행을 일시 중단해야 합니다. 스케줄러가 프로세스가 실행할 수 있는 순서와 기간에 대해 내리는 결정을 스케줄링 알고리즘(또는 스케줄링 정책)이라고 합니다. 스케줄러에는 실행할 준비가 된 프로세스에 대한 정보가 제한되어 있기 때문에 이러한 결정은 쉽지 않습니다. 좋은 스케줄링 알고리즘: 1) 선착오(FCFS)이 스케줄링 알고리즘에서 큐에 입력된 첫 번째 프로세스가 먼저 처리됩니다. 운영 체제는 선점 및 비-선점- 두 가지 유형의 스케줄링 프로세스 실행을 사용합니다.