Basic Questions about Linux- Part 1
Writer : Vivek Yadav
Little Talk : I am writing this to explore Linux concepts and Fundamentals. I don’t claim that all this is written by me. I am using different website to gather information which is publicly available and my understanding to write these posts. These Post are like my personal Notes. If anyone gets any kind of help from this. Then I shall be very happy for him/her and It will boost my confidence also.
And I am expecting from beneficiary that he should also share his/her knowledge with us.
So, Please understand this.
Target Audience : Linux Beginners, Self-Learners,
Publish Date : 13/06/2021
Q. 1 What are the differences between system, device and kernel programming?
System, Device and Kernel programming all are different but linked to each other.
System Programming : Writing a software that will use system calls extensively, In which your application/software does not interface kernel directly. Indirectly by system call with help of kernel. So if you have write some buggy code not much will be lost. eg. ssh, mysql and other command line tools like ls, ps, grep etc. these are very good craf of syste, programming.
Device Driver Programming : Well, it also uses system call but having hardware knowledge is more important. Learning a Device Driver Programming you should have to be good in module programming. LLD is best resource to learn linux device driver programming. In which you have to essentially understand architecture of device driver, /proc file system, read/write IO operation etc to expolt a complete power of hardware.
Kernel Programming : It is pretty much different from above twos's programming. In which programming you have to focus on learning underlying data structure, APIs to perform task, Algorithms and Concepts of core operating systems.
PS: All of these these programming demands strong C Programming not just good. So I would recommend just sharp your C skill and Linux. And decide your interested where you want to go.
Reference Book : Linux System Programming — By Robert Love
Q.2 Difference between Operating System and Kernel?
Operating System is a system software. Kernel is system software which is part of operating system.
Operating System provides interface b/w user and hardware. kernel provides interface b/w application and hardware.
It also provides protection and security. It’s main purpose is memory management, disk management, process management and task management.
All system needs operating system to run. All operating system needs kernel to run.
Type of operating system includes single and multi-user OS, multiprocessor OS, real-time OS, Distributed OS. Type of kernel includes Monolithic and Micro kernel.
It is the first program to load when computer boots up. It is the first program to load when operating system loads.
If you like this post. Please help me by upvoting this.