ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Chapter 5: CPU Scheduling
    TIL(today i learned)/운영체제 2023. 4. 10. 13:13

    다중프로래밍의 목적은 CPU의 사용률을 극한으로 끌어올리는 것이다.

    프로세스의 실행은 I/O대기상태와 CPU실행을 왔다갔다 한다.

    보통 CPU실행만 지속되는경우는 별로 없음을 위 그래프가 보여줌

    CPU가 유휴상태가 될때마다 운영체제는 준비 큐에 있는 프로세스하나를 선택하고 실행하여야 되는데 이는CPU스케줄러에 의해 결정된다.

     

    CPU 스케줄링 결정이 발생하는경우

    1.프로세스가 running에서 wait상태로 들어갈때

    2.프로세스가 running에서 ready상태로 들어갈때

    3.프로세스가 wait에서 ready상태로 들어갈때

    4.프로세스가 종료할때

     

    스케줄링방법에는 선점 스케줄링방법과 비선점 스케줄링 방법이 있는데 선전형 커널에는 공유 커널데이터 구조에 액세스 할 때 경쟁 조건을 방지하기위해mutex락 과 같은 기법이 필요하다.

     

    디스패처는 스케줄링의 기능에 포함된다.

    디스페처는 스케줄러가 선택한 프로세스에 CPU제어를주고 다음과 같은 기능을 수행한다.

    1.사용자 모드로 전환

    2.프로세스 문맥 변환

    3.프로그램을 다시 시작시 사용자 프로그램의 적절한위치로 이동

     

    디스페치가 다른 프로세스를 실행하는데 걸리는시간을 티스페치 지연(dispatch latency) 이라고 한다.

     

    스케줄링의 기준

    CPU 이용율:CPU를 바쁘게 할수있는정도

    처리량:시간단위당 완료된 프로세스의 수

    총처리 시간:준비큐에서대기하는 시간+CPU에서 실행되는시간+I/O시간

    대기 시간:준비 큐에서 대기하면서 보낸 시간의 합

    응답 시간:하나의 요구를 제출한 후 첫번째 응답이 나올때 까지 걸리는 시간

     

     

     

    스케줄링 알고리즘 종류

    선입선처리:FCFS first served first scheduling

    하나의 긴 프로세스가 끝나기전까지 다른 프로세스들이 CPU양도를 기다리는것을 convoy(호위 효과) 라고 한다.

    최단 작업 우선:SJF 가장작은 CPU버스트를 가진 프로세스부터 처리하는방식

    'TIL(today i learned) > 운영체제' 카테고리의 다른 글

    4-1 Multithread  (0) 2023.04.03
    Android Process Hierarchy  (0) 2023.03.27
    3.2.1 Scheduling Queues  (0) 2023.03.22
    3.1 Process Concept  (0) 2023.03.20
    용어 정리  (0) 2023.03.19
Designed by Tistory.