Linux – What are “kernel data structures”

kernellinux

While reading about the Linux kernel I came across the notion of kernel data structures. I tried to find more information via Google, but couldn't find anything.

  • What are kernel data structures?
  • What are their requirements, usage, and access?
  • What's the organization of data structure inside the kernel?

Examples of kernel data structures might be file_operations or c_dev.

Best Answer

The kernel is written in C. "Kernel data structures" would just refer to various formations (trees, lists, arrays, etc.) of mostly compound types (structs and unions) defined in the source, which C code is normally filled with stuff like that. If you don't understand C, they will not be meaningful to you.

Data structures structure the storage of information in memory or address space. There is nothing particularly special about the ones used by the linux kernel. Some of them can/must be used if you are writing a kernel module, but their use is completely internal to the kernel. Kernel memory is only accessed by the kernel and it's structure has no relevance to anything else.

Related Question