title: What is the relation between Linux kernel and GNU C library?
body: <p>We know that Linux kernel is written in C. But does it also call standard C functions like <code>malloc()</code> or extra functions like <code>mmap()</code> which are provided by GNU C library (glibc)? In that case, it's strange, because direct low-level interaction with hardware, e.g. memory management, is supposed to be almost always the task of a kernel. So, which is dependent on the other? Which is more fundamental/low-level?</p>