fcfs 예제

평균 대기 시간 매개 변수를 사용하여 성능을 확인합니다. 우리는 예제의 도움으로 이것을 설명합니다. 간단하 게, 먼저 CPU를 요청 하는 프로세스는 CPU에 먼저 할당 됩니다. 다른 스케줄링 알고리즘과 비교하여 더 쉽게 이해하고 구현할 수 있습니다. FCFS 스케줄링의 완벽한 실제 예는 은행 카운터에서 돈을 인출하기 위해 대기열입니다. 예를 들어 CPU 바인딩 된 작업은 한 큐에서 예약할 수 있으며 다른 큐의 모든 I/O 바인딩 된 작업을 예약할 수 있습니다. 그런 다음 프로세스 스케줄러는 각 큐에서 작업을 번갈아 선택하고 큐에 할당된 알고리즘에 따라 CPU에 할당합니다. 호송 효과의 실제 예는 차단되는 다음이 작은 차량의 도로를 통과하는 큰 트럭입니다. FCFS 스케줄링 알고리즘의 예를 들어 보겠습니다. 다음 일정에는 프로세스 ID P0, P1, P2, P3 및 P4가 있는 5개의 프로세스가 있습니다. P0은 시간 0, P1 시간 1, P2 시간 2에 도착, P3는 시간 3에 도착하고 프로세스 P4는 준비 대기열에 시간 4에 도착합니다. 프로세스와 해당 도착 및 버스트 시간은 다음 표에 제공됩니다. 처리기는 프로세스가 얼마나 걸리는지 미리 알아야 합니다.

이 튜토리얼에서는, 우리는 먼저 봉사 (FCFS) 알고리즘에 대해 공부하고 호송 효과입니다. 다음 자습서에서는 라운드 로빈 스케줄링 알고리즘에 대해 공부합니다. . 소요 시간과 대기 시간은 다음 수식을 사용하여 계산됩니다. 따라서, 상기 주어진 프로세스의 경우, 먼저 P1은 CPU에서 실행된다. 각 프로세스에 우선 순위가 할당됩니다. 우선 순위가 가장 높은 프로세스는 먼저 실행됩니다. 여기서 P1 프로세스가 먼저 실행됩니다. 다른 모든 프로세스는 완료된 후에만 CPU에 액세스할 수 있습니다.

이제 P1 프로세스는 버스트 시간이 높습니다. 따라서 P2 및 P3 프로세스는 CPU에 액세스하기 위해 더 긴 기간을 기다려야합니다. 따라서 P2, P3 공정은 기아로 고통받고 있습니다. 선착오(FCFS) 스케줄링에서는 평균 대기 시간이 매우 높다는 것을 알 수 있습니다. 위의 프로그램의 경우 모든 프로세스에 대해 도착 시간을 0으로 간주하고 가변 도착 시간이있는 프로그램을 구현하려고합니다. AWT 또는 평균 대기 시간은 스케줄러가 실행을 위해 큐에서 프로세스를 선택할 때까지 대기하는 프로세스의 평균 대기 시간입니다. • 마찬가지로, P3 프로세스에 대한 대기 시간은 P1 프로세스에 대한 실행 시간 및 프로세스 P2에 대한 실행 시간을 추가하여 형성됩니다( 즉, 프로세스 P3= 21+3=24 ms). 아래와 같이 버스트 시간과 도착 시간이 있는 P1, P2 및 P3의 세 가지 프로세스가 있다고 가정해 봅시다. 아래 표에 제공된 P1, P2, P3, P4 프로세스를 고려하여 도착 시간 0과 동일한 순서로 실행을 위해 도착하고 버스트 시간이 주어지면 FCFS 예약 알고리즘을 사용하여 평균 대기 시간을 찾습니다.

위의 주어진 procceses에 대 한, 첫 번째 P1 CPU 리소스와 함께 제공 됩니다., 여기 우리는 주어진된 프로세스에 대 한 다양 한 시간을 계산 하기 위한 간단한 수식: 일단 프로세스가 주어진된 기간 동안 실행 되 면, 그것은 선점 되 고 주어진에 대 한 다른 프로세스 실행 기간. FCFS는 비선적 스케줄링 알고리즘이므로 프로세스 우선 순위는 중요하지 않습니다. 이로 인해 리소스의 활용도가 낮아지므로 성능이 저하됩니다. . 평균 대기 시간 = (총 대기 시간) / (프로세스 수) = = (0 + 2 + 3 + 9) / 4 = 14 / 4 = 3.25 ms . . 설명 – 모든 프로세스의 도착 시간은 0입니다. 따라서 모든 프로세스가 준비 큐에 표시됩니다(P1, P2, P3, P4 순서).

カテゴリー未分類