1. 프로세스 우선순위
CPU 스케줄링은 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것을 말한다.
일반적으로 입출력 작업이 많은 프로세스의 우선순위는 CPU작업이 많은 프로세스의 우선순위보다 높다.
우선순위는 프로세스의 PCB에 저장되어 운영체제는 PCB를 보고 CPU를 얼마나 사용할지 결정한다.
2. 스케줄링 큐
운영체제가 효율적으로 프로세스의 PCB를 확인하고 자원을 이용할 프로세스의 순서를 결정하기 위해, 프로세스들이 필요한 자원에 대기하는 줄이 스케줄링 큐다.
-준비큐와 대기큐
3. 프로세스 상태 다이어그램
4. 선점형과 비선점형 스케줄링
위와 같은 상황에서 CPU는 현재 CPU를 사용 중인 프로세스로부터 CPU 자원을 빼앗을지 끝날 때까지 기다리는지에 따라 선점형 비선점형으로 나뉜다.
- 선점형 스케줄링 preemptive scheduling
어느 한 프로세스의 자원 독점을 막고 프로세스들에 골고루 자원을 배분할 수 있다. 문맥 교환 과정에서 오버헤드가 발생할 수 있다. - 비선점형 스케쥴링 non-preemptive scheduling
선점형 스케줄링에 비해 문맥 교환에서 발생하는 오버헤드가 적다. 모든 프로세스가 골고루 자원을 이용하기 어렵다.
'컴퓨터공학' 카테고리의 다른 글
26. 동기화 (0) | 2024.10.30 |
---|---|
25. CPU 스케줄링 알고리즘 (0) | 2024.10.28 |
23. 스레드 (0) | 2024.10.25 |
22. 프로세스 상태와 계층 구조 (0) | 2024.10.24 |
21. 프로세스 개요 (0) | 2024.10.23 |