Linux, a popular version of the UNIX Operating System, is an open-source OS because its source code is freely available i.e., it is free to use. It is compatible with UNIX and has similar functions to UNIX. It is the fastest-growing OS, used from phones to supercomputers.
In 1991, Linus Torvalds developed the Linux OS that helped improve the UNIX OS. When he suggested these improvements to UNIX designers, he was rejected by them and thus thought of launching his own OS. An OS that could be modified by its users.
Components of Linux System
There are three components in a Linux OS:
1. Kernel: It is the core of Linux and is responsible for all the major activities happening in this OS as it interacts with the underlying hardware directly. There are multiple modules in a kernel. IT helps hide low level hardware details from the system or application programs by providing the required abstraction to these hardware.
2. System Library: It helps access Kernel’s features and implement most of the functionalities of the OS. The special functions and programs in the system library do not require the code access rights of the kernel module.
3. System Utility: These programs perform specialized, individual level tasks.
Kernel Mode vs User Mode in Linux
Kernel mode executes the kernel component code. This is a privileged mode that has complete access to all computer resources. The kernel component code represents a single process and executes in a single address space. It is quite efficient and fast as it doesn’t make use of a context switch.
A Support code doesn’t run in kernel mode. User mode includes user programs and system programs. They don’t have access to system hardware and kernel code. If they wish to access Kernel functions, they make use of system libraries.
Features of Linux
Following are the features of Linux OS:
1. Portable: This feature makes the OS portable i.e., it can work on different hardwares in the same manner. Linux supports installation on any kind of hardware platform.
2. Open Source: The source code of Linux is free as it is a community based development project. Collaboration of multiple teams help enhance Linux’s capabilities and evolution.
3. Multi-User: Multiple users can access system resources of the OS at same time.
4. Multiprogramming: Allows multiple applications to run at the same time.
5. Hierarchical File System: Linux arranges the system files and user files in a standard file structure.
6. Shell: A special interpreter program helps execute commands of the OS, perform various types of operations, and call application programs. etc.
7. Security: Authentication features like password protection and controlled access to specific files ensures user and data security.
Architecture of Linux Operating System
A Linux System has the following layers:
1. Hardware: This includes peripheral devices like RAM, HDD, and CPU.
2. Kernel: Interacts with the hardware directly and provides low level services to upper layer components.
3. Shell: This hides the complexity of the functions of a kernel and acts as an interface to it. It takes commands from users and executes kernel functions.
4. Utilities: Utility programs provide the user with OS functionalities.
Benefits of Linux
- It can be modified by anyone who has programming knowledge.
- Beginners can learn it easily.
- You can choose from millions of programs, applications and Linux softwares, most of which are free!
- With Linux, the system doesn’t need an antivirus. It is a highly secure system with a global development community that constantly upgrades its security. This makes the OS more secure and robust
- It is a great choice for server environments as it is stable and reliable. Linux-based servers can run non-stop and they won’t need a reboot for years.
- It is flexible and can be run on any system.
Linux is a well-known version of the UNIX OS. The Linux OS is portable and multi-user. It is an open source OS that provides multiprogramming and security. It also has a shell and a hierarchical file system. There are four layers in the architecture of Linux, namely, hardware, Kernel, Shell, utilities.