새벽까지
article thumbnail

컴퓨터에서 여러 개의 작업(프로세스)이 동시에 실행될 때, 스케줄링 알고리즘을 이용하여 각 작업이 언제 CPU를 할당받을지 결정됩니다. 스케줄링 알고리즘 중에는 "비선점형 스케줄링"이라는 것이 있습니다.

 

 

이 방식에서는 작업이 CPU를 할당받으면 끝날 때까지 CPU를 계속 사용합니다. 따라서 다른 작업이 CPU를 요청하면 그 작업은 기다리게 됩니다.

 

 

이 때, 각 작업의 성능을 평가하기 위해서는 해당 작업이 기다리는 시간과 CPU를 사용하는 시간을 고려해야 합니다.

출처 MS 릴리즈 헤더 이미지

예를 들어, A(메모장 실행)과 B(PPT실행)가 있고 각각의 작업이 CPU를 사용하는 시간이 3초라고 가정하면,

 

메모장 실행 A가 CPU를 요청한 후 바로 CPU를 할당받았다면, 메모장 실행 A의 대기 시간은 0초이고, PPT실행 B가 CPU를 요청한 시점에서부터 CPU를 할당받을 때까지의 대기 시간이 됩니다.

 

 

만약 작업 PPT실행 B가 CPU를 요청한 시점에서부터 2초 후에 CPU를 할당받았다면, 작업 B의 대기 시간은 2초입니다. 이렇게 대기 시간과 CPU 사용 시간을 모두 고려하여 각 작업의 성능을 측정하면, 전체 시스템의 성능을 개선할 수 있습니다.

 

 

이를 공식으로 나타내면, 작업의 성능은 (대기 시간 + CPU 사용 시간) / CPU 사용 시간으로 계산할 수 있습니다.

 

대기시간이 높으면 우선순위가 높고 사용시간이 낮으면 우선순위가 낮아진다.

 

예를 들어, 작업 A의 대기 시간이 0초이고 CPU 사용 시간이 3초라면, 작업 A의 성능은 (0초 + 3초) / 3초 = 1입니다. 작업 B의 대기 시간이 2초이고 CPU 사용 시간이 3초라면, 작업 B의 성능은 (2초 + 3초) / 3초 = 1.67입니다. 이렇게 각 작업의 성능을 측정하여 전체적인 시스템 성능을 향상시킬 수 있습니다.

profile

새벽까지

@GoS

좋아요❤️ 구독👍🏻 감사합니다!