Linux Architecture
Video Activity
Join over 3 million cybersecurity professionals advancing their career
Sign up with
Required fields are marked with an *
or
Already have an account? Sign In »

Video Transcription
00:00
>> Welcome back to cyber Linux fundamentals
00:00
for security practitioners.
00:00
I am your instructor, Corey Holzer.
00:00
In this lesson, we'll be taking
00:00
a look at Linux's architecture.
00:00
Let's get started. We have
00:00
two objectives for this lesson.
00:00
First, we'll identify the key elements
00:00
of the Linux architecture.
00:00
Second, once we have identified them,
00:00
we'll discuss their roles and how they work together
00:00
to provide you with a functioning operating system.
00:00
In broad terms, Linux consists
00:00
of seven categories of components.
00:00
Some of these are unique, as you will see,
00:00
but others are categories
00:00
consisting of multiple examples.
00:00
I'd startup the first element loading
00:00
into memories of the bootloader.
00:00
It presents options to the user
00:00
as to how they will start Linux.
00:00
The brains and resource manager for
00:00
the operating system is known as the OS kernel.
00:00
The next component of Linux are services.
00:00
There are a plethora of them,
00:00
including those which you actively interact with like
00:00
a web server or remote access functionality,
00:00
and those that run in the background
00:00
like network services,
00:00
allowing the host to communicate with a larger network.
00:00
The shell is the primary user interface and
00:00
something you will become very
00:00
familiar with throughout this course.
00:00
The graphics are commonly referred to as X is
00:00
the foundation for the graphical user interface
00:00
that you can also interact with.
00:00
You interact with it through the desktop environment.
00:00
The desktop environment determines
00:00
how the GUI appears to the user.
00:00
It tells the graphic server how to draw
00:00
the windows and the appearance
00:00
of the mouse pointers, et cetera.
00:00
Applications are just those you find in Windows,
00:00
they are productivity tools provided to
00:00
you for the performance of tasks.
00:00
When you press the power button on every computer,
00:00
it goes through something called the
00:00
power-on self-test or POST.
00:00
This simply ensures that everything
00:00
works as expected from the hardware perspective.
00:00
The only time you really know
00:00
there's an issue is when you hear
00:00
an atypical series of
00:00
beeps and or an error on the screen.
00:00
Once the post complete successfully,
00:00
the bootloader is the first element
00:00
of Linux loaded into memory.
00:00
It triggers the loading of the actual operating system,
00:00
whether automatically or by prompting the user
00:00
to choose from one of multiple boot options.
00:00
These options can change configurations for
00:00
the operating system based on each option.
00:00
These can also be password protected.
00:00
In most cases, particularly on servers,
00:00
there will be a default boot option
00:00
that will load automatically.
00:00
If there wasn't a default boot option,
00:00
then the computer would sit waiting for input
00:00
and the operating system would never load.
00:00
Once the bootloader completes its function,
00:00
the part of the operating system that functions
00:00
closest to the hardware is the kernel.
00:00
The kernel acts as a manager handling
00:00
the allocation of all the systems resources.
00:00
It prioritizes access to the CPU,
00:00
RAM and storage, impacting
00:00
performance and ensuring
00:00
all requests are handled properly.
00:00
A host, that cannot interact with other hosts in
00:00
an environment for all intents and purposes is useless.
00:00
Services running on a host not only
00:00
provide utility to users and other hosts,
00:00
but they also manage
00:00
connectivity with the network and other hosts on it.
00:00
Services you more commonly
00:00
interact with or services like DNS,
00:00
web services via Apache or Engine X.
00:00
Databases like MySQL or Postgres.
00:00
File services allow us to mount shares through
00:00
SMB or download files through FTP or SFTP.
00:00
In many cases these are
00:00
active i.e we choose to go to a website,
00:00
but some are passive.
00:00
i.e, translating the website
00:00
URL into an IP address is the job of DNS.
00:00
Module 3, we'll focus extensively on the shell,
00:00
but at this juncture is
00:00
important to understand that the shell was
00:00
the original interface or means of
00:00
interaction between the user and the computer.
00:00
Or user provides instructions or commands to
00:00
the computer via the shell and the host response.
00:00
Today's operating systems employ
00:00
a graphical user interface,
00:00
which tends to be more
00:00
user-friendly and far less cryptic.
00:00
But the GUI is just more user-friendly for
00:00
doing things that can be
00:00
done on the command line as well.
00:00
The graphic server functions as the middleware
00:00
between the operating system and the desktop environment.
00:00
It provides the foundations for
00:00
the graphical user interface or GUI.
00:00
All desktop environments receive details about
00:00
the size of Windows and their position from X,
00:00
and they then skin them and
00:00
present them to the users on-screen.
00:00
Linux has many different desktop environments,
00:00
and while they all have similar components like Windows,
00:00
tab views, et cetera,
00:00
they can look very different from one another.
00:00
This is because the desktop environment
00:00
receives information about the basic components from
00:00
the graphical server and then skins
00:00
those components in the manner
00:00
prescribed by the desktops design.
00:00
Think of it like this.
00:00
Every house has walls,
00:00
windows, doors, support structures, et cetera.
00:00
But each house is relatively
00:00
unique in terms of its design and organization.
00:00
Applications are tools we use to perform tasks.
00:00
The most common ones you are probably familiar with are
00:00
the productivity tools like Microsoft Office,
00:00
calculator applications, web browsers, et cetera.
00:00
It is no different in Linux.
00:00
One thing that is important to understand is
00:00
the fact that many GUI applications in
00:00
Linux are just a front end
00:00
that communicates with the command line tools.
00:00
I will discuss this concept more in a future lesson,
00:00
but it is an important concept to be familiar with now.
00:00
In summary, we covered
00:00
two areas of discussion in this lesson.
00:00
First, we identified the seven key elements of
00:00
categories that comprise Linux architecture.
00:00
Second, we outlined the roles
00:00
of each of these elements and
00:00
how they interact with one another to
00:00
provide functionality to the user.
00:00
Thank you for joining me for this lesson.
00:00
I look forward to seeing you in the next one.
Up Next
Linux OS Structure
5m
Demystifying the Command Line or How I Learned to Love the CLI
5m
Useful Commands and How to Employ Them: Part 1
30m
Useful Commands and How to Employ Them: Part 2
30m
Using Pipes and Redirections on the Command Line
36m