프로세스 스케줄링 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
[[분류:운영체제]]
;Process Scheduling
;Process Scheduling
한정된 CPU자원을 효율적으로 사용하기 위해 여러 프로세스에 CPU 자원을 분배하기 위한 기법
한정된 CPU자원을 효율적으로 사용하기 위해 여러 프로세스에 CPU 자원을 분배하기 위한 기법


== 선점 스케줄링과 비선점 스케줄링 ==
== 비선점 스케줄링 ==
=== 비선점 스케줄링 ===
; 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗을 수 없는 스케줄링
; 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗을 수 없는 스케줄링
;[[비선점 스케줄링|비선점 스케줄링 자세히 보기]]
;[[비선점 스케줄링|비선점 스케줄링 자세히 보기]]
11번째 줄: 9번째 줄:
* 중요한 짧은 작업이 중요하지 않은 긴 작업을 기다리는 등의 비효율이 발생한다.
* 중요한 짧은 작업이 중요하지 않은 긴 작업을 기다리는 등의 비효율이 발생한다.
* 응답 시간 예측이 용이하다.
* 응답 시간 예측이 용이하다.
* '''대표적 알고리즘''': FCFS(FIFO), SJF, HRN, 우선순위, 기한부 등
* '''대표적 알고리즘''': FCFS(FIFO), SJF, HRRN, 우선순위, 기한부 등


=== 선점 스케줄링 ===
== 선점 스케줄링 ==
; 프로세스가 CPU를 할당받아 실행 중에도 우선순위가 높은 다른 프로세스가 CPU를 빼앗을 수 있는 스케줄링
; 프로세스가 CPU를 할당받아 실행 중에도 우선순위가 높은 다른 프로세스가 CPU를 빼앗을 수 있는 스케줄링
;[[선점 스케줄링|선점 스케줄링 자세히 보기]]
;[[선점 스케줄링|선점 스케줄링 자세히 보기]]
20번째 줄: 18번째 줄:
* 선점 시간 배당을 위한 타이머 클럭이 필요하며, 선점으로 인한 많은 오버헤드를 초리한다.
* 선점 시간 배당을 위한 타이머 클럭이 필요하며, 선점으로 인한 많은 오버헤드를 초리한다.
* '''대표적 알고리즘''': SRT, RR, 선점 우선순위, MLQ, MLFQ 등
* '''대표적 알고리즘''': SRT, RR, 선점 우선순위, MLQ, MLFQ 등
== 요약 ==
{| class="wikitable"
! 구분
! 기법
! 설명
! 문제/해결
|-
| rowspan="3" | 비선점
| [[FCFS]]
| 먼저 들어온 프로세스 먼저 처리
| Convoy Effect 발생
|-
| [[SJF]]
| 처리시간이 짧은 프로세스부터 처리
| Starvation 발생
|-
| [[HRN]]
| 짧은 작업시간이면서 대기시간이 긴 프로세스부터 처리
| Starvation 해결
|-
| rowspan="6" | 선점
| [[RR|라운드 로빈]]
| 먼저 들어온 순서대로 일정 시간만큼만 처리
|
|-
| [[SRT]]
| 남은 시간이 짧은 프로세스부터 처리
|
|-
| [[MLQ]]
| 우선순위별로 큐를 분리하여 다양한 스케줄링 적용
| Starvation 발생
|-
| [[MLFQ]]
| MLQ에서 큐 간 이동하여 우선순위 조정
| Starvation 해결
|-
| [[RM]]
| [[RTOS]]에서 요청 주기가 짧은 순서대로 처리
|
|-
| [[EDF]]
| [[RTOS]]에서 마감 시간이 임박한 순서대로 처리
| 마감시간 계산 어려움
|}
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)