728x90
프로세스의 특성 분류
- 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 스케줄러에 의해 선택된 프로세스에게 넘긴다.
- cpu 정보 save
- 새로운 프로세스 정보 cpu에 주기(레지스터 값 세팅)
- cpu 넘기기
- 이 과정을 문맥교환 context switch라고 부름.
둘ㄷ ㅏ운영체제 안에 있는 코드
CPU 스케줄링 이슈
- cpu를 누구에게 줄것인가
- 계속 쓰게 할 것인가, 뺏을 것인가
- 비선점형 nonpreemptive- 줬으면 뺏지 않음
- 선점형 - 언제든지 뺏을 수 있음
Scheduling Criteria 성능 척도
시스템 입장
- CPU utilization
전체 시간 중에서 cpu가 놀지 않고 일한 시간의 비율
- Throughput
주어진 시간 안에 몇 개의 일을 처리했나
고객 입장(프로세스 입장)
- Turnaround time
- waiting + cpu burst (I/O 하러 나갈 때까지)
- waiting time
- waiting in the ready queue
- preemptive 같은 경우, 한 번의 cpu burst 동안에도 CPU 얻었다 뺏겼다 하면서 줄스는 횟수 늘어남. 그거 시간 다 합해서.
- response time
- 최초의 cpu를 얻기까지 기다린 시간
Scheduling algorithm
FCFS (First-Come First-Served)
비선점형
convoy effect
SJF (Shortest-Job-First) & SRTF
문제점
- starvation 문제 : CPU burst time이 긴 프로세스는 영원히 CPU를 얻지 못하게 될 수도 있음.
- CPU burst time 확실한 예상 불가
Priority Scheduling
preemptive - 우선순위 높은 프로세스 오면 진행 중 프로세스에서 cpu 뺏음
nonpreemptive - 안 뺏음
- Aging(노화) : 우선순위가 낮은 프로세스라도 오래 기다기게 되면 우선순위를 높여줌
Round Robin(RR)
시간 똑같이 타이머 세팅해서 끝나면 뺏고 뒤로 가서 줄 서고 하는 거
cpu사용시간이 다양한 프로세스들이 섞여있을 때 쓰기에 좋은 스케줄링
cpu사용시간이 모두 동일하면 마지막까지 모든 프로세스들이 기다려야 함. waiting time 길어짐
Multilevel Queue
- 프로세스를 어느 줄에 넣을 것인가?
- 우선순위 낮은 프로세스 starvation
Multilevel Feedback Queue
priority가 승격(?)이 되기도 함.
cpu사용시간이 짧은 프로세스한테 cpu가 우선적으로.
긴 프로세스는 밑으로 점점 쫓겨남
Multiple-Processor Scheduling
Real-time scheduling
- 데드라인 보장.
출처 : http://www.kocw.or.kr/home/cview.do?cid=3646706b4347ef09
운영체제
운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각
www.kocw.net
728x90
'study > 운영체제 OS' 카테고리의 다른 글
Process management - 운영체제 반효경 교수님 (0) | 2022.10.24 |
---|---|
Process - 운영체제 반효경교수님 (0) | 2022.10.23 |
System Structure & Program Execution - 운영체제 반효경교수 (0) | 2022.10.21 |
Introduction to OS (0) | 2022.10.20 |
운영체제 개요 - 이화여대 반효경교수님 강의 (0) | 2022.10.20 |
댓글