Become a leader in the IoT community!
Join our community of embedded and IoT practitioners to contribute experience, learn new skills and collaborate with other developers with complementary skillsets.
Join our community of embedded and IoT practitioners to contribute experience, learn new skills and collaborate with other developers with complementary skillsets.
Can anyone give me a bit of clarification on Kernel. In linux Kernel is also a compiled program right? then when we use C like function like open() how it interacts with the kernel which is already a compiled program?
It’s a little more complex than that….
Yes, the Kernel is a compiled program – but it runs in a privileged mode that is not available to user-space (normal) stuff. It acts as the interface between the low-level hardware and applications running in user-space.
The kernel then exposes the hardware to applications through the device drivers. When you call `open()`, `close()`, `read()` and `write()` on that device driver, they get mapped through to the device driver in kernel space which fulfils that request. The user-space application uses the `libc` as the interface between user-space and kernel-sapce
Very simplistically:
I know This much theoritically
but I want to know about more deeply like syscall table and more
can you please suggest some resources if there any
That is getting into Linux kernel device drivers.
Have you looked at the Bootlin course material?
https://bootlin.com/doc/training/linux-kernel/
I want to know how they work together at lower level
I haven’t yet.
BTW – It is a massive topic. when I teach it, it is a 5 day full time course and that is just to give you the basics of device drivers.
It’s not that it is complex, it is more that there is a lot of material to cover.
π΅
However, if you start at the beginning with some simple examples, it does all make sense
Let’s see where it goes
Feel free to ask questions here
I can’t share my materials, as they are proprietary – but can answer any questions you have
Sure. I will ask if I don’t understand something
CONTRIBUTE TO THIS THREAD