스케줄링의 목적
- 시스템의 성능 향상
대표적 시스템 성능 지표
- 응답시간
- 작업 처리량
- 자원 활용도
대기시간 응답시간 반환시간
스케줄링의 단계
발생하는 빈도 및 할당 자원에 따른 구분
I/O -bounded 와 coumpute- bounded 프로세스들을 잘 섞어서 선택해야한다.
보통 시분할 시스템을 사용한다.
스케줄링 정책(Poicy)
선점 vs 비선점
Non-preemptive scheduling
- 할당 받을 자원을 스스로 반납할 때까지 사용
쉽게 말하면 한번 할당받으면 다쓸때까지 자원을 안놓아주는 거임
ex) system call, I/O
장점
- Context switch overhead 가 적음
안주니깐 콘텍스 스위치가 적지
단점
- 잦은 우선순위 역전, 평균 응답 시간 증가
평균응답시간.. 증가 이거는 롤 키는걸 누르면 그게 다켜질때까지 다른거 못한다는 거임
Preemptive schduling
- 타의에 의해 자원을 빼앗길 수 있음
ex) 할당 시간 종료, 우선순위가 높은 프로세스 등장
- Context switch overhead가 큼
자원을 뺏긴다는것 자체가 프로세스가 참조하는 메모리영역이 많이 바뀜 그래서 공유영역이 많은 스레드가 콘텍트스위칭에 유리하기도 한다.
- Time-sharing system, real-time system 등에 적합
Priority (우선순위)
프로세스의 중요도
Static priority(정적 우선순위)
- 구현이 쉬움
- 시스템 환경이 변환에 대한 대응이 어려움
Dynamic priority (동적 우선순위)
- 구현이 복잡, overehad가 있을 수 있음
- 시스템 환경 변화에 유연한 대응 가능
작업관리자에서 프로세스에서 우선순위 설정으로 어느정도 설정 할 수 있다.
동적 정적?? 정적은 FIFO 같은 비선점 뺏기지 않는 그러한 우선순위로
동적은 현재 환경에 따라 바뀌므로 알고리즘 자체가 어려울수가 있다.
'개인공부' 카테고리의 다른 글
SPN / SRTN / HRRN (0) | 2020.06.21 |
---|---|
FCFS/RR (0) | 2020.06.21 |
스레드 관리 (0) | 2020.06.21 |
프로세스 관리 (0) | 2020.06.21 |
기초 : PC, 캐시, 버스 요약 (0) | 2020.06.21 |