두 가지 질문이 있습니다.
- 사용자 공간 애플리케이션/프로세스가 커널 모드에서 실행되고 있다고 가정합니다. 지금 컨텍스트 전환이 발생하면 프로세스의 커널 스택 포인터가
task_struct
. 이렇게 하려면 ? 에 매핑되는 (이것은 )PTE
페이지 테이블에 (페이지 테이블 항목)을 만듭니다.Kernel Stack Pointer
Virtual address
Physical Address
- 의 경우
kthread
컨텍스트 전환을 지원하는 페이지 테이블이 있습니까?
답변1
모든 가상 주소는 그것이 가리키는 메모리 영역에 해당하는 페이지 테이블 항목이 있는 경우에만 사용할 수 있습니다. 커널 모드에서 실행되는 프로세스는 커널 스택을 사용하므로 컨텍스트 전환을 처리해야 하기 전에 PTE가 존재합니다.
추가 PTE가 필요하지 않습니다.가게포인터를 저장하기 위해 새로운 메모리 영역이 필요하지 않은 한 포인터입니다(여기서는 그렇지 않습니다).