I am newbie in Linux and I am trying to understand the basics of the Linux OS structure.

So: Are the 'linux-kernel-modules' listed in the output from 'lsmod' and 'GNU C Library' (about 2000 subroutines) one and the same thing/s?


No, Linux kernel modules and the GNU C Library are not the same, and I don't know where you got that idea.

The kernel modules are parts of the Linux kernel that can be loaded on demand. Depending on the configuration there can be thousands of modules, and a typical installation will only use a few hundred, but it depends on the hardware and other things which of those modules are used.

The GNU C Library on the other hand is a collection of C function for user programs and is not used in the kernel.

| improve this answer | |
  • nope. neither. only the kernel modules actually used will be loaded into the "ram" and, even if the human starts other apps besides init, only the actual code from glibc which is actually used will be "loaded into ram", because linux is using virtual memory and demand paging. Really, this stuff is so since the '80s -- I don't know where you guys get this obscene idea of huge lib being loaded whole in the "ram". – Uncle Billy Jun 16 '19 at 21:03

You are confusing two very different things...

  • Linux kernel modules are what laymen call drivers. They allow you to make use of graphics card, network card, sound, etc. You can disable drivers that you don't use; but if you don't have necessary drivers, your system won't start.

    Kernel modules could be found as files with .ko extension, located somewhere inside /lib/modules directory on your machine.

  • GNU C library is a well-known brand of system library (system DLL, if you insist). It acts as a bridge for user programs (i.e. Unix program written in C) to run on Linux kernel. If you don't have the system library, your programs will have to be written in assembly language in order to run.

    The main element of GNU C Library could be found as a DLL named libc-*.so, located somewhere inside /lib/*-linux-gnu/ directory on your machine.

Note: This answer is actually a vast oversimplification of the matter.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.