티스토리 뷰
Process Scheduling
스케줄링
여러개의 프로세스가 시스템 내 존재하는데, 이러한 프로세스가 생성되어 실행될 때 필요한 시스템의 여러자원을 해당 프로세스에게 할당하는 작업을 하는 것을 말한다. 다시 말하면 CPU를 사용하려고 하는 프로세스들의 우선순위를 관리하는 일을 한다.
스케줄링 목적
스케줄링의 목적은 당연하게 들리겠지만 시스템의 성능 향상이다. 그렇다면 여기서 말하는 성능은 무엇인가 의문이 들 수 있다. 어떤 작업을 하고 목적이 무엇인지에 따라 성능의 기준은 달라진다. 따라서 목적에 맞는 지표를 고려하여 스케줄링 기법을 선택해야한다. 다음은 대표적인 시스템 성능 지표이다.
- 응답시간(response time)
- 작업 요청으로부터 응답을 받을 때 까지의 시간이다.
- ex) interactive, real-time system
- 작업 처리량(throughput)
- 단위 시간 동안 완료된 작업의 수이다.
- ex) batch system
- 자원 활용도(resource utilization)
- 주어진 시간동안 작원이 활용되는 시간
스케줄링의 단계
-
발생하는 빈도 및 할당 자원에 따라 구분한다.
-
Long-term scheduling(장기 스케줄링)
-
가끔 일어나는 일!!
-
어떤 프로세스를 커널에 등록할 것인가를 정하는 스케줄링이다. (Job scheduling)
-
I/O-bounded와 compute-bounded 프로세스드을 잘 섞어서 선택해야 한다.
- 왜? 둘 중 하나가 놀고 있으면 비효율적이니까!!!
-
시분할 시스템에서는 모든 작업을 시스템에 등록해야한다.
- 왜? 시간을 쪼개서 사용하니까 장기 스케줄링이 불필요!!
-
-
Mid-term scheduling(중기 스케줄링)
-
종종 일어나는 일!!
-
어떤 프로세스에게 메모리를 할당할 것인가를 정하는 스케줄링이다.(Memory allocation)
-
-
Short-term scheduling(단기 스케줄링)
-
자주 일어나는 일!!
-
어떤 프로세스에게 CPU(프로세서)를 할당할 것인가를 정하는 스케줄링이다. (Process scheduling)
-
-
Over view
스케줄링 정책
- 선점 VS 비선점
- 선점 : 빼앗을 수 있다.
- 할당 받은 자원을 스스로 반납할 때까지 사용한다. 예를 들어 System call, I/O 등
- 장점 : Context switch overhead가 적다.
- 단점 : 평균 응답 시간이 증가한다.
- 비선점 : 빼앗을 수 없다.
- 타의에 의해 자원을 빼앗길 수 있다. 예를 들어 할당 시간 종료, 우선순위가 높은 프로세스 등
- Context switch overhead가 크다.
- Time-sharing syetem, real-time system 에 적합하다.
- 선점 : 빼앗을 수 있다.
- 우선순위
- 우선순위란 프로세스의 중요도이다.
- 정적 우선순위
- 프로세스 생성시 결정된 우선순위가 유지된다.
- 구현이 쉽고 오버헤드가 적지만 시스템 환경 변화에 대해 대응하기 어렵다.
- 동적 우선순위
- 프로세스의 상태 변화에 따라 우선순위를 변경한다.
- 구현이 복잡하지만 시스템 환경 변화에 대해 유연하게 대응이 가능하다.
프로세스 스케줄링 알고리즘은 다음을 참고해주세요.
https://hee96-story.tistory.com/85
[OS] Basic Scheduling algorithms (프로세스 스케줄링 알고리즘)
Basic Scheduling algorithms index FCFS(First-Come-First-Service) RR(Round-Robin) SPN(Shortest-Process-Next) SRTN(Shortest-Remaining Time Next) HRRN(High-Response-Ratio-Next) MLQ(Multi-Level Queue) M..
hee96-story.tistory.com
'OS' 카테고리의 다른 글
[OS] 프로세스 동기화 & 상호배제 (0) | 2020.03.18 |
---|---|
[OS] Basic Scheduling algorithms (프로세스 스케줄링 알고리즘) (0) | 2020.03.16 |
[OS] 스레드 실습 : 멀티 스레드(채팅) (0) | 2020.02.26 |
[OS] 프로세스 관리 (0) | 2020.01.15 |
[OS] 운영체제 개요 (0) | 2020.01.15 |
- Total
- Today
- Yesterday
- DFS
- 알고리즘
- 우선순위큐
- SRTN
- 사회망서비스
- N-Queen
- 기능개발
- 네트워크
- hash
- java
- binarySearch
- git
- algorithm
- MLQ
- 농협정보시스템IT
- Android
- 백 트래킹
- 프로세스 스케줄링
- Process Scheduling
- hashtable
- 프로그래머스
- 자료구조
- 4-way-handshake
- loss function
- 백트래킹
- MFQ
- 3-way-handshake
- SWExpert
- programmers
- Objective function
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |