LINUX: Easy Linux For Beginners, Your Step-By-Step Guide to Learning The Linux Operating System and Command Line (2015)
Chapter One: Getting Started
What is an Operating System?
A computer, complete with all its parts – the CPU, mouse, monitor, and keyboard – will not work without a central program that will piece it all together. An operating system, or OS, for short is the software that brings together a computer’s hardware and the different programs that you want to install on it. When you boot up a PC without an OS, you will be directed to the command prompt that makes no sense to most computer users. You will be unable to watch videos, listen to music, edit photos, or to simply write a note.
An operating system is responsible for doing the following tasks:
· Detect hardware – An OS is responsible for validating the components of a computer during boot up (hard drive, CPU, network cards, mouse, etc.) and loading the corresponding drivers and modules for the hardware to properly run.
· Manage processes – Similar to the way our mind works, several processes or applications are running on a computer at the same time. It is the OS that is responsible for allocating CPU resources. The OS also provides the user the option to start, stop, or restart a process.
· Manage memory – Each application needs a specific amount of RAM and swap memory to function. The OS is responsible for assigning memory allocations and for handling memory requests.
· Initiate user interfaces - An OS offers users ways to access the system either via a command line or a graphical user interface (GUI)
· Establish file systems – The OS handles the management of files (access, directories, and structure), including the access to the file system.
· Manage access and user authentication – An OS allows for creating user accounts with different permissions for access to files and processes.
· Provide platform for administrative use – A computer’s OS provides a platform for the administrator to add users, allocate disk space, install software, and to perform activities to manage the computer.
· Start up services – The OS manages several processes running in the background known as daemon processes.
Let’s take it to a setting that we can all relate to – a manager at work. An OS is like a manager who keeps the different parts of the team in check, assigns tasks, distributes work load, and checks everyone’s performance. While every member of a team has specific job responsibilities, a manager keeps the team working together cohesively.
Examples of an operating system that you have probably heard of are Windows 10 (and its predecessors), Mac OS X Yosemite (and the previous releases), and Unix.
So where does Linux fit in? We’ll discuss it in the next section.
What is Linux?
Linux is an operating system, similar to the examples mentioned in the previous section, and is often described as Unix-like.
The stark difference between Linux and other operating systems lies in the fact that Linux is an open-source operating system. This means that Linux is continuously developed collaboratively and unlike Windows and OS X which are both tied to respective companies (Windows and Apple), not one company owns Linux’ development and support. Building Linux is a shared vision, with different companies sharing researches, development, and the associated costs. This open source cooperation among companies and developers has led to making Linux one of the best ecosystems for use from small digital wristwatches to servers and supercomputers. Based from statistics, there are at least 100 companies and more than 1000 developers who work together for every kernel release.
Linux is composed of a kernel, the core control software, plus plenty of libraries and utilities that provide different features. Linux is available through many distributions. These are what we can call Linux flavours. Distributions are a group of specific kernels and programs. The most popular ones include Arch, SUSE, Ubuntu, and Red Hat. The book focuses on functions present on most Linux distributions although these distributions have their own specific tools at times.
This operating system was first used as a server OS and then was used as base for Android development. Up until now, Linux has the largest market share when it comes to server OS but one of the least popular for personal and home use such as desktops and laptop computers. In the next sections, we will go on an in-depth discussion of the reason why Linux is better compared to other operating systems.
In addition to the tasks performed by an operating system, Linux has the following characteristics:
· Supports clustering – Multiple Linux systems can be configured to appear as one system from the outside. Service can be configured among clusters and still offer a seamless user experience.
· Runs virtualization – Virtualization allows one computer to appear as several computers to users. Linux can be configured as a virtualization host – where you could run other OS such as Windows, Mac OS, or other Linux systems. All the virtualized systems appear as separate systems to the outside world.
· Cloud Computing – Linux can handle complex, large-scale virtualization needs – including virtual networks, networked storage, and virtual guests.
· Options for Storage – Data need not to be always stored in your computer’s hard disk. Linux offers different local and networked storage options such as Fibre Channel and iSCSI.
I will not be discussing the functionalities mentioned above in detail because of its advanced applications. These, however, are things that are good to know when comparing Linux to other operating systems.
History of Linux
Linus Benedict Torvalds, a student from Finland, created Linux in 1991 using C and assembly language. Linux was developed as a free, open source, open license operating system, which enables developers around the world to study and modify the OS. Since the release of the initial source code in 1991, it has grown now to more than 18 million lines of code under GNU General Public License.
Initially, Torvalds named the operating system he invented as Freax, a combination of the words “free”, “freak”, and “x”. He uploaded his files to an FTP server where his colleague, Ari Lemmke, was the FTP server administrator. Lemmke thought Freax was not a good sounding name so he renamed the folder to Linux without telling Torvalds. Later on, Torvalds approved the name change.
In 1992, Linux was licensed under GNU GPL and the first Linux distributions (also called distro) were created – Boot-root, MCC Interim Linux, Softlanding Linux System (SLS), and Yggdrasil Linux where one of the first few released in the same year. Several distributions have been created over time: Slackware - the oldest existing distro, Debian - the largest community distribution, and commercial distributions Red Hat and SUSE.
In recent years, Linux has seen more developments. The server market revenue of Linux has already exceeded that of Unix. The Linux-based mobile OS Android has gained 75% of the market share. In 2015, Linux Kernel Version 4.0 was released.
Through collaborative works, Linux is now one of the most powerful operating systems. Data shows that 98.8% of the world’s fastest systems use the Linux kernel. Isn’t it comforting to know that you are using the same OS as these supercomputers?
Linux as Compared to other Operating Systems
Now, let’s get to the important question: Is Linux better than the others? Let’s compare Linux with other well-known operating systems.
If you obtained Windows legally, you would have paid more than $100 and even more for the Pro version. Linux, on the other hand, is free of charge. For Linux commercial distributions, companies sell services such as support and documentation but the OS itself comes for free.
Linux hardly gets any viruses. Since most PCs run on Windows, attackers target Windows OS. The open-source policy of Linux is key. With many developers working on Linux, there are more eyes focused on seeing security flaws. There’s plenty of help too, if ever a real Linux virus comes around. Proprietary operating systems are tied with the number of employed engineers and resources they have. With Linux, any developer from around the world can simply download the source code and help out in finding and solving flaws.
· System Stability
As mentioned in the previous section, Linux are used in servers and supercomputers. Large-scale systems can go on for years without restarting the server. The time when a proper restart is performed is during kernel upgrades – even upgrades for softwares running on a Linux server only perform a service restart and not a node restart.
Compare that to the number of times you’ve experienced losing data because the program crashed or the time when you plugged in a device and you saw the “Blue Screen of Death” in Windows. I am not saying that you will not turn off your computer when running on Linux, but the option is there, if you wish to.
When you install Linux (any of its flavours – Ubuntu, Fedora, etc), you get all the stuff that you need – text editor, spreadsheet, presentation program, photo editor, web browser, movie player, PDF reader, and the likes. As compared to Windows and other OS, once you have the OS set-up, you will have to install all the other software that you need one-by-one.
It also holds true for hardware drivers too. In Windows, you would have to install the drivers first. Drivers usually come in CDs when you purchase hardware. Now, think about the time when you would need to install the driver and you couldn’t find the CD for it? You would have to go to the manufacturer’s website to download the specific driver. In Linux, drivers are included in the Linux Kernel installation – you get to save time and it’s a lot more convenient.
Linux has a large community online where new users can get information, read FAQs, and ask questions if there are programs or features that you think are not working right. The great thing about open-source is that with plenty of people involved in the OS, there are unlimited number of resources that you can use and learn from. All these come for free too!
These are some of the reasons why Linux is a better OS compared to others. However, do note that Linux uses open-source software so if you are concerned about any of the items listed below, then you should stick to Windows or your current OS:
- You need to work using proprietary software. If you absolutely cannot find an open source program that will match the proprietary software that you need, keep your current OS.
- You are a serious gamer. Majority of games are only made compatible with Windows.
- Hardware is not yet supported in Linux. Very new hardware like those released only in the few months might not yet be supported in Linux. Hardware vendors usually release drivers only for Windows and Mac since these are the most popular.
Most individuals with Linux installed do away with these by what is called dual-booting. This is the option of installing both Windows and Linux on your device so you can choose either of the OS depending on your needs.
In this chapter, we have discussed what Linux OS can do and how it compares with other existing operating systems. In the next chapter, we will go in depth and understand how a Linux operating system works.