|
You are here |
blog.xenoscr.net | ||
| | | | |
cpu.land
|
|
| | | | | Curious exactly what happens when you run a program on your computer? Learn how multiprocessing works, what system calls really are, how computers manage memory with hardware interrupts, and how Linux loads executables. | |
| | | | |
membarrier.wordpress.com
|
|
| | | | | In the previous post we saw how the memory management unit (MMU) uses page tables to translate virtual addresses into physical ones. We will now consider the various features that such a translation enables in an operating system. In the discussion below, it is important to remember that the granularity of translation is a single... | |
| | | | |
manybutfinite.com
|
|
| | | | | After examining the virtual address layout of a process, we turn to the kernel and its mechanisms for managing user memory. Here is gonzo again: Linux processes are implemented in the kernel as insta | |
| | | | |
mutur4.github.io
|
|
| | | In the Linux Kernel 'ring (0)' a stack is also allocated for local variables defined in functions. These functions are mainly implemented for device drivers that are defined in different Loadable Kernel Modules (LKMs). The same stack is also vulnerable to stack overflow attacks that aim at overwriting the return address saved on the stack - this post will cover exploiting these vulnerabilities. | ||