What is Linux?
Linux is one of the finest operating systems which can be found today. It is open source in nature and is based on UNIX. It is just a simple OS like the commercial ones like Windows XP, Windows 10, and MAC OS. An OS is nothing but the graphical form of interface between the system of a computer and the user of the system. It comes with the responsibility of managing all the resources related to hardware that the system of a computer has and also helps in establishing communication between the hardware and the software.
Open Source Software
Open-source software is software that has its source code available with the license with which the holder of copyright has the right to study the software, change the settings, and also distribute the same software with anyone he wants for any form of purpose.
Linux OS and its components
The Linux OS is composed of three different components.
- The Kernel
- The System Library
- The System Utility
The kernel functions as the core part of any form of OS. It is responsible for handling the tasks along with the hardware of the system of computer. The CPU time and memory are the two examples of the entities which are being managed by the kernel. The kernel of an OS is of two types:
The microkernel is a type of OS kernel. As its name goes by, it comes with a very basic form of functionality. It is the least amount of software that can provide the environment which is required for the functioning of an operating system. This environment of kernel covers the management of threads, low-level management of address space, and inter-process form of communication.
A monolithic kernel in the form of a kernel comes with various drivers along with it. It is an architecture of the operating system in which the operating system of a system works in the space of kernel. This form of the kernel is able to load or unload dynamically all the modules which are executable at the time of running. The monolithic form of kernel stays in the supervisor mode. The major point of difference between the microkernel and the monolithic kernel is that the monolithic form of the kernel can alone define a very high level of the interface over the hardware of the system of a computer.
The supervisor mode of the monolithic kernel is a flag that mediates from the hardware of a system. It can be easily modified by running the codes at the software system level. All form of system-level tasks comes with this flag while they are operating or running. However, the applications of user space do not come with this flag set. The flag makes sure that whether the execution of machine code operations is possible or not such as performing various operations like disabling the interruptions or modifying the registers for various forms of descriptor table. The main idea behind having two different types of operation comes from the idea “with more amount of control come more responsibilities”.
Any program in the supervisor mode is trusted so much that it will never fail as any form of failure will lead to the crashing of the computer system. In simple words, the kernel is the component that is responsible for all forms of activities of the OS. It is composed of various types of modules and also directly interacts with the base hardware. The kernel comes with all the necessary abstraction for the purpose of hiding all the low-level details of hardware to the system or programs of application.
The System Library
The system library is composed of a collection of resources that are non-volatile in nature and are used up by the resources of the computer system and is mainly used for developing software. This comes with data configuration, help data, documentation, templates for messaging, and many more. Generally, the term library is being used for describing a huge collection of implementations regarding behavior which is written down in terms of computer language. It comes with a perfectly defined form of interface which helps in invoking the behavior. So, this means that anyone who wants to create a program of high level can easily use up the system library for the purpose of making system calls continuously.
The system library can be requested at a time by various individual forms of programs simultaneously, in order to make sure that the library has been coded in a way so that several programs can use up the library even when the concerned programs are not at all linked nor have a connection with each other. In simple terms, the system libraries are unique programs or forms of functions built up of the system utilities or application programs that have access to all the features of the kernel. This form of library implements a majority of the functions related to the operating system of a computer and they are not required to have the rights of code access for the module of the kernel.
The System Utility
The programs of system utility are responsible for performing all forms of individual and specialized level tasks. Utility software is a form of system software. It has been designed for running the programs of application and hardware for a system of computer. The system software can also be considered as the interface between the applications of the users and the hardware. In simple words, the system utility software is the software of a system that has been designed for the purpose of configuring, analyzing, optimizing, and maintaining a system of the computer. The utility software works hand in hand with the operating system for supporting the infrastructure of a system, differentiating it from the software of application which is aimed for performing the various tasks directly which will be benefiting the normal users.
Characteristics of Linux architecture
Linux comes with various features that can help regular users a lot.
This is the most unique characteristic of Linux OS in which the resources of a computer such as memory, hard disk, etc. can be accessed by various users at a time. However, the users access the resources, not from a single terminal. Each of the users is given an individual terminal for accessing the resources and operating them. A terminal consists of at least one VDU, mouse, and keyboard as the devices for input. All the terminals are linked or connected with the primary server or Linux or with the host machine the resources of which and other peripheral devices like printers can be used by the users.
Portability is the feature that made Linux OS so famous among users. Portability does not mean at all that it can be carried around in CDs, pen drives,s or memory cars nor the size of the file is small. By portability, it means that the OS of Linux along with all its applications can function on various types of hardware in the exact same way. The kernel of Linux and the application programs of the OS support the installation of the same on even those systems which come with the least configuration of hardware.
Main concepts of Linux security
Linux provides 3 main types of security concepts.
This helps in authenticating the user with the system by providing login names and passwords for the individual users so that their work cannot be accessed by any third party.
At the file level of Linux OS, it comes with limits of authorization for the users. There are write, read, and execute permissions for every file which determines who all can access the files, who can modify the same, and who all can execute the files.
This feature of Linux OS helps in encoding the user files into a format that is unreadable in format and is called cyphertext. This makes sure that even if someone becomes successful in opening up the system, the files will be safe.
Linux OS comes with a great feature for the purpose of communicating with the users. It can be either within the network of one single computer or in between two or more two networks of a computer. The users of such systems can seamlessly exchange data, mail, and programs through the networks.