
There is a square block with two different sizes of partition. The first partition has two vertical blocks placed from left to right. The first vertical block is labeled Code with 8 horizontal partitions and two vertical partitions from left to right. The first five and the last horizontal partitions are empty and the last four partitions are highlighted. The fifth partition is labeled reg 0 equals kaddr open square bracket 0 close square bracket. The seventh partition is labeled reg 1 equals array open square bracket reg 0 multiply 4096 close square bracket. The first vertical partition is labeled non transient and the second vertical partition is labeled transient. The second vertical block is labeled Data or Array. There are 15 horizontal partitions, out of which the ninth partition is highlighted with a backward arrow from the outside and labeled 3. Access is fast because this element is now in the cache. There is a forward arrow labeled 2. But the code accesses the cache first from the seventh horizontal partition from Code block points to highlighted ninth partition. The first vertical block is categorized as User pages (access allowed). The second partition has a square on the left with a cross marked in it and has two backward arrows labeled 1. Transiently read a byte ("x") from the kernel. This will fault eventually. that point to the sixth horizontal partition in the Code block. The second partition is categorized as Kernel pages (no access). The whole square block is categorized as Full address space. Note: 4. The index of the fast array element (divided by 4096) is the value that was read from the kernel exclamation
Back