Thank you very much for your response. I have worked on unix/linux systems before developing shell/awk programs and have a basic idea of hardware in computers/servers. Now my second question is, how do I develop a small kernel from scratch by myself. Very simple one initially for Arduino Uno. Is it possible? Deepak "The greatness of a nation can be judged by the way its animals are treated - Mahatma Gandhi" +91 73500 12833 deicool@gmail.com Facebook: https://www.facebook.com/deicool LinkedIn: www.linkedin.com/in/deicool "Plant a Tree, Go Green" Make In India : http://www.makeinindia.com/home On Tue, May 16, 2023 at 5:54 PM Valdis Klētnieks <valdis.kletnieks@vt.edu> wrote:
On Tue, 16 May 2023 12:42:19 +0530, Deepak Goel said:
I want to learn more about Linux.
Step 0:
Learn what a kernel is, and what userspace is.
Figure out if you are trying to learn how to use/administer a Linux-based system, or how to write user programs that run on Linux-based computers, or learn about the Linux kernel itself.
This may or may not be helpful, depending what you are trying to do:
https://lists.kernelnewbies.org/pipermail/kernelnewbies/2017-April/017765.ht...
Is there a complete list of programs in Linux OS?
No. And if there *was*, it wouldn't be very helpful.
That's because Linux is used on everything from smart watches, to every Android-based device on the planet, to supercomputers, to the largest web services on the planet. And what gets installed on any given Linux based system depends on what the designer and/or user wants included.
Google *alone* has several billion (yes, with a 'b') lines of code that make up the programs that do all the magic for Google search, Gmail, Youtube, and all their other services. And the last I heard, Google isn't sharing all those programs with the world.
Then there's everything from genealogy programs, to programs that will handle the raw binary format images produced by Nikon cameras, to information security related software, to planetarium simulators, to text-to-speech software, to database servers, to totally niche things like the 'nmh' email software, which probably has less than 100 users worldwide these days. And that's just what's on my laptop.
The end result is that as I write this, the Fedora Rawhide distribution of Linux includes around 25,000 available packages to install, many of which include multiple programs. That doesn't include programs available from third party sites. And not all packages can be usefully installed on all systems - the programs for a Linux-based smart watch won't do anything useful on your desktop, while the desktop programs won't even *fit* in that smart watch.
And what do they do? See above.