One_Blog

프로세스 스케줄링 [운영체제 수업] 본문

운영체제

프로세스 스케줄링 [운영체제 수업]

0xOne 2023. 5. 9. 16:15
728x90

날짜 : 2023년 5월 9일

 

오늘 수업 주제

: 프로세스 스케줄링





오늘 배운 내용 요약

:

 

I/O Burst (입출력중심 스케줄러)

  • 속도가 느림
  • 빠른 응답을 요구함
  • 높은 우선순위 부여
  • CPU를 짧게 자주 사용

CPU Burst (CPU중심 스케줄러)

  • CPU를 길게 사용
  • CPU 중심
  • CPU 사용 횟수를 줄여서 균형 유지

 

스케줄러 종류

 

장기 스케줄러

  • 어떤 프로세스를 준비큐에 넣을 지 결정
  • 시분할 시스템에 두지 않음
  • 메모리에 동시에 올라간 프로세스의 수를 조절
  • 생성 상태 관리

 

중기 스케줄러

  • 메모리에 적재된 프로세스 수 관리
  • 스와핑을 통해 메모리를 빼앗고 디스크의 스왑 영역에 저장하여 중단
  • 메모리에 여유가 생기면 다시 적재하여 메모리에 올라온 프로세스의 수 조절
  • 중단된 준비, 중단된 대기, 대기 상태 관리

 

단기 스케줄러

  • CPU 스케줄러
  • 준비, 실행, 대기 상태 관리
  • 메모리 내 준비 상태에 있는 작업 중 실행할 프로세스 선택하여 CPU 할당
  • 미리 정한 알고리즘에 따라 CPU 할당 프로세스 선택
  • 매우 빈번하게 호출 -> 수행 속도가 빨라야 함

 

알고리즘의 선택 기준

  • 프로세서 사용률
  • 처리율 : 단위 시간 당 완료하는 작업 수가 많도록 설정
  • 반환 시간 : 작업이 메모리에 도달하기 까지 걸린 시간, 준비큐에 머문 시간, 완료 시간, 실행 시간
  • 대기 시간 : 준비큐에서 대기하는 시간
  • 반응 시간 : 작업이 요청한 시각부터 반응을 시작하는 시각까지의 시간

비선점 스케줄링

  • 현 프로세스가 자원을 선택했을 때 다른 프로세스가 해당 자원을 빼앗을 수 없는 스케줄링
  • 순서대로 처리되므로 공정성 있음
  • 일괄 처리 시스템에 적합
  • 공정성은 있으나 융퉁성이 없으며 처리율이 떨어진다.

 

FCFS/FIFO 알고리즘

  • First in, First Out
  • 준비큐에 도착하는 순서대로 CPU를 할당
  • 먼저 도착한 작업이 먼저 처리되는 공정성
  • 가장 간단함
  • 융퉁성 없음