ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] CPU 스케줄링 - 1 (CPU 스케줄러, 스케줄링 성능평가)
    Computer Science/OS 2023. 1. 17. 21:32

    CPU

    프로그램의 기계어 명령을 실제로 수행하는 컴퓨터 내의 중앙 처리 장치

    사용자 프로그램이 수행되는 과정 = CPU 과정 + I/O 작업의 반복(입출력 작업)

    CPU 버스트(burst)

    사용자 프로그램이 CPU를 직접 가지고 빠른 명령을 수행하는 일련의 단계

    I/O 버스트(burst)

    I/O 요청이 발생해 커널에 의해 입출력 작업이 요청 된 후 완료되어 다시 CPU 버스트로 돌아가기까지 일어나는 일련의 작업

     

     

    CPU 스케줄러

    • 준비 상태에 있는 프로세스들 중 어떠한 프로세스에게 CPU를 할당할지 결정하는 운영체제의 코드

    • CPU 스케줄러 방식
      • 비선점형 방식
        : 프로세스 종료 or I/O 등의 이벤트가 있을 때까지 실행 보장(처리시간 예측 용이함)

      • 선점형 방식
        : OS가 CPU의 사용권을 선점할 수 있는 경우, 강제 회수하는 경우 (처리시간 예측 어려움)

     

    스케줄링 성능 평가

    스케줄링 기법의 성능을 평가하기 위해 여러 지표들이 사용된다. 이러한 지표들은 크게 시스템 관점의 지표와 사용자 관점의 지표로 나누어 볼 수 있다.

    시스템 관점의 지표

    • CPU 이용률(CPU uilization)
      • 전체 시간 중에서 CPU가 일을 한 시간의 비율

    • 처리량(throughput)
      • 주어진 시간 동안 준비 큐에서 기다리고 있는 프로세스 중 몇개를 끝마쳤는지(CPU 버스트를 완료한 프로세스의 개수)

    사용자 관점의 지표

    • 소요시간(turnaround time)
      • 프로세스가 CPU를 요청한 시점부터 자신이 원하는 만큼 CPU를 다쓰고 CPU 버스트가 끝날 때까지 걸린 시간 → 준비 큐에서 기다린 시간과 실제로 CPU를 사용한 시간의 합

    • 대기시간(waiting time)
      • CPU 버스트 기간 중 프로세스가 준비 큐에서 CPU를 얻기 위해 기다린 시간의 합

    • 응답시간(response time)
      • 프로세스가 준비 큐에 들어온 후 첫번째 CPU를 획득하기까지 기다린 시간

     

    댓글

Designed by Tistory.