ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OS - CPU스케줄링
    CS/OS 2021. 2. 16. 20:16

    CPU 스케줄링


    CPU 스케줄링

    • CPU와 같은 자원을 우선순위에 기반하여 프로세스에 할당하는 방법을 말한다. 

    • 이때 사용되는 Queue에는 세 가지가 있다.
      1. Job Queue: 현재 시스템 안에서 돌고 있는 프로세스를 의미한다.
      2. Ready Queue: 메모리 안에서 CPU의 할당을 기다리는 프로세스를 의미한다.
      3. Device Queue: 장치 입출력을 기다리고 있는 프로세스를 의미한다.

     

    스케줄러의 종류

    1. 장기 스케줄러(Job 스케줄러)
      • 어떤 프로세스를 메모리에 먼저 적재할 것인지 결정한다. 
    2. 단기 스케줄러(CPU 스케줄러)
      • CPU 스케줄링.
      • 메모리에 올라온 프로세스들 중에서 어떤 프로세스를 먼저 CPU의 할당을 받게 할지 순서를 결정한다.
    3. 중기 스케줄러(Swapper)
      • 자원 고갈 등의 이유로 메모리에 적재된 프로세스 중 일부를 하드디스크로 옮긴다.

     

    CPU 스케줄링의 종류

    • Ready Queue에 있는 프로세스를 대상으로 스케줄링 한다.
    • 비선점 스케줄링) 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없다.
      • FIFO: Ready Queue에 도착한 순서대로 CPU를 할당한다.
      • SJF: Ready Queue에 있는 프로세스들 중에 실행시간이 짧은 프로세스에 먼저 CPU를 할당한다. 
      • 장점: 응답시간을 예측하기 용이하다.
      • 단점: 긴 작업이 짧은 작업, 중요 작업을 오랫동안 기다리게 하는 경우가 발생한다.

     

    • 선점 스케줄링) 우선순위가 더 높은 프로세스가 CPU를 강제로 빼앗아 사용할 수 있다. 
      • SRT: 실행중인 프로세스의 남은 시간과 Ready Queue에 있는 프로세스의 실행시간을 비교하여 가장 짧은 실행시간을 요구하는 프로세스에게 CPU를 할당한다.
      • RR: 모든 프로세스가 동일한 시간 만큼 CPU를 할당 받고 할당 시간이 만료되면 Ready Queue에 맨 뒤에 적재된다. 할당량이 클수록 FIFO와 유사해 지고, 작을수록 문맥교환이 많아져 성능에 문제가 생긴다. 
      • 장점: 긴급하게 처리해야 할 높은 우선순위를 가진 프로세스를 빠르게 처리할 수 있다.
      • 단점: 프로세스간 문맥 교환이 자주 발생하여 운영체제의 오버헤드가 증가한다. 

     

    • 문맥 교환(context switch): 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해, 이전의 프로세스의 상태를 보관하고 새로운 프로세스의 상태를 적재하는 작업이다. 

     

    reference

    velog.io/@hygoogi/%EA%B8%B0%EC%88%A0%EB%A9%B4%EC%A0%91-%EC%A4%80%EB%B9%84%ED%95%98%EA%B8%B0#%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C

    velog.io/@hygoogi/%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-%EC%A7%88%EB%AC%B8-%EB%AA%A8%EC%9D%8C

    m.blog.naver.com/PostView.nhn?blogId=565820&logNo=30163638419&proxyReferer=https:%2F%2Fwww.google.com%2F

     

    'CS > OS' 카테고리의 다른 글

    [OS] CPU 작동원리  (0) 2021.08.06
    [OS]Process VS Thread  (0) 2021.07.10
    OS - 은행원 알고리즘  (0) 2021.02.20
    OS - 프로세스와 쓰레드  (0) 2021.02.15
    OS - 메모리  (0) 2021.02.09

    댓글

Designed by Tistory.