Timing of context switching
컨텍스트 스위칭 발생 시기
Last updated
컨텍스트 스위칭 발생 시기
Last updated
시간 할당 소진: 운영체제의 스케줄러는 각 프로세스나 스레드에 정해진 시간 할당(타임 슬라이스)을 제공합니다. 프로세스나 스레드가 그 시간을 모두 사용하면 다음 프로세스나 스레드로 스위칭됩니다.
자원 요청: 프로세스나 스레드가 요청한 자원(예: I/O)이 바로 사용할 수 없을 때 컨텍스트 스위칭이 일어날 수 있습니다.
우선순위: 더 높은 우선순위를 가진 프로세스나 스레드가 실행을 요청할 경우, 현재 실행 중인 프로세스나 스레드는 중지되고 높은 우선순위의 프로세스나 스레드가 실행됩니다.
💡 프로세스 상태 변화의 관점
준비(Ready) → 실행(Running): 스케줄러에 의해 선택된 프로세스는 CPU를 할당받아 실행 상태로 전환됩니다. 준비 상태에 있던 프로세스가 실행 상태로 바뀌는 순간 컨텍스트 스위칭이 일어납니다.
실행(Running) → 대기(Waiting/Blocked): 프로세스가 I/O 요청 또는 다른 이벤트를 기다리게 될 경우, 실행 상태에서 대기 상태로 전환됩니다. 이때도 컨텍스트 스위칭이 발생하며, CPU는 다른 프로세스나 스레드에 할당됩니다.