[운영체제] 스케줄러

혀니앤·2022년 9월 19일
0

컴퓨터 지식 공부

목록 보기
3/10
post-thumbnail

1️⃣ 스케줄러

  • 스케줄링 : 여러 프로세서가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것
  • 스케줄러 : 한정적인 메모리를 여러 프로세스가 효율적으로 사용할 수 있도록 다음 실행 시간에 실행할 수 있는 프로세스 중에 하나를 선택하는 것. 스케줄러에 따라 프로세스의 상태 변화

2️⃣ 스케줄링 큐 종류

  • Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합
  • Ready Queue : 현재 메모리 내에 있으면서 CPU 를 잡아서 실행되기를 기다리는 프로세스의 집합
  • Device Queue : Device I/O 작업을 대기하고 있는 프로세스의 집합

3️⃣ 스케줄링 종류

  • 장기 스케줄링 (작업 스케줄링, 상위)

    • 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 Ready 큐로 보내는 작업
    • 메모리 - 디스크 사이의 스케줄링
    • 프로세스에 메모리 할당
    • degree of Multiprogramming 제어
    • 프로세스의 상태를 New 에서 Ready 상태로 전환
  • 단기 스케줄링 (하위 스케줄링) :

    • 프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업
    • 프로세서 스케줄링 및 문맥 교환은 프로세서 스케줄러에 의해 수행됨
    • Ready Queue에 있는 프로세스 중 어떤 프로세스를 Running 상태로 만들지 선택
    • CPU - 메모리 사이의 스케줄링
    • 프로세스에 CPU를 할당
  • 중기 스케줄링

    • 어떤 프로세스들이 CPU를 할당 받을 것인지 결정하는 작업
    • CPU를 할당받으려는 프로세스가 많을 경우 (=Ready 중인 프로세스가 많은 경우) 프로세스를 일시 보류(Suspend)시킨 후 활성화(Ready) 해서 일시적으로 부하를 조절
    • 여유 공간 마련을 위해 프로세스를 통째로 메모리에서 디스크로 쫓아냄 (swap out)
    • 프로세스의 상태 : Ready ↔ Suspend (Suspend 의 경우 wait와는 달리 스스로 Ready로 돌아갈 수 없음)

참고

https://intrepidgeeks.com/tutorial/cs-interview-1st-week-scheduler

https://technote-mezza.tistory.com/70

profile
일단 시작하기

0개의 댓글