What is a kernel in Jupyter Notebook and how it is different/similar to actual kernel (related to Operating System)?

maninekkalapudi picture maninekkalapudi · Sep 17, 2018 · Viewed 10.3k times · Source

I hear and see a lot of this word "kernel" as I'm using Jupyter Notebook a bit. I just want to know what "kernel" represents in Jupyter Notebook. Is it the same meaning that we use in Operating System? If it is similar/different, how exactly?

Do both kernels do the hardware interaction?

Kernel(OS): https://simple.m.wikipedia.org/wiki/Kernel_(computer_science)

Kernel (Jupyter Notebook) https://jupyter-client.readthedocs.io/en/stable/kernels.html

Answer

Roland Weber picture Roland Weber · Jul 16, 2019

A notebook kernel is an operating system process (in userland) that communicates through several ZeroMQ connections. It receives code snippets to execute, runs these code snippets, and returns the result and output of the execution.

A notebook kernel has no similarity at all to an operating system kernel. It's just a similar name for two completely different things. In computer graphics, there's also a concept called "render kernel", which has nothing to do with either notebook kernels or operating system kernels. So whenever you talk about "kernels", make sure that the audience is aware of the context.