
Sign up to save your podcasts
Or


I know the article made you hungry, let’s get back to the topic.
You need to know two basic things:
Virtualization creates a software representation of the underlying hardware resources on a host and shares it among the virtual machines that are created on top of it. Each virtual machine has its own operating system and applications, thereby being able to utilize the resources of a host machine by its guest machines in an isolated manner.
If you remember our x84 vs x64 architecture systems blog post, the x84 systems are not capable of running more than one operating system or application at a time. The concept of multi-processing came up only with the x64 systems introducing the dual-core, quad-core so on. Because of this reason, the earlier datacenters which were based on x84 systems had to increase the number of servers, whereas the server utilization remained underutilized.
Today, this is not the scenario. Virtualization has gone beyond just server virtualization and has reached network virtualization, disk virtualization, and so on. But how is this possible?
The concept of Virtual Machines is made possible only because of the thin layer of software known as the Hypervisor, which is installed on the host machine. The hypervisor enables the virtualization of resources and isolation between the Virtual machines that are created on the same host. This enables efficient and transparent utilization of data center resources.
Type 1 hypervisors as depicted above lay directly above the physical server and host the virtual machines on top of them. They are also known as bare-metal hypervisors. It has shown far better performance than type two hypervisors.
Dynamic resource allocation in Type 1 hypervisor allows VMs to consume resources only as much as they need to be fully functional, even if you allocate more than that. For example, if you allocate 32GB of RAM to a VM, it will not reserve all 32GB of RAM to the VM, but only that resource which it needs to fully function. ( This is not the case with Type 2 hypervisors ).
Example: The open-source KVM ( Kernel-based Virtual Machine )
Type 2 hypervisors as depicted above have an operating system on top of the physical server layer, over which a type two hypervisor is installed. So, there is a host operating system ( a software layer ) that comes in between the physical server and the type two hypervisor.
x86 is a generic name that is used to refer to all Intel processors that were released after the original 8086 or 8088 variant of Intel processors. The variants like 80286, 80386, 80486 so on.. were named using the convention x86, where the 80 is implicit, and x can be replaced with a number conveniently. These are backward compatible systems.
x86 systems ranged from 8-bit, 16-bit and then 32bit. What do these bits refer to? They are the highest number of bits in a single register that exists in the system.
When we say 32-bit, the number will contain 32 digits with each of them being either 0 or 1. The number system used here is Binary System ( power 2 ). Hence, the maximum possible value here will be 2³², which is 42,94,967,295. These are the maximum number of memory locations that a 32-bit register can access. We can only attach that memory device which the register can completely make use of.
Thus, a 32-bit register can cater a maximum of 4GB of RAM. This is because, if each memory location that the register points to can hold 1 byte of data, then 42,94,967,295 bytes = 4.29 G. Although this is theoretical, the actual RAM that can be used will be less than around 3.5G, because of certain parts of the register being used to store other types of data.
For the systems that evolved to use 64-bit registers, they initially named it x86–64, but since this sounds longer, the naming was changed to x64 systems. x64 is a generic name that is used to refer to all Intel processors that are 64-bit processors.
The x64 systems as mentioned above contains registers that are even capable of storing 64bits in a single register.
When we say 64-bit, the number will contain 64 digits with each of them being either 0 or 1. The number system used here will be Binary system just like the 32-bit family. Hence, the maximum possible value here will be 2⁶⁴.
Thus each 64-bit register can cater a maximum of around 18 Quintillion bytes of memory. ( One Quintillion is 10¹⁸ ). Therefore it will be able to handle the usual RAM that we come across everyday effortlessly, including enterprise production servers.
x64 systems come with configurations like dual core, quad core, octa core and so on, which depicts the number of processors that work simultaneously in an integrated circuit. This enables the Operating system to perform tasks parallely. While dual-core has two cores than one single core, every task that it does need not be twice as fast as a single core machine. This is because, even the operating systems and programs that is using the processors should be able to perform parallely using multi processors.
Roadrunners is a series that is aimed at delivering concepts as precise as possible. Here, a roadrunner is referred to a person who does things super fast & efficient. Are you a roadrunner?
https://medium.com/@tharunshiv/x86-vs-x64-systems-for-roadrunners-18de2d488020
Thank you so much for tuning into this podcast, in this episode, we discuss about the App Development.
In this series I talk about the the fields that you can explore as a computer science engineer. we talk about web development, app development, system administration, data science, artificial intelligence, machine learning deep learning, blockchain. We will be diving deeper into each one of these topics in the upcoming podcasts. You are listening to the third episode of how to make the most out of your engineering hope you like it, thank you.
Thank you so much for tuning into this podcast, in this episode, we discuss about the webdev backend part.
In this series I talk about the the fields that you can explore as a computer science engineer. we talk about web development, app development, system administration, data science, artificial intelligence, machine learning deep learning, blockchain. We will be diving deeper into each one of these topics in the upcoming podcasts. You are listening to the third episode of how to make the most out of your engineering hope you like it, thank you.
Thank you so much for tuning into this podcast, in this episode, In this series I talk about the the fields that you can explore as a computer science engineer. we talk about web development, app development, system administration, data science, artificial intelligence, machine learning deep learning, blockchain. We will be diving deeper into each one of these topics in the upcoming podcasts. You are listening to the third episode of how to make the most out of your engineering hope you like it, thank you.
From the publisher's feed