주류 아키텍처 (예 : x64)를 사용하는 현대 개인용 컴퓨터의 컨텍스트 전환에 대한 배경 설명을 찾고 있습니다.컨텍스트 스위치 : 언제 결정합니까?
주로 컨텍스트 스위치가 하드웨어에 의해 수행되는 동안 컴퓨터에서 다중 스레드 및/또는 다중 프로세스를 실행할 때 작업 스케줄링 및 컨텍스트 전환을 결정합니다. 그것은 CPU 자체, 운영 체제, 컴파일러/가상 머신 ...입니까?
전환 할시기를 결정하기 위해 어떤 전략을 사용하는지 알고 싶습니다. 예를 들어, 끝없는 루프에서 독립적 인 더미 추가 작업을 수행하는 백 개의 스레드를 시작하면 언제 컨텍스트 전환이 발생합니까?
처음으로 감사드립니다. 그것은 스위치가 CPU가 아닌 시스템에 의해 수행되는 것이 옳습니다. 나는 단락을 끝까지 읽어야한다 :-) 하드웨어 스위치가 사용 가능하지만 사용되지 않는다고 말할 때. (https://en.wikipedia.org/wiki/Context_switch#Hardware_vs._software). 그림이 조금 더 선명 해졌고 그것이 내가 원했던 것입니다. –
당신은 오신 것을 환영합니다. 하드웨어 컨텍스트 스위칭은 임베디드 실시간 시스템에서 사용되는데, 그 이유는 이러한 시스템을 토론의 목적을 위해 따로 보관해야하는 이유입니다. 대부분의 사람들은 결코 그들을 만나지 않을 것입니다. – sagneta