One of the most widely used UNIX operating systems is Linux. It is open source because the source code is available for free. The use of it is free. UNIX compatibility was taken into account when creating Linux. Its functionality list resembles UNIX quite a bit.
Components of Linux System
Linux Operating System has primarily three components
- Kernel − Linux’s kernel is its foundation. It oversees all of this operating system’s important functions. It is made up of different modules and communicates with the underlying hardware directly. The kernel offers the necessary abstraction to shield system or application programmes from low level hardware specifics.
- System Library −System libraries are unique programmes or functions that allow application software or system utilities to access Kernel features. The majority of operating system features are implemented by these libraries, which don’t need access to the code of kernel modules.
- System Utility − System utility programmes are in charge of carrying out specific, high-level tasks.
2 Modes: Kernel and User
Code that is a part of the kernel runs in the highly privileged kernel mode, which has complete access to all of the computer’s resources. This code is very effective and quick because it represents a single process, runs in a single address space, and doesn’t need to switch contexts. Each process is run by the kernel, which also gives it access to protected hardware and system services. System Library contains support code that is not necessary for kernel mode operation.
In User Mode, which has no access to the kernel code or system hardware, user programmes and other system programmes operate. User programs and utilities access kernel functions through system libraries to obtain low level system tasks.
Following are some of the important features of Linux Operating System.
- Portable − Software that is portable can function identically on various types of hardware. Any type of hardware platform can support the installation of the Linux kernel and application programmes.
- Open Source − The Linux development project has a community-based development model and is open source. To increase the functionality of the Linux operating system, various teams collaborate and it is constantly evolving.
- Multi-User −Because Linux is a multiuser operating system, multiple users can simultaneously access system resources like memory, ram, and application programmes.
- Multiprogramming − Because Linux is a multiprogramming operating system, several programmes can run simultaneously.
- Hierarchical File System −System files and user files are organised according to a standard file structure provided by Linux.
- Shell − Linux provides a special interpreter program which can be used to execute commands of the operating system. It can be used to perform a variety of tasks, including calling application programmes.
- Security − Linux offers user security through authentication tools like password protection, restricted access to particular files, and data encryption.
- Hardware layer − Hardware consists of all peripheral devices (RAM/ HDD/ CPU etc).
- Kernel − It is the core component of Operating System, interacts directly with hardware, provides low level services to upper layer components.
- Shell − An interface to kernel, hiding complexity of kernel’s functions from users. The shell takes commands from the user and executes kernel’s functions.
- Utilities − Utility programs that provide the user most of the functionalities of an operating systems.