Notes - MIECT
Computação Distribuída
Notes - MIECT
Computação Distribuída
  • Computação Distribuída
  • Introduction / Architecture
    • Distributed Systems
    • Architecture
    • Middleware Organizations
    • Processes
    • Threads
    • Virtualization
    • Clients
    • Servers
    • Migration
  • Communications
    • OSI Model
    • Middleware Layer
    • Types of Communication
    • Remote Call Procedure (RPC)
    • Sockets
    • Application-level Multicasting
  • Naming
    • Names
    • Addresses
    • Identifiers
    • Naming Systems
      • Flat Naming
      • Structured Naming
    • Internet Domain Name System (DNS)
    • Attribute-based naming - LDAP
  • Coordination
    • Clocks
      • Synchronizing without UTC
    • Reference Broadcast Synchronization – RBS
    • Happened-Before Relation
      • Logical Clocks
      • Vector Clocks
    • Mutual Exclusion Algorithms
    • Election Algorithms
    • Distributed Events Correspondance
  • Consistency & Replication
    • Replication
    • Performance and Scalability
    • Client-centric models
    • Replicates
    • Unicasting vs. Multicasting
    • Continuous Consistency
    • Protocols
  • Flaw Tolerance
    • Dependability
    • Terminology
    • Confidence vs. Security
    • Halting failures
    • Redundancy to mask failures
    • Consensus
      • Realistic
      • Consensus in arbitrary failures
      • Achieving failure tolerance
      • Distributed consensus
    • Failure Detection
    • Reliable RPCs
    • Distributed commit protocols
  • Python asyncio & Friends
    • Async
    • Sync vs. Async
    • Tools
  • Flask
    • Introduction
    • Python Requests
  • Containers
    • VM's vs Containers
    • OS Support
    • Building a container
    • Tools
    • Portability
    • Docker
      • Container
  • Map Reduce
    • Map Recude
    • Hadoop
    • Software Architecture
    • Task Scheduling
    • Comparison With Traditional Models
  • Cloud Computing
    • Cloud Computing
    • IaaS – Infrastructure as a Service
    • PaaS – Platform as a Service
    • SaaS – Software as a Service
    • Business Models
Powered by GitBook
On this page
  • History
  • Architecture
  • Eco-sistema
  • Hardware-level
  • OS-Level
  • Emulators.
  • High-Level Language
  1. Introduction / Architecture

Virtualization

PreviousThreadsNextClients

Last updated 2 years ago

Virtualization can be achieved at various levels.

  • Library calls.

    • Same OS and hardware, individual libraries.

  • System calls.

    • Same hardware, individual vision over the OS.

  • Hardware calls.

    • Individual hardware.

It is a very abstract concept.

  • It involves virtual memory, virtual filesystem, and virtual networks (VPNs), among other things.

Virtualization allows a single computer to perform the tasks of many by sharing resources among various environments.

Virtualization allows us to run various distinct systems in the same hardware, in a completely isolated manner.

“VMM satisfies efficiency, resource control, equivalence”

“Formal Requirements for Virtualizable Third Generation Architectures” Gerald J. and Robert P. Goldberg, Communications of the ACM, Volume 17, Issue 7, Julho 1974

“Theorem – For any conventional third generation machine, a VMM may be constructed if the set of sensitive instructions for that computer is a subset of the set of privileged instructions.”

History

  • 1960/70 - Mainframe IBM S/360 allows the timesharing of applications by resorting to resource partitioning.

    • Introduction of the LPAR (Logical Resource Partitioning) concept and later of the DLPAR (Dynamic LPAR).

    • Multiple OSs.

  • 1990 - Bochs make emulated environments available.

    • Mostly for debugging.

    • Totally emulated hardware environment.

  • 1998 - VMWare.

    • Founded at Standford.

    • Part of EMC/Dell.

    • Releases hypervisors that allow for complete isolation.

  • 2003 - XEN.

    • Founded at Cambridge.

    • Allows para-virtualization (host-assisted).

Architecture

Eco-sistema

Hardware-level

  • Bare-Metal / Hypervisor.

    • HP Integrity VM.

    • IBM zSeries z/VM.

    • VMware ESX Server.

    • Xen.

  • Hosted.

    • Microsoft Virtual Server.

    • Microsoft Virtual PC.

    • Parallels Desktop.

    • VMware Player.

    • Proxmox.

    • ...

  • Para-virtualization.

    • Virtual Iron.

    • VMware VMI.

    • Xen.

OS-Level

  • FreeBSD Jail.

  • HP Secure Resource Partitions.

  • Sun Solaris Zones.

  • SWsoft Virtuozzo.

  • User-Mode Linux.

Emulators.

  • Bochs.

  • Microsoft VPC for Mac.

  • QEMU.

  • Virtutech Simics.

High-Level Language

  • Java.

  • Microsoft .NET / Mono

  • Smalltalk.

Program, Interface e System
Virtualized system A on top of system B
Virtual Machine Process (ex. JVM)
Virtual Machine Nativa (ex. VirtualBox)
Virtual Machine Hosted (ex. XEN)