computer 가 매번 하나의 task 만 처리할 수 있다면 해당 task가 끝날때까지 다음 task는 기다릴 수 밖에 없다. 이는 반응속도가 매우 느리고 사용하기 불편하다. (당연)
현재 진행하고 있는 task(process, thread)의 상태를 저장하고 다음 진행할 task의 상태 값을 읽어 적용하는 과정.
PCB 라고 하는 Process Control Block에 다양한 information(context)들을 저장한다. 이때 PCB는 kernel의 stack 혹은 Data 영역에 저장된다.
process 들 간의 context switching 과정에대해 대략적으로 나타낸 그림이다.
구체적으로 cpu의 process counter 와 stack pointer가 어떻게 바뀌는 지 궁금하다면 아래 블로그를 참고해보도록 하자.