컴퓨터 공학/혼자 공부하는 컴퓨터 구조 +운영체제

24.CPU 스케줄링

공부를하자 2023. 7. 25. 01:27

1.CPU  스케줄링

  1)정의 개요

   -운영체제가 프로세스들에게 공정적이고 합리적으로 CPU 자원을 배분하는 .

   -프로세스마다 우선순위를 가지고 있고 높은 프로세스에는 입출력 작업이 많은

    프로세스가 있다.

  -우선순위는 PCB 명시되고 적한 순위가 높은 것을 선택하여 처리할 프로세스를

   결정한다.

   -프로세스는 실행 상대와 대기상태를 반복하여 실행된다.

 

2)입출력 집중 프로세스(I/O bound process)

  -비디오 재생이나 디스크 백업 작업등 입출력 작업이 많은 프로세스

3)CPU 집중 프로세스(CPU bound process)

  -복잡한 수학연산,컴파일,그래픽 처리 작업을 담당하는 CPU작업 프로세스.

 

 

2.스케줄링 (Scheduling queue)

 1)정의 개요

  -PCB 우선순위가 있어도 CPU 다음 프로세스를 찾기 위해 모든 PCB 찾아보는 비효율적.

  -프로세스는 매우 종류가 많고 다양하다.

  -운영체제는 CPU 사용할 프로세스 목록 만들어 순차적으로 실행시키도록 하는 것이 스케줄링 큐다.

  2)스케줄링 큐의 종류

  -준비 (ready queue): CPU 이용할 프로세스의 스케줄링 .

  -대기 (wating queue): 입출력장치를 이용하기 위해 대기 상태에 접어든 프로세스들의 스케줄링 .

 

*낮은 우선순위의 프로세스가 먼저 큐에 들어가도 우선순위가 높은 프로세스를 먼저 처리 있다.

*각기 다른 대기 큐에서도 우선순위를 바탕으로 준비 큐로 넣어진다.

3.선점형과 비선점형 스케줄링

1)선점형 스케줄링(preemptive scheduling)

 -프로세스가 CPU 비롯한 자원을 사용하고 있더라도 운영체제가 프로세스로부터 자원을 강제로

  빼앗아 다른 프로세스에 할당할  있는 스케줄링 방식.

 -프로세스의 독점을 막고 프로세스가 골고루 자원을 분배할 있다는 장점이 있지만 문맥 교환 과정에서

 오버헤드가 발생할 있다.

2)비선점형 스케줄링(non-preemptive scheduling)

  -프로세스가 종료되거나 스스로 대기상태에 접어들기 전까지 다른 프로세스가 끼어들 없는

  스케줄링 방식.

  -오버헤드의 발생 우려는 적지만 자원 분배에 효율이 좋지 않다.

 

'컴퓨터 공학 > 혼자 공부하는 컴퓨터 구조 +운영체제' 카테고리의 다른 글

26.프로세스 동기화  (0) 2023.07.27
25.CPU 스케일링 알고리즘  (0) 2023.07.26
23.스레드  (0) 2023.07.20
22.프로세스 상태와 계층 구조  (0) 2023.07.20
21.프로세스  (0) 2023.07.18