sunghyeoneeee
로그인
sunghyeoneeee
로그인
[운영체제] CPU 스케줄링
박성현
·
2024년 4월 10일
팔로우
0
운영체제
0
운영체제
목록 보기
1/2
CPU 스케줄링이란?
여러 프로세스가 CPU를 공유하여 실행될 때, 어떤 프로세스가 CPU를 사용할지를 결정하는 방법
CPU 자원을 효율적으로 사용 가능
프로세스 간의 우선순위 관리 -> 시스템 성능 향상
스케줄링 알고리즘
비선점 알고리즘
실행 중인 프로세스를 다른 프로세스가 강제 중단시킬 수 없는 방식
FCFS (First Come First Service)
SJF (Shortest Job First)
우선순위 (Priority)
HRRN (Highest Response Ratio Next)
선점 알고리즘
실행 중인 프로세스를 다른 프로세스가 강제 중단시킬 수 있는 방식
RR (Round Robin)
SRT (Shortest Remaining Time First)
다단계 피드백 큐 (Multievel Queue)
비선점 알고리즘
선입 선처리 스케줄링 (FCFS)
준비큐에 도착한 순서에 따라 CPU 할당
최단 작업 우선 스케줄링 (SJF)
가장 작은 CPU버스트(작업시간)를 가진 프로세스에게 할당
두 프로세스가 동일한 길이의 CPU버스트를 가지면 순위를 정하기 위해 FCFS스케줄링 적용
우선순위 스케줄링
가장 높은 우선순위를 가진 프로세스에게 할당
우선순위가 같은 프로세스들은 FCFS 순서로 스케줄링 된다
최고 응답율 우선 스케줄링 (HRRN)
대기 중인 프로세스 중 현재 우선순위가 가장 높은 것을 선택
구한 값이 클수록 우선순위가 크다
우선순위 = (대기시간 + 서비스시간(CPU요구시간)) / 서비스시간(CPU요구시간)
선점 알고리즘
라운드 로빈 스케줄링 (RR)
시간 할당량 (time slice, time quantum)을 정의하여 정의된 CPU사용 시간 안에서만 수행
시간 안에 종료되지 못하면 CPU는 준비 큐의 다음 프로세스에 의해 선점 되며 수행 중이던 프로세스는 준비 큐의 마지막에 들어가서 다음 차례를 기다린다
최소 잔류 시간 우선 스케줄링 (SRT)
남은 작업 시간 순서 중 가장 적은 프로세스를 선택
다단계 피드백 큐 스케줄링 (Mulitlevel Feedback Queue)
진입 프로세스는 가장 우선순위가 높은 큐의 꼬리에 진입
프로세스 처리시간이 남아있으면
다음 레벨 큐의 꼬리에 진입
각 레벨의 큐에서 허용된 시간할당량을 모두 사용하면 한 수준 낮은 다음 큐로 이동
박성현
팔로우
다음 포스트
[운영체제] RAID
0개의 댓글
댓글 작성