ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Context switch란?
    Computer Science 2023. 8. 21. 11:35

    필자는 공룡책으로 운영 체제 공부를 하던 도중, context switch란 개념을 알게 되었다.

    사전적의미로는 와닿지 않아서 다시 개념 부분을 정리하려 한다.

     

    공룡책에서 context switch란? 

    진행 중이던 프로세스를 저장하고, 다른 프로세스가 cpu 할당 받도록 하는 등, 말 그대로 "switch" 라는 개념인 것은 알았다.

     

    좀 더 자세하게 알기 위해 아래와 같은 url을 참고 했다.

    https://www.tutorialspoint.com/what-is-context-switching-in-operating-system

     

    What is Context Switching in Operating System

    What is Context Switching in Operating System - Context Switching involves storing the context or state of a process so that it can be reloaded when required and execution can be resumed from the same point as earlier. This is a feature of a multitasking o

    www.tutorialspoint.com

     

    여기서, context swithching = context 혹은 process의 저장을 포함하는 것이다.

    그래서 좀 더 빠른 포인트에서 실행이 재게 되거나 필요할 때 재실행을 할 수 있도록 한다.

     

    ->  multitasking OS의 특성이며, 멀티 프로세스에 의해 공유된 단일 cpu도 사용하도록 허용 한다.

     

    하나의 다이어그램은 context switch를 증명한다. 

     

    위의 다이어그램에 대한 설명으로, (아래 순서 처럼 진행 된다) 

     

    1. 처음에, Process 1이 구동중이다.

     

    2. 방해 요인 혹은 system call로 인해 Process 1이 교체되고 Process 2가 진행된다.  

     

    3. context switching은 process 1의 상태를 PCB1에 저장하며, PCB2에서 process2의 상태를 로딩하는 것 까지 포함한다.

     

    4. 후에 context switch가  다시 발생하면 process2는 교체되어지고, process1이 진행된다.

     

    5. 이것은 PCB2에 process2의 상태가 들어가고, PCB1으로 부터 process 1의 상태를 로딩하는 것 까지 포함한다.

     

     

    그렇다면, context switching 을 발생하게 하는 요소들에는 무엇이 있을까? (trigger)

     

    1. Multitasking:  멀티태스킹 환경에서 process는 cpu로 부터 교체된다 그래서 다른 프로세스가 작동되도록 한다. 오래된 process의 상태는 저장 되어지고, 새로운 process의 상태가 로드된다. 선점형 스케줄링 시스템에서 , 프로세스는 스케줄러에 의해 교체된다. 

     

    2. Interrupt Handling: 하드웨어는 방해가 발생했을 때, context의 일부분을 교체한다. 이것은 자동적으로 발생한다. 단지 몇몇의 context만이 교체되는데 , 이때  방해를 다루기 위한 시간이 최소한으로 소요된다.

     

    3. User 그리고 Kernel mode switching : context switch는 os에서  요구되어지는 user 모드와 kernel 모드 사이의 변경이 발생하는 동안에 이루어 진다. 

     

     

     

     

Designed by Tistory.