Hello and welcome to Module 101 from for the limits plus course
and this module, we're going to be talking about the architecture of a Lennox system.
As you can see, it's a fairly small amount of the exam contents, actually, smallest amount of the four main topic areas.
But there are some things that we need to understand
regarding how looming systems operate.
So we'll start off with some of the considerations for how hardware is detected and
how you can inspect what hardware your system has been able to discover.
Also go into
some of the details for booting the system.
Some of the options that you have for
changing your configurations to better suit your environment
and then lastly, will will wrap up with boot targets and run levels, and we'll see how simple it is to shut down and reboot Olynyk system.
So for our first topic,
one of the things we think about with Lennox Systems is the tremendous gains have been made with
carver compatibility over the years.
Also the ability to use
with lots of modern devices like USB devices, keyboards, mice,
speakers, sound cards, video cards and so on.
well, look at mass storage devices. Some of the details that you'll need to know about their for the exam.
We'll talk about how plugging cold plug
what kind of resource is are available for your devices are required for your devices, rather
a little bit about USB
and some special areas of the system, like System Fast, You, Dev and Debus.
You'll notice when we go through this course that there are
commands or path that I will
have highlighted here in blue.
That's a good visual indicator that that's probably a command or are configured file or something of that nature
that you might want to investigate.
But I'll be demonstrating most of the commands that we see listed like this at the beginning of each of these modules.
So when we think about our
and the peripherals that are possibly connected,
we have to start with the foundational bits of hardware, which is memory processor itself,
our, uh, disk controller. The disks themselves of storage devices,
network interface cards of Nick's,
whether or not we've got a CD and DVD players
and of course, ah, peripherals like printers, scanners
and the like.
These are all things that are
easy to use with modern politics. Systems that
but in the past for a little bit tricky to get device drivers installed and so on.
Now, when a hardware device
wants to interact with the operating system, it uses what's called Interrupt request or an I. R. Q.
In a nutshell. What this means is that
let's say we're talking about a describe the disk drive says
I want to, um,
let the operating system know that I'm ready to write. Data are to read data.
And maybe you saw for program is sending interrupt the operating system, saying I need to write some data or I need to read some data.
So the operating system does. Is tries to coordinate the signals to communicate properly with
something like your storage device,
to allow it to interact for a short period of time to do its work
and with pre emptive multitasking operating systems like lyrics.
The different requests can all work together with each other
in such a way where they can cooperate and not cause resource contention issues and deadlocks and things of that nature.
Well, several mention here of direct memory add address
what this means is that
devices that are communicating with the operating system can access memory directly,
a small portion of which is reserved for their operation.
This is more efficient than having to go through the operating system
and having it do some of those
a memory maintenance and housekeeping tasks for the device that's that's connected to the to the system.
We'll also look a little bit at a scuzzy devices.
You should know a little bit about those a SW Far as some of the the naming conventions and some of the performance characteristics, you will probably see questions about that on the exam.
We also have a little bit here about how the hardware abstraction layer
and what the Harper obstruction layer does is create a MME
But it's created by a bit of software, which is running in the kernel,
and this allows the operating system to communicate with the physical hardware
So I can run installed linens on an Intel based
sees system or in a M D based system. Lots of other architectures and then abstraction layer
well will translate the instructions needed from the operating system to properly communicate with the underlying hardware
all modern operating systems work on this concept where there's this abstraction lier.
That's why we have the ability to run different kinds of software on various different forms of hardware because the obstruction layer can convert those messages back and forth as needed.
And, of course, the demon
for the harbor abstraction layer is hell D.
That's a pretty common naming convention with. With
With Lennox is too
put a D at the end of the name of a service to indicate that it's a demon, probably running as some sort of a server
listening for connections.
As I mentioned with the scuzzy devices we can see, there's quite a few here on the left side
everything from the original scuzzy one, which was popular back in the late eighties
all the way through Ultra 6 40 scuzzy, which became popular, probably during the two thousands, and maybe a little bit beyond that.
But let's also supports things like floppy drives, line printers,
in the old units, days when you wanted to connect to a system of the terminal that was a physical serial computer line
between the desktop system of the user
and physical server itself.
and those terminals were very basic. It was just a
a monochromatic monitor with a keyboard,
usually green text on a black background or maybe amber text on a black background. That's pretty much your only options,
but it was good enough at the time.
you could do everything you need to do. That's, uh it was a big
revolution to have these
gooey environments that were so familiar with nowadays.
But you notice for floppy drives
and for line printers and other devices that there's an interrupt
designated for those types of devices as well as an address range.
This is just here for illustration purposes only. You don't need to memorize all these details,
but it shows us how. If I I've got a floppy drive that wants to communicate with some software, the operating system knows which interrupts to use in order to
interact with that floppy drive correctly.
Now we do have many tools available to us in order to inspect whatever hardware was discovered during the brute prop the boot process. We'll see a few of those here
de message, as it says. These are messages that we see during boot that the colonel is generating to let us know various bits of information such as,
which devices were recognized, some of the messages that might be used to initialize the those devices
and possibly even some air messages that we might find a look into.
Then we can do other commands to look at
what types of
USB devices we have connected. What kind of PC I devices do we have connected?
So let's have a look at some of these.
I already got my Olympics virtual machine built.
As I mentioned earlier, We're gonna be using Scent OS version seven,
and I've also configured a show
with my preferences. I, like Thio, have
green text on a black background.
It's just, um,
what is your read?
And what I can do is I can type control shift Plus to make that fund just a little bit larger,
a little bit easier to see what I'm doing with larger text. Easier for you to see as well I imagine
so. First, let's have a look at the message
now. If I If I run the message,
I do not have to specify the path to it.
Just pipe this tomb or so that we can stop one screen time.
Just take a quick look to see what we've got here.
So some of our initial
messages are about initializing the CPU
and we see some information about our limits. Colonel
version three dot Tenn dot 0-693 and so on
tells me that it's a red hat system. Santos is based on Red Hat are based on Fedora. So that's why you see some of these messages.
Tells me what my boot images.
So this is the actual colonel that I'm running on right now.
Tell me where my root directory is
and tells me that someone some other settings which will get into later about where my colonel crash information might be.
In case my system has problems, it can dump its memory to a crash file, which could be examined later.
Then I see information about my bios
clearing my physical memory.
we have Ah, tell me that my
just stop the adventure faces VM wear because it knows I'm running a virtual machine based on its inspection of the virtual hardware.
This class is not really about virtualization, but I'll have to touch on a little bit
in order to
I understand why some of these things would show up in a command like the message.
Let me see more messages or more details about some of the hard work of pat capacities that the system has
And just flipping through this about some details about memory.
And if you know what you're looking for, you can, uh,
run this command and filter the output.
Try to get your various details
I can run L S P C. I has probably run this to Maura's. Well, this is showing me my PC I bus and any devices that are connected to it.
So it tells me that I've got intel.
Hey, have world
are virtual hardware PC I Bus
still knows that it's VM where,
and it thinks that my virtual hard disk is an ultra 3 20 scuzzy Dr.
And we need these kind of details because the operating system doesn't know whether that's a really
hardware disc or not. So it has to be configured and used,
whether it's the same way, whether it's physical or virtual.
It's just a lot easier with virtual because the
the installation process takes care of a lot of those details for us.
It finds out that I also have an Ethernet controller connected to a PC I bus
on audio controller
and a USB control.
So some good details there.
I can also run a command to investigate my CPU information at less CPU
2 64 bit architecture
and tells me that it's an Intel based system.
Really? What this is showing is
the hardware of my system that I'm running this virtual machine on.
That is not the virtual processor in this case.
But if you were running this command on a physical limits machine that you would see the actual hardware details
as well as the clock speed
and how much cash memory is included and so on,
I can look at my scuzzy devices with L s A C S. I'll Alice. Cozy
as we see, just have the
standard dev slash sda. That's mine.
My Buddhist my installed this. My entire limits operating system is contained on that virtual drive,
and I also have a
virtual CD DVD drive,
and we see some of the details about the hardware knows here
Fars or how the device files communicate with these divine with these systems to the operating system,
I can also in investigate my USB devices. I can run at last USB
here. I don't have too much connected,
but we can see that I've got a USB hub. The route, huh? Before the operating system. And if I connected USB device to a physical hardware
and allow the virtual machine to access said that it would show up here
and we'll see that later when I connect the thumb drive
for a different demonstration,
another command to try as L s mon, This allows me to view kernel modules
so I'm planting this tomb or because it's a kind of long list.
What this is doing is showing me all of these different kernel modules that are currently enabled
or included in the Colonel that's been compiled for this running system.
So as I flipped through these,
we can see there's a lot of items there.
Generally, you're going to be filtering this by doing a search for something interesting. So, for instance,
like instead of just piping this tomb or I can do a grap
and say I want Thio, look for anything to do with NFS
just as a random search
and you'll see I've got the NFS d the dirt, the demon for NFS,
my access control list. The Locking demon Normal procedure call. So it's a good way to to, uh,
fine things more quickly when you're searching the output of the command.
We'll get into pipe and the great command little bit later. But you can see how easy that is to use here. It's probably something you could kind of figure out how that works.
You can also run the MoD Probe Command,
and what we want to do with this is Run first will run help just to see what my probe action does.
It's always a great idea to run Dash H or Dash dash help
or look at the man page when you're investigating a new command. This way you can get some familiarity,
and I'll be able to,
see the proper options to use and so on.
So mind probe allows us to add remove kernel modules
so I can
run the command. The remove command is we can see here
and what What this really amounts to is the ability to, um,
to customize the Colonel Bob on Lee,
including those things which are actually really important and excluding everything else
I can run d M I d. Code.
This is the best top management
interface Gonna pipe that two more as well.
And this tells me some information about my,
uh, my system and how it's configured.
I can see that I've got some details about Bio's My BIOS is created by Phoenix Technologies.
I've got various bits of details about my different hardware features.
Which bus is air supported
Would version of bio, some running.
It knows what my via more serial number is for this system.
I can see my, uh,
desk reference platform information from the virtual hardware again a CZ specified as intel
and some other details.
And so this is important, especially when you're trying to determine is my system recognize all the hardware that's been
and is it functioning correctly?
There's also bios decode.
Many of these commands are needed to be piped tomb or because
there's too much information cm one screen.
But it tells me more details about my bios. What version number I have,
which features are supported.
I can see that it's
also looking at my PC I slots to see if I need devices are connected.
So some good details there.
Now we're looking at these devices. I just ran a few of these commands. Several these Koreans.
If I had some, uh,
hard drives or external drive, it was used to baste. It would show up is a scuzzy device. If I run the L S U S B
command that I just used earlier,
I can also look at my block devices
by running l s u S b.
Sorry, l s B. Okay, now l s U S P,
and this shows me in a sort of a nice tree format.
What? My route
Storage devices Scuzzy disc. A first disc that would be created if I created another add another scuzzy diskette would be scuzzy. Just be and then scuzzy disc C and so on.
It also shows me two of my partitions, the boot, partition and the partition that contains route and swap.
And lastly, it shows me
that I have a CD run image mounted as s R. Zero
that's actually install media for this operating system.
And when you build a new system. It's often very convenient.
have the CD mounted because you might need to install more software, and it's just kind of convenient.
A few other things to think about Here we have the D F command. You're just usage command
and some special directories underneath slash Prock.
I'll go back to this for a moment.
DF, by itself gives us off the different
partitions or file systems where they're mounted and some of the statistics.
Now. This is a little bit hard to read because it's in one came blocks so we can run D F Dash H, which stands for human readable, and now it's a little simpler. I can see that
my slash partition is eight gigabytes. I've got 2.5 gigabytes free.
My boot partition is,
20% of that's in use and so on,
and I can see where these file systems were mounted. This is pretty handy.
I will cover mounting and mounting file systems later. But
the idea is that if I create a directory, I could mount to file system to that directory, and now I just
access that director and thereby gain access to the file system.
Now one of the special areas on a Olympic system
is the Prock file system. And if we do a man on Prague,
we can see this is the process information pseudo file system.
So as the system boots, it creates these entries in underneath Prock,
and they have, ah, a certain format.
There's the slash approx life process I d.
Underneath the process i d. There might be other
directories are files created to show how the hierarchy of processes communicate with Curt with the Colonel
command line interface for the colonel's. Also here we see there's several other items would show us what's contained underneath Prock.
So if I do a long listing here received quite a few items
cake or that's Colonel memory.
But we also have all these process i. D. Related files.
And so if I
if I want to look at the version
so I'm still in the approximate
file system, this tells me what the version of my system is, and this is what we saw also in de message. If you recall,
I can do um or on the CPU info file and get that detail
and this is more or less what? L s c p you will show me
I can use. I was using the Kincannon a command. I can also use Maur.
I can look at the devices file
that shows me all the devices that were discovered when the system was booted.
All my character devices on my block devices
character devices operate one character a time. Where is block devices operate with the block of data time. We'll talk a little bit more about that later.
But all my scuzzy discs and so on will show up here.
I can also
look at my partitions
shows me this scuzzy disc
A for the disk and then one and two for the partitions
as well as my CD room.
Some of the nice features of the shell which will talk about little bit later. But I can use the up arrow on down arrow to go through my command History
and I can also use
Tab completion. So, for instance, if I want to look at slash clock slash interrupts
already in the product
directory so I can just start typing, interrupts and hit tab. And since I matched something unique, I get interrupts,
and this shows me all the interrupts that are known to exist for their system.
So we see things here for
the controllers on the motherboard of the virtual hardware
PC. I devices
other things that relate to the virtual hardware
thermal sensor checking performance monitoring.
These are all things that you might have to, ah, reason to investigate. If you're
trying to troubleshoot various hardware problems,
Olynyk supports cold devices and hot devices, a cold plug device we call a cold because the system has to be turned off in order for you to be able to add to remove something.
This is what we would normally associate with the traditional computer hardware,
where we can't just
plug and unplug something while the power's on. Otherwise, you risk damaging that device.
Hot plug device, on the other hand, can be added and removed
when the system is up and running is very convenient
if a dynamic device file gets created, this is done because if I connect a USB thumb drive, for instance,
a device file has to be created nor for that device to be recognized.
So that's considering how plug device.
Now, when you're trying to determine which kinds of devices are supported by your system. We have to think about all these different possibilities pretty much what we saw at the beginning of the module.
And I could run these various commands to query my colonel
to have it. Tell me, what devices did you do the colonel detect upon boot up?
And that tells me now I should have device files that are created for those
those items which allows me to have the operating system do some interaction.
Now, the device files
continued underneath the DEV directory, so I just did a quick L S of Dev,
and we can see here. We've got various things.
I got my CD rahm device file. My scuzzy discs device files my terminal device files.
All the all the device file does is gives the operating system
a method to connect to that hardware in order to
allow the operating system to interact with it
now for USB devices.
A Z I was saying earlier the use of us be with Lennox is much, much easier than it used to be. Now we just plug something in, and pretty much shows up
more or less the same way that a window system operates.
But we can run
some of our commands
like L S P C I or D message.
And then just do a grab command looking for us. Be now. I'm running grip dash I because they want to ignore case.
Maybe I don't know exactly how the USB device will be listed so I can ignore the case this way. I've got a mix of upper lower case letters. It won't matter.
The USB driver has several components of you. See here it's got a piece that relates to the host computer.
The software layers between upper layer and the host layer
are another form of abstraction telling the operating system how to communicate with this storage device
wherever it may be connected to the bus.
So if I run L S P c I
and pipe this to grip dash USB,
I can see at least that I've got my controllers available. These air the controllers that were discovered when the system was booted,
I could also a d message and do a graft. Ash, I for us be just to see what happens.
And here I've got a bunch of extra information because it's giving them or details about what the colonel
configured when the system billions.
So USB hubs, USB devices, some of the details about the controllers themselves,
and these are important in bits of information to have, because
again, when you're troubleshooting and trying to get things working,
you may need to query these different areas.
All right, So in addition to the Proctor file system, we also have the system file system since half ***.
So when the system boots
the You Dev demon, as we see here,
will inspect the hardware
it gets communicated with after the harbor's inspected to say
that there's these various
devices attached to the system
And you devil, make sure that device nodes, which we saw underneath Sasha Dev
those device nose, will get created so that the hardware devices can have a mount point or an access point to the operating system.
The desktop bus team, as we can see here,
allows the operative system to communicate with these death these different devices so that we can read and write data or store data. Whatever the
the action might be.
You event messages are very similar to the idea of an interrupt which we
talked about just a few minutes ago.
So let's have a look at some of these
First off, Will will look at the sister act. Cherie,
if I do, l l insist. That's a long listing.
She won't go to that directory.
Look in the block folder. I can see what my block devices are.
I can see what devices are attached to my bus
slash sis slash dev. I've got my block and character devices.
I can't even look at
my firmware details.
So as a system boots, all this information has generated dynamically to let's drill down and see the low level details off what kinds of capability this particular system has.
And we have rules for for the you deaf program.
at sea, you dove.
I've got a rules dot D
also have you to have that cuff
com files or dot com files are usually that's the usual. The naming standards don't see you enough.
Sometimes it's dot c f. G, that sort of older standard for config,
but also is telling me it's a basic details about how the you Dev demon is configured
and all it's got is one line which is currently coming out.
I thought if I look in the rules directory, there are some You dove,
there's one file here with some rules,
and I just looked at that file and it's telling me,
uh, this is the visual giving me, ah, template or format for how to create you devils. You don't need to go into that much detail for a course like this, but you should understand, with the you'd have demon does, which is to
build a device files for the system when it when it boots.
All right, so these air the commands that we used in this bottle
and when you're when you're going through these modules, I encourage you. Thio. Try these commands for yourselves, Paul. That positive video Look at the man pages
give yourself a chance to become become more familiar with these different devices and these different up utilities and commands