ahlight
개발 저장소
ahlight
전체 방문자
오늘
어제
  • 분류 전체보기 (29)
    • Java (5)
    • Spring (6)
    • JPA (2)
    • RDBMS (0)
    • Computer Science (0)
      • 디자인패턴, 프로그래밍 패러다임 (0)
      • 네트워크 (0)
      • 운영체제 (0)
      • 데이터베이스 (0)
    • 알고리즘 (0)
    • 프로그래머스 (0)
    • 백준 (0)
    • 서평 (3)
    • 회고 (1)
    • TIL (0)
    • 기타 (2)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 라즈베리파이4 #홈서버 #포트포워딩 #dhcp
  • TDD
  • 넥스트스텝
  • Java
  • 클린코드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ahlight

개발 저장소

Computer Science/운영체제

CPU 스케줄링 알고리즘

2022. 10. 5. 22:56

1. CPU 스케줄링

  • 정의 : 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
  • 종류
장기 스케줄링 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정해 준비상태 큐로 보내는작업
중기 스케줄링 어떤 프로세스들이 CPU를 할당받을 것인지 결정하는 작업
단기 스케줄링 프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업
  • 목적: 공정성, 처리율 증가, CPU 이용률 증가, 우선순위 제도 , 오버헤드 최소화, 응답시간 최소화, 반환시간 최소화, 대기시간 최소화, 균형있는 자원의 사용, 무한 연기 회피 등

2. CPU 스케줄링 알고리즘 : 어떤 프로그램에 CPU 소유권을 줄 것인지 결정. CPU 이용률은 높게, 시간당 많은 일을 수행하고, 준비 큐에 있는 프로세스는 적게, 응답시간은 짧게 설정하는 것을 목표로한다. 크게 비선점, 선점형 두가지 방식으로 나뉜다.

 

3. 비선점형 방식 : 프로세스가 스스로 CPU 소유권을 포기하는 방식. 강제로 프로세스를 중지하지 않는다. 컨텍스트 스위칭으로 인한 부하가 적다.

FCFS 가장 먼저 온것을 가장먼저 처리하는 알고리즘. 선입선출. 수행 시간이 긴 프로세스 때문에 준비큐에서 오래기다리는 현상(convoy effect)이 발생한다.
SJF 실행시간이 가장 짧은 프로세스를 가장 먼저 실행. 긴 시간을 가진 프로세스가 실행되지 않는 현상(starvation)이 일어나며 평균 대기 시간이 가장 짧다.
HRN(Highest Response-ratio Next, 우선순위)  대기 시간과 서비스시간을 이용해 우선순위를 산정하고 높은 순으로 실행. -> 오래된 작업일 수록 우선순위가 높아진다.((대기시간 + 서비스시간) / 서비스시간)

4. 선점형 방식 : 현대 운영체제가 쓰는 방식으로 프로세스를 강제 중단시킨 후 다른 프로세스에게 CPU 소유권을 할당하는 방식. 많은 오버헤드를 발생시킨다.

라운드 로빈 우선순위 스케줄링의 일종으로 각 프로세스에게 동일한 할당 시간을 주고 그 시간안에 끝나지 않으면 다시 준비 큐의 뒤로 가는 알고리즘. 로드밸런서에서 트래픽 분산 알고리즘으로도 쓰인다.
SRF SJF와 비슷한 방식이나 중간에 더 짧은 작업이 들어오면 수행하던 프로세스를 중지하고 강제로 해당 프로세스로 수행하는 알고리즘
다단계 큐 우선순위에 따른 준비큐를 여러개 사용하고, 큐마다 다른 알고리즘을 적용한것. 큐 간의 프로세스 이동이 안되므로 스케줄링 부담이 적지만 유연성이 떨어진다.

'Computer Science > 운영체제' 카테고리의 다른 글

프로세스와 스레드  (0) 2022.10.04
메모리  (0) 2022.09.29
운영체제, 컴퓨터의 개념 및 구조  (0) 2022.09.28
    'Computer Science/운영체제' 카테고리의 다른 글
    • 프로세스와 스레드
    • 메모리
    • 운영체제, 컴퓨터의 개념 및 구조
    ahlight
    ahlight

    티스토리툴바