In this lesson, we will learn about Linux operating system, with a focus on the following key points,
- Linux OS and its architecture.
- Important concepts to understand about Linux OS.
An operating system
is a core program of a computer that manages all the application programs. It offers a user interface, and also allows application programs to interact with the hardware systems of the machine. Windows
, Linux
, and MacOS
are perhaps the most common operating systems out there, and in this tutorial, we'll discuss some key points regarding the Linux operating system.
Linux
Linux is an open-source
, free
, and a multi-user
operating system. This means that as an open-source
OS, the code for Linux is publicly available, and as a multi-user
system it allows multiple users to access the system at once. Linux is also a highly secure system with enhanced authentication features, especially providing controlled access for its files.
Linux Kernel and Distributions
Linux operating systems exist in different forms. The term Linux
actually refers to the Linux kernel
, which is a core part of an operating system. It controls everything in the system, creates, kills, and manages the processes in the system, and also enables them to access the devices of the computer.
Most Linux operating systems are based on this Linux kernel
. They are termed as Linux distributions
(also known as Linux distros
). Ubuntu, Debian, and Fedora are famous Linux distributions.
Linux Architecture
Linux OS is composed of several components which work in accordance to keep the system running. Let's discuss them below.

Hardware
Peripheral devices such as RAM, HDD, CPU, are part of the hardware layer. They receive function calls from the kernel
to perform the desired operations.
Kernel
The core part of an operating system is the kernel
. Kernels are responsible for the execution, controlling, and allocating memory of processes in a system. It directly interacts with the machine hardware and hides the low-level details during the execution of programs.
Shell
Shell
is an interface between a user and a kernel, which takes commands from the user and executes them according to the kernel's functionality. This interface makes sure that the user gives the required commands only.
System Utilities and Applications
System utilities and other applications are the softwares that send kernel commands to perform required operations.
Try this exercise. Fill in the missing part by typing it in.
____ is the core part of Linux architecture.
Write the missing line below.
Processes in Linux
In Linux systems, processes
are of great importance. Any application, program, or file that runs on a Linux system is termed as a process
. Linux OS can have multiple processes running at the same time.
- Each process is given a unique
process ID
(orPID
for short). - Each process is allocated a separate block of memory (also known as
address space
) where they run.
States of a Process
At any given time, only one process can run. A process can be in one of the three states below.
- Ready State: When the processes are waiting for the currently running process to end and are ready to be run.
- Blocked State: These processes are waiting for some input or output and are waiting for a certain incident to happen before they can be run.
- Running State: The process is currently being executed.
As soon as the process is created, they immediately go into the ready state. They are stored in a special data structure and wait until the current process finishes executing.
Let's test your knowledge. Is this statement true or false?
If a process is waiting for the completion of an I/O operation it is in blocked state.
Press true if you believe the statement is correct, or false otherwise.
File Hierarchy System in Linux
Linux systems perform most of their operations on files. They have a specific file hierarchy structure
, which describes where files and directories should be and what they should contain. Note that most distributions follow this structure however there may be changes in the structure depending on differences in distributions.
Important directories in the file hiearchy system are,
- Root directory: All files and directories come under the root directory. It's located at
/root
, where the forward slash/
represents the system root directory. - Home directory: Home directory contains a home folder for each user which contains user-specific files and configurations. It is located at
/home/<username>
. - Bin directory: Contains binary executables for system program and utilities are stored in this directory. It is located at
/bin
. - Lib directory: This directory is located at
/lib
and contains necessary libraries required by the binaries in/bin
directory. - User directory: This directory contains user specific binaries and data, instead of the system specific files. It is located at
/usr
, and has folders for binaries and their libraries for applications that are installed by the user.
Build your intuition. Is this statement true or false?
/usr
directory is the same as /home
directory.
Press true if you believe the statement is correct, or false otherwise.
Build your intuition. Click the correct answer from the options.
Forward slash /
is the ____ directory.
Click the option that best answers the question.
- root
- home
- user
- system root
File Permissions in Linux
As most operations in Linux are performed using files, knowing file permissions have significant importance in Linux OS. As a multi-user system, Linux needs to be extra careful regarding file access permissions for different users to prevent data breach. Every file can have one or more of the following 3 permissions defined.
- Read: This permission allows the user to read and list the file's content. They cannot modify the file.
- Write: This permission allows the user to modify the file's contents by adding, removing, or renaming the file. This permission limits the user to move or remove the file.
- Execute: This permission allows the user to execute programs. Without this permission you can either read or write to programs, but not execute them.
File type and access permissions for a specific file can also be checked by running ls -l
on the bash terminal.
One Pager Cheat Sheet
- We will learn about Linux OS and its
architecture
, and important concepts to understand about it. - Linux is an
open-source
,free
, andmulti-user
operating system that provides enhanced security and authentication features, tends to be made up of variousdistributions
based on thekernel
, and is used by multiple users at once. - The Linux OS is composed of several components such as
Kernel
,Shell
,Hardware
, andSystem Utilities
and Applications, which interact with each other to keep the system running. - The kernel is the
core
of the Linux architecture responsible for executing commands from theshell
,peripheral devices
, and system utilities to control memory, hardware, and applications. In Linux systems, a
processcan be "Ready", "Blocked" or "Running" and each is given an unique
process ID(or
PID) with a separate
address spaceto run in.
- The process can be in any one of the three states - Ready,
Blocked
, or Running - depending on if it is waiting for an I/O operation to complete. - Linux has a
file hierarchy structure
, including a root directory, home directory, bin directory, lib directory, and user directory, for organizing system programs, utilities, libraries, and user-specific files and configurations. - No
/usr
directory isnot
the same as/home
directory; the/home
directory is user-specific for files and configurations, while/usr
has user-specific binaries and data for applications installed by the user. - The system root directory, indicated by a
forward slash
(/)
, is the parent directory of all other directories and serves as the root from which all other files and directories stem. - Knowing Read, Write, and Execute permissions help define data access control for different users in Linux and can be checked using
ls -l
on the bash terminal.