A protection exception occurs if...
A process generates an address that falls within the start and end address of one of its segments, but the permissions (read/write) on the segment do not allow the access.
| Process virtual memory | |
|---|---|
| Process-specific data page tables, mm_structs, kernel stack |
|
| Physical memory mapped into kernel's virtual memory |
|
| Kernel code and data | |
| User stack | |
| Shared libraries | |
| <-- brk | |
| Heap | |
| Uninitialized Data | |
| Initialized Data | |
| Program Text | |