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 |