프로세스의 커널 모드에서 컨텍스트 전환이 발생할 때 커널 스택 포인터를 저장하는 데 페이지 테이블이 사용됩니까?

프로세스의 커널 모드에서 컨텍스트 전환이 발생할 때 커널 스택 포인터를 저장하는 데 페이지 테이블이 사용됩니까?

두 가지 질문이 있습니다.

  1. 사용자 공간 애플리케이션/프로세스가 커널 모드에서 실행되고 있다고 가정합니다. 지금 컨텍스트 전환이 발생하면 프로세스의 커널 스택 포인터가 task_struct. 이렇게 하려면 ? 에 매핑되는 (이것은 ) PTE페이지 테이블에 (페이지 테이블 항목)을 만듭니다.Kernel Stack PointerVirtual addressPhysical Address
  2. 의 경우 kthread컨텍스트 전환을 지원하는 페이지 테이블이 있습니까?

답변1

모든 가상 주소는 그것이 가리키는 메모리 영역에 해당하는 페이지 테이블 항목이 있는 경우에만 사용할 수 있습니다. 커널 모드에서 실행되는 프로세스는 커널 스택을 사용하므로 컨텍스트 전환을 처리해야 하기 전에 PTE가 존재합니다.

추가 PTE가 필요하지 않습니다.가게포인터를 저장하기 위해 새로운 메모리 영역이 필요하지 않은 한 포인터입니다(여기서는 그렇지 않습니다).

관련 정보