컨텍스트 전환 및 모드 전환

컨텍스트 전환 및 모드 전환

컨텍스트 전환에는 모드 전환이 포함됩니까? 저는 이렇게 되어야 한다고 생각합니다. 왜냐하면 제가 생각하는 방식은 컨텍스트 전환이 발생할 때마다 프로세스가 실행 중인 저장된 상태에 대해 PCB를 참조하는 것과 관련이 있기 때문입니다. PCB는 메모리에 저장되고 커널만이 메모리에 접근할 수 있으므로 모드 전환을 수행해야 한다. 내가 맞나요?

추신: 모드 전환에 컨텍스트 전환이 포함되는지 묻는 것이 아닙니다. (할 수도 있고 아닐 수도 있음)

답변1

예, 컨텍스트 전환은 커널이 한 프로세스에서 다른 프로세스로 실행을 전환할 때 모드 전환을 의미합니다. 컨텍스트 전환에는 메모리 맵, 레지스터 등을 포함하여 실행을 재개할 프로세스의 상태를 복원하는 작업이 포함되며 이는 커널 모드에서만 수행될 수 있습니다.

답변2

모드 스위치 없이 컨텍스트 스위치가 있습니다. 현재 CPU에서 실행 중인 두 프로세스를 살펴보겠습니다. 각 프로세스는 시스템 호출을 처리하므로 특권 모드에서 실행됩니다. 이제 프로세스 스케줄러는 그들 사이의 컨텍스트 전환을 결정할 수 있습니다. 둘 다 권한 모드에서 실행 중이고 컨텍스트 전환을 담당하는 프로세스도 권한 모드에서 실행 중이므로 두 프로세스 간의 컨텍스트 전환에는 모드 전환이 포함되지 않습니다.

관련 정보