Linux itself is very vast and every flavor has its own advantages, disadvantages and uniqueness. Some of these may have been covered in many forums, blogs and articles.
In my last post about Linux flashback and Linux Internals, we saw how Linux came into existence, we also saw an overview as to what a Linux Operating System has as its core components.
Today I will try to brief into some of the basics that will not make you a Linux Sysadmin (as of now) but will surely make your life a bit easier in terms of moving around within the Linux playground.
So let’s start.
Basically any Operating System has core components like the kernel, the Filesystem, interfaces, system utilities, device drivers and more.
In the last post we same how these components are layered on top on one another and helps achieve what we want from out OS.
A short detail of these components are as below:
- Kernel:
It is the most important part of an OS. It does a lot of important tasks out of which 2 main tasks are:
1. Memory Management.
2. Processor sharing and management. - Filesystem:
In short a file system helps to access data in a very efficient way. There are a lot of file systems available today. These are unique in their own way and has their own set of benefits and use cases. Some of the Linux specific filesystems are ext3, ext4, xfs and so on. We will explain each of these in detail in later posts as it will make this post lengthy. - Interfaces:
There are basically 2 types of interfaces.
1. Command Line Interface (CLI).
2. The Graphical User Interface (GUI).
The use of both these are similar and they function to take inputs from a user and send it to backend and receive response from backend and deliver it to the user. Earlier the CLI and the GUI had a lot of differences, but with recent advancements, every task that can be done on CLI most of them are achievable from GUI as well, and using any one of the interfaces is purely a user’s choice. - System Utilities:
These are utilities which are used by the system to access various system resources may it be for the functionality of the system or for answering a user query. - Device Drivers:
These are system utilities which helps to access the underlying hardware.
So now that we know what are the core components and what it does, let’s go a bit higher in the hierarchy.
- Partitioning:
Partitioning in any OS is nothing but isolation of storage space and creation of their specific device drivers. So if we make 2 partitions, then 2 device drivers are created.
A partition in theory can store data, but the problems include:
1. Data is in raw format and not in file format.
2. Concept of metadata is not implemented.
3. Physical addresses are used to retrieve this data.
Hence the I/O operations are not efficient and the data is just like a heap of books without proper indexing. To avoid this and to achieve efficiency we format the partition. By formatting we are in turn creating a filesystem which helps us store and access data efficiently. - Filesystems:
A filesystem overcomes the shortcomings of partitions. In a filesystem concept of metadata is implemented. Logical addressing is used and indexing is used to store and retrieve data.
Now that we are a bit familiar with what’s within and what they all do in the next post we will see various methods of installing Linux.
Hope you liked this post, see you in next one of blog.avoidingtech.com.