CPU 스케줄링의 목적
CPU의 활용성을 극대화 시키는 것
스케줄링의 형태, 기법에는 비선점과 선점으로 구분된다.
비선점 : 프로세스가 자발적으로 CPU를 내주는 상태
선점 : 프로세스가 강제로 CPU를 내주는 상태 (ex 퀀텀이 종료되었을 때)
CPU 스케줄링이 일어나는 경우
1. Running에서 waiting state로 변하는 경우 ( 비선점 )
2. Running에서 ready state로 변하는 경우 ( 선점 )
3. waiting에서 ready상태로 변하는 경우 ( 선점 )
4. 프로세스가 종료된 경우 ( 비선점 )
비선점시에는 별도의 문제가 발생하지 않는다. 하지만 선점의 경우에는 문제가 발생할 수 있다.
1. 공유 데이터에 대한 문제 ( ex 정보 수정 중 선점이 일어나면 데이터의 일관성이 없어진다. )
2. kernel영역에서도 shared data와 같은 문제가 생길 수 있다.
3. 중요한 OS활동 중 interrupt가 발생할 수 있다.
[출처] CPU 스케줄링 (CPU Schduling)|작성자 담묘
'전산 관련 시험 > 전산학(컴퓨터일반) 개념정리' 카테고리의 다른 글
Deadlock(데드락) - 정의, 발생 조건, 해결 방법 (0) | 2022.06.08 |
---|---|
컴파일러, 인터프리터, 어셈블러 (0) | 2022.06.08 |
DMA(Direct Memory Access) 개념 (1) | 2022.06.08 |
트랜잭션(Transaction) 관리자 (0) | 2022.06.08 |
전산학 오답노트 (0) | 2022.05.27 |
댓글