Saturday 3 December 2016

User space and kernel space

       Kernel space. Linux kernel manages the machine's hardware in a simple and efficient manner, offering the user a simple and uniform programming interface. In the same way, the kernel, and in particular its device drivers, form a bridge or interface between the end-user/programmer and the hardware. Any subroutines or functions forming part of the kernel (modules and device drivers, for example) are considered to be part of kernel space.

       User space. End-user programs/applications, like the UNIX shell or other GUI based applications (open office for example), are part of the user space. Obviously, these applications need to interact with the system's hardware. However, they don’t do so directly, but through the kernel supported functions called system calls.


       When you write device drivers, it’s important to make the distinction between “user space” and “kernel space”.

No comments:

Post a Comment