x86에서는 실행중인 프로세스간에 작업을 전환하는 데 TSS를 사용할 수 있지만 TSS를 하나만 사용하고 소프트웨어 작업 전환을 수행하는 것이 좋습니다 (특히 포트 커널을 TSS가없는 다른 하드웨어에 배포합니다.작업 전환 64 비트
x86-64 (64 비트)에서는 TSS가 없으므로 (예 : x86과 비슷하지 않음) 누군가가 작업 전환을 수행하지 않으면 어떻게됩니까? (이전부터 적어도 하나)?
x86에서는 실행중인 프로세스간에 작업을 전환하는 데 TSS를 사용할 수 있지만 TSS를 하나만 사용하고 소프트웨어 작업 전환을 수행하는 것이 좋습니다 (특히 포트 커널을 TSS가없는 다른 하드웨어에 배포합니다.작업 전환 64 비트
x86-64 (64 비트)에서는 TSS가 없으므로 (예 : x86과 비슷하지 않음) 누군가가 작업 전환을 수행하지 않으면 어떻게됩니까? (이전부터 적어도 하나)?
당신은 그것을 당신이 다른 플랫폼에서 할 것 같은 방식으로 할 것 : 적절한 레지스터의 내용을 저장 :
에서 전환하려는 작업에 대해 전환하고 전환하려는 작업에 대해 동일한 작업을 복원하십시오.
종종 전환하는 스택에 모든 상태를 푸시하고 전환하려는 스택에서 전환을 푸시하면됩니다. 이렇게하면 백그라운드에서 대기중인 내용을 추적하기 위해 스택 포인터 만 전달하거나 커널이 관리해야합니다.
Actually, it seems there is a TSS in 64 bit mode, 하드웨어 컨텍스트 스위칭에 사용되지 않습니다. 대신 상위 권한 레벨로의 전송이 발생할 경우 커널 스택을 지정하는 데 사용됩니다.
그러나 다른 작업 간의 제어를 변경하려면 소프트웨어 컨텍스트 전환을 사용해야합니다.