Linux was designed for the sole purpose of providing desktop users with an affordable but functional operating system in a world where the most commonly used OS comes with a high price tag.
Linux was originally created in 1991 by Linus Torvalds, a Finnish student from the University of Helsinki, for his own personal computer, and with zero plans for expansion beyond one platform. However, Linux grew to become adaptable with several computer architectures and now runs on every platform imaginable.
Linux has fascinated developers ever since it was created and, as a result, its open source code has seen several contributions from more than 12,000 programmers.
The Linux kernel (the main part of the OS located at the core) has been released under the GNU General Public License (GPL) version 2.
Linux kernel architecture
The Linux kernel operates on a monolithic architecture, which basically means that the complete operating system works on the kernel space and on the solo supervisor mode. Monolithic kernels have several pros and cons, some of which include:
- Direct and faster approach for hardware to access programs
- Simplicity and ease of in-process communication
- Quick processing of requests
- Lack of security due to processes running solely on supervision mode
- Enormous memory and installation footprints
However, kernel developers did a good job by overcoming the flaws associated with the monolithic kernel by modelling modules of the kernel, which can be both loaded and unloaded at any time. Modules that are able to support features such as low level virtualisation can also enable you to replace your kernel without rebooting the entire system, although this happens only in rare cases.
Common features of the Linux kernel
Lets look at some of the common features of the Linux kernel.
Multi-user support: A Linux system supports several user accounts at once as well as multiple users logged in on a single system at a given period of time. Users also enjoy the privilege of arranging their environment in a way that suits them best with the aid of customisable desktop icons and menus. Additionally, to ensure privacy, user accounts are password protected (at the discretion of the user).
Multi-tasking capabilities: With a Linux OS, several programs are capable of running at the same time, both on the interface and at the background. The ability to run several programs at once enables the Linux kernel to act as a server, with background processes (also known as daemons) responding to user requests.
Graphical user interface (GUI): Linux supports a powerful framework for working with graphical applications called the X Windows System or simply X, which ensures that X-based GUIs receive adequate support and run flawlessly. Other than X, you are also provided with an X-based desktop setting to give your GUI processes a lively look and feel.
Hardware management and support: Every kind of device and hardware that you connect to your desktop has pre-configured support from Linux. All removable devices such as CD-ROMs, sound and memory sticks, tapes and so on, can be supported by Linux.
Networks: Linux is popular at ensuring all client computers on a LAN or on the Internet are provided with adequate networking services. Custom tailored software is readily available, which enables Linux to don different hats including that of a file server, mail server, Web server, etc.
Application compatibility and support: One of the key features of Linux is its compatibility with a wide array of application programming interfaces (APIs) and POSIX, which allow support for more varieties of freeware and shareware software. Almost every kind of GNU software is compatible with Linux, though some may require slight modifications.
Advantages of Linux
Cost: Unlike other operating systems which come with a huge price tag and monthly fees, Linux can be obtained for zero cost. Again, while other OSs like Microsoft only allow one licence per system, it is the opposite with Linux, which allows distribution over series of computers.
Security and robustness: Since it was created, right up to the present day, the Linux OS has withstood malware, ad ware and virus vulnerabilities. The case is the complete opposite with other commercially available operating systems like Microsoft Windows.
Freedom: One of the reasons why we love Linux is the freedom that comes with it. With Linux, you have the liberty to control each aspect of the operating system, including the desktop interface, windows manager and task bars.
Software: With Linux, you are able to use different software for different tasks, all at once. Interestingly, because Linux supports free and open source software, you can modify the source code when and how you want to.
The disadvantages of Linux
Not easy to master: Mastering the Linux operating system requires time and patience as well as a willingness to learn. Otherwise you may have to hire the services of a dedicated Linux coach, which may be costly.
Compatibility issues: By being free, Linux has put itself at a disadvantage by not being able to catch up with new hardware. Although developers are trying their best to ensure that Linux meets the compatibility requirements of new hardware, they can do little when people are provided with several other operating systems as an alternative.
Lacks some key features: Although Linux is good in most respects, it lacks some key features which are readily available in other operating systems.
Not compatible with several Windows programs: Linux may be great in its own right; however, one major setback with it is that it is not compatible with all programs. It lacks the equivalent to many popular Windows programs, due to which users opt for other operating systems.
While open source technology has its perks, it is not altogether better than other operating systems due to the limited support it receives.
In conclusion, the Linux operating system continues to evolve and widen its support for several architectures and frameworks. Installation of Linux on your PC is a bit of a technical process but after you are done, you will be able to enjoy using it.