Operating System, is the software that makes Computer the robot. Without OS, Computer would be just a piece of paper weight with different metal or plastic parts here and there. OS also provides support to extend the capability of the robot itself, by allowing programmer to further program on it!
OS does many jobs, such as taking our keyboard and mouse input, display information on screen, receive and send data from/to network etc. OS also manages users of Computer, to determine who can use computer when. Ok, I take the ‘when’ part back, Daddy is doing that part, for now.
Out of the many things OS can do, the one thing that interests us programmer is its capability to run the program we write. More interestingly it can run more than one program at the same time.
To run our program, or any program, it is common that we simply pick the program and click on it. To go a little deeper on this, Program is basically a collection of instructions CPU understands. This program needs to be stored somewhere on Computer. Correct, you guessed it, the program is stored in disk. After clicking, in order for CPU to quickly access its next instruction from this program, the program is loaded to memory from disk, sometime as a whole, sometime only part of it. After that, CPU runs the instructions one after the other, and all the magic starts.
Clicking is one way to run our program, OS provides us that capability through the graphical interface, you browse to what you want to run, and click. Easy?
That is the graphical way, there’s another way to tell OS to run our program, we call it ‘command line’, because this way we can give OS commands on a line-by-line basis. OS provides us command line access through a program called terminal. So you can open a terminal, type commands, or find our program and run from there.
Wait, it is so easy to click and go, why bother with those extra steps to use command line?
That can be a personal preference, but what if you are told that through command line you can search and manage your files more quickly and easily, and, you can remotely run your program, for example, start your program on your home computer, from your laptop or ipad while you are climbing the Great Wall? And, through command line interface, you can do a lot more than just clicking around.
Command line is a powerful tool for programmer, let’s keep that in mind.
We’ve talked about what OS does and what interface it provides to us in order to run program. But what is this magic piece of OS software called?
There are different flavours of them.
Three among them are well known for Computer world. Windows, OS X, and Linux. There are other Operating Systems for devices, such as Android, iOS etc, but we’ll focus on Computer side.
Linux? never heard of it.
Now you do, and that’s the OS we will be using to learn programming.
Why? read the following text from Wikipedia,
Examples of popular modern operating systems include Android, BlackBerry 10, BSD, Chrome OS, iOS, Linux, OS X, QNX, Microsoft Windows, Windows Phone, and z/OS. The first eight of these examples share roots in UNIX.
Yes, we want to start our learning with something that has a more popular root.
And, because Daddy says so.
Let’s start by setting up a Computer with Linux OS …