2つの質問があります。
- ユーザー空間アプリケーション/プロセスがカーネルモードで実行されているとします。今コンテキスト切り替えが発生すると、プロセスのカーネルスタックポインタが
task_struct
。これを行うには?にマップされる(これは)PTE
ページテーブルに(ページテーブルエントリ)を作成します。Kernel Stack Pointer
Virtual address
Physical Address
- の場合、
kthread
コンテキスト切り替えをサポートするページテーブルはありますか?
答え1
すべての仮想アドレスは、それが指すメモリ領域に対応するページテーブルエントリがある場合にのみ使用できます。カーネルモードで実行されるプロセスはカーネルスタックを使用するため、コンテキスト切り替えを処理する前にPTEが存在します。
追加のPTEは必要ありません。お店ポインタを保存するために新しいメモリ領域が必要ない限り、ポインタです(ここではそうではありません)。