Virtualization

1 computer hosting multiple virtual machines, each VM running different operating systems.
History of Virtulization
- 1960 IBM experimented 2 VMs. SIMMON and CP-40.
- 1974 two computer scientists at UCLA, Gerald Popek and Robert Goldberg, published a seminal paper (Formal Requirements for Virtualizable Third Generation Architectures)
- 1990s when researchers at Stanford University developed a new hypervisor by that name and went on to found VMware
- 2000 IBM released the z-series, which supported 64-bit virtual address

Advantages of Virtualization
1. For companies(like Amazon or Microsoft), which runs 1000s of servers(all different OS), installing seperate machine for every Task would eat their Pocket.
2. Easy Migrations: Migrating OS/application to VM is much easier wrt OS
3. Software development:* if programmer wants to check his application works on Windows 10, centos, mac etc. Installing all OS on 1 is easy instead of all on different machines.

Disadvatages of Virtualization
1. Increased Memory usage: Each VM requires seperate memory, book-keeping of how much memory and address assigned is additional overhead.
2. Processor Overhead: Processor has to switch between VM's, increased process switching.
3. Performance Overhead: VM cannot perform as same speed as standalone machine.