Most of the latest operating systems
are 64-bit architectures.
But you might find older operating systems still running
that are 32-bit architectures.
These are referring to the architecture of the CPU
that is running on the motherboard of that system.
And usually, it's either a 32-bit or a 64-bit
architecture.
A 32-bit processor can access up to 2
to the 32nd power of information.
That is just over 4 billion values
that can be accessed in that operating system.
If you have a 64-bit architecture,
that goes up dramatically to a 2 to the 64th power,
which is an extremely large amount of data.
If you were to look at this as to how much memory you
can store in a system, a 32-bit processor
can access 4 gigabytes of information,
whereas a 64-bit processor can access 17 billion gigabytes
of information.
This doesn't necessarily mean that the 64-bit operating
system you're using can access 17 billion gigabytes,
because most operating systems will have a maximum supported
value for the OS.
If you want to see the system type in your Windows system,
you can go to the Control Panel under the System settings,
and it will tell you the system type.
In this example, I'm using a 64-bit operating system
with an x64-based processor.
The hardware drivers that you install
must match the type of operating system you're using.
So if you're using a 32-bit operating system,
then you need to use 32-bit hardware drivers.
If you have a 64-bit operating system,
then you need to use a 64-bit hardware driver.
Sometimes you'll see this 32-bit software abbreviated
as x86 software.
This is a reference back to the Intel 8086 line of processors.
If it's a 64-bit processor, we abbreviate that as an x64.
It's also important to know that if you're using a 32-bit
operating system, that you cannot run 64-bit applications
in that OS.
Conversely, if you're running a 64-bit operating system,
you can not only run 64-bit applications,
but you can also run 32-bit applications as well.
If you don't know if the applications you're
using in Windows have been written for a 64-bit operating
system or a 32-bit operating system,
you can look to see where they've been installed.
32-bit applications are installed under Program Files
x86 and 64-bit apps are simply installed under Program Files.
There's another family of operating systems called
the Advanced Risk Machine, or ARM.
This is an architecture that was developed by ARM Limited.
They designed the specifications for the hardware,
and then third parties use those specifications
to create ARM-based CPUs.
The ARM architecture is well known
for being extremely efficient and fast in its processing.
It uses less power, creates less heat,
and it's perfect for our mobile devices.
Although we commonly see ARM used for mobile devices
and internet of things, the capabilities
of ARM-based architectures are greatly expanding.
And we're starting to blur the lines a bit
between the traditional 64-bit operating
systems and the ARM-based operating systems.
We often refer to a CPU, or a Central Processing Unit,
as a single, monolithic device.
All the information goes into the CPU,
and then we get results out of the CPU.
But inside of the CPU, there are lot of individual components.
The main processing of a CPU occurs on the processor core.
And generally, in today's CPUs, there
are multiple cores that are on a single physical CPU package.
Sometimes we refer to these as dual core, quad core,
or simply multi-core.
And newer processors are increasing
the number of cores in our operating systems all the time.
It's also not unusual for the multiple cores
to also have multiple caches.
These might have caches that are dedicated for a core,
or there may be shared caches that are
used across all of the cores.
These caches are designed to help
speed the processing of information
into and out of the CPU.
If you were to look at a close up of the CPU itself,
you can almost make out where the different components
and devices are on a single CPU.
If we looked at this broadly, we can even
see that there might be individual cores on the CPU.
There's probably a cache that is shared
between all of the cores.
And CPUs today also tend to have their own memory controllers
and graphics processors built into the same CPU hardware.
If you start monitoring the amount of processing occurring
on your CPU, you might see images
like this in an application, such as the Windows Task
Manager.
Here you can see different processes
that are occurring between what seems to be two different CPUs.
But in reality, this is a single CPU core.
The reason this looks like multiple CPUs
is that it is using Hyper-Threading Technology,
or HTT.
You might have a single physical CPU core,
but it looks and operates as if it is multiple CPU cores.
In reality, we're not getting twice the amount of work
from one single device.
Instead, it simply increases the throughput
of the processes going through the CPU
by somewhere around 15% to 30%.
Not only do you need a CPU that supports hyper-threading,
but your operating system also has to support it as well.
Today any modern operating system
supports hyper-threading.
And if you bring up some CPU monitoring,
you'll very quickly see the results
of this hyper-threading technology.
Many CPUs also include hardware that
allow us to virtualize additional operating
systems on our computer.
This means that we could load Windows as our primary desktop,
and inside of Windows, we could run
other Windows instances, or instances of other operating
systems, such as Linux.
Virtualization itself is resource intensive.
So it made sense to take a lot of that functionality that
normally would be in software and put it directly
into the hardware of the CPU.
If you have an Intel processor in your system,
you can check your BIOS and see if it
supports the Intel Virtualization
Technology or VT.
If you're running an AMD processor,
then you may be running AMD Virtualization, or AMD-V.
Some virtualization software requires
that you enable these capabilities in your CPU.
So check with your documentation and your BIOS
to make sure you're using the proper configurations
for your virtualization system.