• 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