250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- typescript
- Database
- 처리프로그램
- typescirpt
- 리액트
- 프로덕트구조
- 코드서울
- javascript
- sql
- react
- 오라클
- 프론트엔드
- 마이그레이션
- webpack
- 프로덕트관리
- 자바스크립트
- useCallback
- 데이터베이스
- 서비스프로그램
- roadhog
- Oracle
- 블록체인용어
- 운영체제
- 제어프로그램
- 타입스크립트
- dbms
- 선점 스케줄링
- 감시프로그램
- Migration
- react코어
Archives
- Today
- Total
Develop+
스케줄링의 목적과 스케줄링 기법 정리 본문
728x90
스케줄링
프로세스가 작업을 수행하려면 스케줄러로부터 cpu를 할당 받아야 한다.
할당을 받는 건 순서에 의해 받을 수 있고, 처리하게 되는 시간을 배정을 받는다.
할당 작업은 운영체제에서 구현이 되며 프로세스에게 효율적으로 자원을 할당하기 위한 정책이다.
목적
공정한 스케줄링
|
모든 프로세스에게 공정하게 할당을 해야함
|
응답시간 최소화
|
대화식 사용자에게는 최대한 응답시간(response time)을 빠르게 함
|
반환시간 최소화
|
프로세스를 제출한 시간부터 완료시까지 걸리는 반환시간(turn around time)을 최소화 한다.
|
대기시간 최소화
|
프로세스 준비 상태 큐에서 대기하는 시간을 최소화 해야함
앞에서 처리가 늦어지면 뒤에서 부하가 생기기 때문에 빠르게 처리해야함.
|
우선 순위 제도
|
먼저 처리해야 하는 것에 우선 순위를 부여해서 먼저 처리 함.
|
처리량 극대화
|
단위시간당 할 수 있는 처리량을 최대화 한다.
|
균형 있는
자원 사용
|
자원들이 유휴 상태에 놓이지 않도록 골고루 사용하게 함.
|
무한 연기 회피
|
자원을 사용하기 위해 무한정 연기하는 경우를 회피
|
스케줄링 기법
▶선점 스케줄링 (preemptive scheduling)
한 프로세스가 cpu를 할당받아서 실행하고 있을 때 다른 프로세스가 cpu를 사용하고 있는 프로세스를 중지시키고 cpu를 차지할 수 있는 스케줄링 기법을 선점 스케줄링 기법이라고 한다.
우선순위가 높은 프로세스를 먼저 수행할 때 유리하고 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 유용한다.
많은 오버헤드(overhead)를 초래함
A라는 프로세스가 cpu를 사용하고 있을 때 잠시 중지시키고 B를 시키는 상황에 사용됨.
예 ) round robin, SRT, 선점 우선 순위 등의 알고리즘이 있다.
▶비선점 스케줄링(non-preemptive scheduling)
이미 사용되는 cpu를 빼았지는 못하고 사용이 끝날 때 까지 기다리는 스케줄링 기법이다.
할당 받은 cpu는 끝날 때 까지 사용함.
응답 시간을 예측할 수 있고 일괄 처리 방식이 적합하다.
모든 프로세스에 요구에 대해 공정하다.
중요도가 높은 작업이 낮은 작업이 기다리는 경우가 발생할 수 있다.
예 ) FCFS(first come first service), SJF(shortest job first), 우선 순위, HRN(heighest response next)등이 있다.
-> 높은 우선순위가 먼저 실행되고 낮은 작업이 기다리게 된다.
728x90
'운영체제' 카테고리의 다른 글
선점 스케줄링/비선점 스케줄링 (0) | 2021.01.04 |
---|---|
스레드의 종류와 정의/분류 (0) | 2021.01.03 |
프로세스의 인터럽트/처리순서 (0) | 2021.01.03 |
프로세스/PCB/스풀링(spooling) 정리 (0) | 2021.01.03 |
매크로와 매크로 프로세서 처리과정 정리 (0) | 2020.12.31 |