0

I've seen sites that say when a command is entered in a terminals shell, this gives it to the OS which is where the actual change is done; while others say the shell allows users to communicate with the kernel.

However, images on the internet, like the first one on this Wikipedia page say that the kernel sits between the OS and applications.

So is the shell actually sending the commands to the kernel which then sends them to the OS or does the shell sit at the same level as the kernel and and is then just sending the commands straight to the OS?

scrow
  • 357
  • 3
  • 13
  • Does this answer your question? [What is the difference between Shell, Kernel and API](https://stackoverflow.com/questions/12132260/what-is-the-difference-between-shell-kernel-and-api) – Tsyvarev May 18 '22 at 21:58
  • Not quite. I'm wondering if the shell, is actually interacting with the OS directly (and is therefore at the same level as the kernel) or via the kernel. I can't find any documentation that explains how this works; just documentation that either says it interacts with the kernel or it interacts with the OS. But both can't be true – scrow May 19 '22 at 20:59
  • 1
    A shell has no direct access to the OS. It interacts with the kernel via system calls, like any other program. – Tsyvarev May 19 '22 at 21:57

0 Answers0