Context Switching이란 CPU에서 실행할 프로세스를 교체하는 기술을 말하며 이전 시간에 알아본 컨텍스트 스위칭의 원리를 다시 정리해본다.
컨텍스트 스위칭은 크게 다음과 같은 두 동작으로 구분할 수 있다.
PCB 정보 중 PC, SP가 프로세스가 변경된 이후에 작업을 이어나갈 수 있도록 하는 점에서 중요하다.
컨텍스트 스위칭은 굉장히 짧은 시간(수십ms)단위로 발생하며 이때 오버헤드가 발생한다고 한다. 따라서 이 기술은 어셈블리어로 구현하여 실행속도를 극대화하는 경우도 있다고 한다.
초기 컴퓨터 프로그램들은 어셈블리어로 작성되었고 서로다른 CPU 아키텍쳐가 등장할 때마다 매번 작성해야 하는 불편함이 존재(이식성 낮음).
하지만 컴파일러가 등장한 뒤 CPU 아키텍쳐에 따른 컴파일러를 통해 동일한 코드로도 동작할 수 있도록 변경되었고 대신 실행 속도는 낮을 수 있다고 한다.