Discussion:
Project Clarification
(too old to reply)
c***@CSIC.UMD.EDU
2005-11-05 19:40:13 UTC
Permalink
"We will define a single page table for all kernel-only threads,
and a page table for each user process. The page table you set up
for part I will be used by the kernel. As such, you should change
the flags fields to not include VM_USER."

"Page tables for user processes will contain entries mapping user
logical memory to linear memory, and will also contain entries to
address the kernel memory. This is not so user processes can
access kernel memory directly (we will set the access flags of the
memory to prevent them from doing so), but rather so that when an
interrupt occurs the page table does not need to be changed for
the kernel to access its own memory---it will simply use the page
table of the user process that was running when the interrupt
occurred."

I am a little confused about the terminology now. Is there project
referring to Page Directory above everytime it is saying Page Table
Iulian Neamtiu
2005-11-05 19:55:52 UTC
Permalink
You're right, I've changed the webpage in the places you've indicated, to
say PD instead of PT.

Once again, there's one PD for the kernel, and different PDs for each
user process. The bottom half (i.e. 0..2GB) of the kernel PD and
processes'PD is identical (and contains the one-to-one kernel mapping for
the physical memory).

Thanks for pointing this out.
Iulian
Post by c***@CSIC.UMD.EDU
"We will define a single page table for all kernel-only threads,
and a page table for each user process. The page table you set up
for part I will be used by the kernel. As such, you should change
the flags fields to not include VM_USER."
"Page tables for user processes will contain entries mapping user
logical memory to linear memory, and will also contain entries to
address the kernel memory. This is not so user processes can
access kernel memory directly (we will set the access flags of the
memory to prevent them from doing so), but rather so that when an
interrupt occurs the page table does not need to be changed for
the kernel to access its own memory---it will simply use the page
table of the user process that was running when the interrupt
occurred."
I am a little confused about the terminology now. Is there project
referring to Page Directory above everytime it is saying Page Table
Loading...