What section of OS code is related to the kernel?

I understand the system diagram, but I have assignment about the coding part.

closed as too broad by Thushi, psusi, michas, Kusalananda, thrig Mar 21 '17 at 15:08

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    So, basically you need us to do your homework for you? – LinuxSecurityFreak Mar 21 '17 at 14:23
  • Not exactly, i need the highlight, i asked after i googled it for a long time and no result. You know the answer please answer, if you dont know then dont waste you energy. – Fhh Mar 21 '17 at 14:29

... The 'kernel' section (Linux / QNX / BSD, etc...)

You need to define what you mean by 'related', because you could try argue that all code is related to the kernel:

  • Without the kernel, nothing will run - not even in user-space.
  • Without the user-space applications, a system is largely useless.

Additionally, depending on the type of kernel, other parts of the system are more or less strongly related.

  • Monolithinc (e.g: Linux) is a large code base, where things like drivers typically live inside the kernel
  • Hybrid (e.g: Windows), components are split between kernel and user space
  • Microkernel (e.g: QNX) is a relatively small code base, where drivers are implemented as user-space 'applications'

Of course, this doesn't work for 'baremetal' systems that might not even use a kernel per se.

Diving deeper in to the Linux kernel (as requested), you start to see that there are major sub-systems:

Each of these sub-systems have further sub-systems (some are shown in brackets above).

You could have a diagram as you suggested in your comment, but it would get quite complex.

It might be a good idea to read through an article like 'Anatomy of the Linux kernel' to get a better understanding of what's going on.

  • Thanks for your answer, if we take the linux as example, is it possible to imagine it as a huge code, with many modules ( kerenl as example) so the question is, can we have a diagram of the linux code where the main code is calling this function and that function. Sorry if my question is stupid. – Fhh Mar 21 '17 at 14:50
  • @Fhh updated as requested – Attie Mar 21 '17 at 15:17

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