본문 바로가기

OS(운영체제)

CPU Scheduling 1

CPU and I/O Bursts in Program Execution, CPU-burst Time의 분포, 프로세스의 특성 분류, CPU Scheduler & Dispatcher

 

프로세스의 특성 분류

프로세스는 그 특성에 따라 다음 두가지로 나눔

  • I/O-bound process : CPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 job(many short CPU bursts)
  • CPU-bound process : 계산 위주의 job(few very long CPU bursts)

CPU Scheduler & Dispatcher

  1. CPU Scheduler
    • Ready 상태의 프로세스 중에서 이번에 CPU를 줄 프로세스를 고른다.
  2. Dispatcher
    • CPU의 제어권을 CPU scheduler에 의해 선택된 프로세스에게 넘긴다
    • 이 과정을 Context switch라고 한다.
  3. CPU스케쥴링이 필요한 경우는 프로세스에게 다음과 같은 상태 변화가 있는 경우이다.
    • Running -> Blocked (예 : I/O 요청하는 시스템 콜)
    • Running -> Ready (예 : 할당시간만료로 timer Interrupt)
    • Blocked -> Ready (예 : I/O 완료 후 인터럽트)
    • Terminate
      • 위 4개의 스케쥴링은 nonpreemptive(강제로 빼앗지 않고 자진 반납)
      • All other scheduling is preemptive(강제로 빼앗음)

CPU-Burst Time의 분포

여러 종류의 job이 섞여 있기 때문에 CPU 스케쥴링이 필요

  • Interactive job에게 적절한 response 제공 요망
  • CPU와 I/O 장치 등 시스템 자원을 골고루 효율적으로 사용

CPU and I/O Bursts in Program execution

 Scheduling Criteria(Performance Index)

시스템 입장의 성능 척도

  • CPU Utiliaztion(이용률)
    • Keep the CPU as busy as possible
  • Throughtput(처리량)
    • # of processes that complete their execution per time unit

프로그램 입장의 성능 척도

 

  • Turnaround time(소요 시간, 반환 시간)
    • amount of time to execute a particular process
  • Wating time(대기 시간)
    • amount of time a process has been waiting in the ready queue
  • Response time(응답 시간)
    • amount of time it keeps from when a request was submitted until the first response is produced, not output (for time-sharing environment)

 

'OS(운영체제)' 카테고리의 다른 글

Process Synchronization1  (0) 2023.08.06
Scheduling Algorithm(FCFS,SJF,Priority,RR, Multilevel, etc.)  (0) 2023.08.06
Process Management 2  (0) 2023.07.29
Process Management 1  (0) 2023.07.29
Process 2~3  (0) 2023.07.29