The previous chapter described a system call as a controlled request from an application to the kernel.
Now we will follow that request across the protection boundary.
Consider this C statement:
It looks like an ordinary function call. Underneath, the program prepares a kernel request, enters privileged execution, switches to a protected kernel stack, runs kernel code, and eventually returns to the instruction after read.
The complete path is:
read().The exact instructions and register names depend on the processor architecture. This chapter uses Linux on x86-64 as its concrete example while keeping the overall model applicable to other systems.