OS #17 컨텍스트 스위칭 정리

underlier12·2020년 3월 19일
0

OS

목록 보기
17/35

17. 컨텍스트 스위칭

Context Switching

Context Switching이란 CPU에서 실행할 프로세스를 교체하는 기술을 말하며 이전 시간에 알아본 컨텍스트 스위칭의 원리를 다시 정리해본다.

컨텍스트 스위칭의 순서

컨텍스트 스위칭은 크게 다음과 같은 두 동작으로 구분할 수 있다.

  1. 실행 중지할 프로세스 정보를 해당 프로세스의 PCB에 업데이트하여 메인 메모리에 저장
  2. 다음 실행할 프로세스 정보를 메인 메모리에 있는 해당 PCB 정보를 CPU에 넣고 실행

PCB 정보 중 PC, SP가 프로세스가 변경된 이후에 작업을 이어나갈 수 있도록 하는 점에서 중요하다.

참고

컨텍스트 스위칭은 굉장히 짧은 시간(수십ms)단위로 발생하며 이때 오버헤드가 발생한다고 한다. 따라서 이 기술은 어셈블리어로 구현하여 실행속도를 극대화하는 경우도 있다고 한다.

초기 컴퓨터 프로그램들은 어셈블리어로 작성되었고 서로다른 CPU 아키텍쳐가 등장할 때마다 매번 작성해야 하는 불편함이 존재(이식성 낮음).

하지만 컴파일러가 등장한 뒤 CPU 아키텍쳐에 따른 컴파일러를 통해 동일한 코드로도 동작할 수 있도록 변경되었고 대신 실행 속도는 낮을 수 있다고 한다.

profile
logos and alogos

0개의 댓글