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 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 four 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 a 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 percent 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 amdv 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