일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 사설 ip
- System Design
- gitops
- elasticsearch
- 오블완
- 대규모 시스템 설계
- Kubernetes
- apollo router
- Logrus
- http 413
- Infra
- Intellij
- golang
- UnBuffered channel
- intellij ide
- go
- goland
- 배포 파이프라인
- Buffered channel
- 윈도우키보드
- 컴포지트패턴
- GoF
- Golines
- 티스토리챌린지
- GoF 디자인패턴
- body size
- notification system
- 디자인패턴
- AWS
- 배포 프로세스
Archives
- Today
- Total
Fall in IT.
CPU Scheduling 본문
반응형
CPU Scheduling
- 선점형(preemtive)
- CPU를 선점하고 동작되는 스케줄링 기법 (뺏을 수 없음) - 비선점형(nonpreemtive)
- CPU를 언제든지 뺏을 수 있는 형태로 동작하는 스케줄링 기법
CPU 성능 척도
- CPU utilization (CPU 이용률)
- 시스템 입장에서 CPU가 일하는 시간 - Throughtput (처리량)
- 시스템 입장에서 CPU가 단위 시간당 처리하는 처리량 - Turnarount time (소요시간, 반환시간)
- 프로세스 입장에서 CPU를 기다리고, 점유하고 모두 끝내는데 걸리는 시간 - Waiting time (대기 시간)
- 프로세스 입장에서 CPU를 점유하기까지 기다리는 시간 - Response time (응답 시간)
- 프로세스 입장에서 CPU를 처음으로 점유하는데 걸리는 시간
중국집에 비유해보면..
- CPU utilization (CPU 이용률)
- 가게 입장에서 요리사가 일하는 시간 - Throughtput (처리량)
- 가게 입장에서 단위 시간당 받는 손님 수 - Turnarount time (소요시간, 반환시간)
- 고객 입장에서 음식을 시키고, 다 먹고, 나가는데 걸리는 시간 - Waiting time (대기 시간)
- 고객 입장에서 기다리는 시간 - Response time (응답 시간)
- 고객 입장에서 첫번째 음식이 나오는데 걸리는 시간
CPU Scheduling 종류
- FCFS (First-Come-First-Served)
- 먼저 들어온 프로세스 먼저 처리하는 스케줄링 기법
- 가장 먼저 들어온 작업이 클 경우 비효율적인 방법 (Convoy Effect)
- CPU 사용시간 예측 가능 - SJF (Shortest-Job-First)
- 가장 빨리 처리되는 프로세스 먼저 처리하는 스케줄링 기법
- wating time이 최소값
- 작업 시간이 오래 걸리는 큰 프로세스의 경우 영원히 처리되지 못할 가능성이 있다.
- CPU 사용시간 예측 불가능 - Priority Scheduling
- 우선순위가 높은 프로세스 먼저 처리하는 스케줄링 기법
- 작은 숫자가 우선순위가 높다.
- SJF도 Priority Scheduling 기법 중 하나
- 기아현상(starvation, 우선순위가 낮은 프로세스는 처리가 안되는 현상)이 발생할 수 있다.
- 해결방법으로, aging방법을 사용한다. (aging, 오래된 프로세스의 우선순위를 높여주는 방법) - RR (Round Robin)
- 일반적으로 쓰이는 스케줄링 기법으로 각 프로세스는 동일한 크기와 할당 시간을 가진다.
- 응답시간(response time)이 빠르다.
- 할당시간을 지나치게 크게하면 FCFS와 동일하게 동작된다.
- 할당시간을 지나치게 작게하면 잦은 Context switch로 인해 오버헤드가 높아져서 성능이 저하된다.
- 할당시간은 일반적으로 10~100ms를 사용한다.
반응형
'컴퓨터 & 네트워크 > 운영체제' 카테고리의 다른 글
Process Management 알아보기 (0) | 2018.01.22 |
---|---|
운영체제 프로세스 개념과 흐름 알아보기 (1) | 2018.01.16 |
운영체제란? 간단하게 알아보기 (0) | 2018.01.15 |
Comments