hong's android

[Cs] 컨텍스트 스위칭 본문

Develop/Cs

[Cs] 컨텍스트 스위칭

_hong 2023. 1. 13. 09:08

 

컨텍스트 스위칭이란?

다음 우선순위가 높은 프로세스를 실행할때 해당 프로세스 정보를 PCB에 저장하고 다음 프로세스의 정보를 PCB에서 load 하는 과정이다. 

컨텍스트 스위칭이 일어날때 cpu의 동작은 멈춘다.

 

프로세스 보다 스레드의 컨텍스트 스위칭의 비용이 더 낮다. 그 이유는 스레드들은 데이터를 프로세스 안에서 데이터를 공유하는 부분이 많기 때문에 스택 영역의 데이터만 저장하고 load 해주는 작업만 하면되기 때문이다.

 

필요한 이유

동시에 여러 작업을 수행하는 멀티 프로세스, 멀티 스레딩을 통해 빠른속도로 응답할 수 있기 때문이다. (빠른 응답 시간을 가진 시분할 시스템에 유용)

 

프로세스 컨텍스트 스위칭이 일어나는 상황

1. I/O interrupt

2. CPU 사용시간 만료

3. 자식 프로세스 Fork

등등이 있다.

'Develop > Cs' 카테고리의 다른 글

[CS] 물리 메모리 관리  (0) 2025.02.19
[CS] 프로세스 동기화  (0) 2025.02.11
[CS] 프로세스와 스레드  (1) 2025.01.17
[cs] HTTP의 발전 과정  (0) 2024.10.28