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
- CPU Scheduler
- Ready 상태의 프로세스 중에서 이번에 CPU를 줄 프로세스를 고른다.
- Dispatcher
- CPU의 제어권을 CPU scheduler에 의해 선택된 프로세스에게 넘긴다
- 이 과정을 Context switch라고 한다.
- 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 |