cpu burst, io burst

agnusdei·2024년 11월 8일
0

Hardware & Software

목록 보기
106/136
  1. CPU 실행과 입출력 대기의 반복

컴퓨터에서 프로세스는 어떤 작업을 수행할 때 CPU 실행(계산 수행)입출력 대기(외부 장치와의 통신)를 반복하게 됩니다. 예를 들어, 파일을 읽어오는 작업을 하거나 네트워크를 통해 데이터를 받아오는 경우가 입출력 대기 상태에 해당합니다.
• CPU 실행(CPU 버스트): 프로세스가 CPU를 사용하여 계산 작업을 하는 시간입니다. 예를 들어, 어떤 수식을 계산하거나 코드를 실행하는 순간을 말합니다.
• 입출력 대기(I/O 버스트): 프로세스가 CPU 대신 하드 드라이브, 네트워크 등 외부 장치와의 통신을 기다리는 시간입니다.

이 두 가지 상태가 반복되면서, 프로세스는 작업을 마치게 됩니다.

  1. CPU 버스트가 시작되고 입출력 버스트가 뒤따른다

프로세스는 CPU 버스트로 시작하여 일정 시간 동안 연산 작업을 수행한 후, 입출력 버스트로 전환되어 데이터를 기다립니다. 그 후 다시 CPU 버스트가 발생해 연산을 하고, 입출력 대기를 반복합니다. 마지막으로 프로세스는 모든 작업을 마치고 종료됩니다.

  1. CPU 버스트의 길이 분포 (짧은 CPU 버스트가 많음)

CPU 버스트의 지속 시간은 보통 짧은 경우가 많고, 아주 긴 경우는 드물게 나타납니다. 이를 설명할 때 지수형(Exponential) 또는 초지수형(Hyperexponential) 곡선 분포를 사용합니다. 이는 주로 짧은 CPU 실행이 많고, 가끔씩 긴 CPU 실행이 발생한다는 의미입니다.

이런 패턴이 나타나는 이유는 대부분의 작업이 복잡한 계산보다는 비교적 간단한 연산을 반복 수행하는 경우가 많기 때문입니다. 예를 들어, 프로그램이 사용자 입력을 기다리거나, 주기적으로 짧은 계산을 수행할 때 이런 분포가 나타납니다.

  1. CPU 스케줄링 알고리즘 선택의 중요성

CPU 버스트의 분포가 이런 특징을 갖기 때문에, CPU 스케줄링 알고리즘을 설계할 때는 짧은 CPU 실행이 많은 것을 고려해야 합니다. 즉, 짧은 작업을 빠르게 처리할 수 있는 스케줄링 방법을 사용하는 것이 효율적입니다. 예를 들어, 짧은 작업을 우선적으로 처리하는 알고리즘을 사용하면 대기 시간이 줄어들어 시스템 효율이 높아집니다.

요약:
프로세스 실행은 CPU 버스트와 입출력 대기 상태의 반복으로 이루어집니다. CPU 버스트는 대부분 짧은 시간이지만 가끔 긴 경우도 있으며, 이러한 특성을 고려하여 CPU 스케줄링 방법을 선택하는 것이 중요합니다.

0개의 댓글