VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1



Documenti analoghi
VMware. Gestione dello shutdown con UPS MetaSystem

Introduzione alla Virtualizzazione

Approccio stratificato

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

Multisentry ASE-V (v. 1.0) - Guida rapida all installazione

Joomla! e la virtualizzazione in locale... pro e contro

Architetture software. Virtualizzazione

Virtualizzazione VirtualBox su Host Windows

Il computer: primi elementi

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

IRSplit. Istruzioni d uso 07/10-01 PC

Metric Computo Metrico

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.

INFORMATICA. Corso di Laurea in Scienze dell'educazione

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Linux Virtuale Linux Virtuale

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Versione 2.0. Manuale d uso. Software per la gestione. degli applicativi Bticino. TiManager 03/07-01 PC

Il Sistema Operativo (1)

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Macchine Virtuali. Docente: Fabio Tordini

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Che cosa è un VIRUS?

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Indicazioni per una corretta configurazione del browser

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

sito web sito Internet

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Cross Software ltd - Prosyt srl. Maximum extent of technology Il gestionale più avanzato sul mercato. Pag. 1

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

PARTE 4 La Macchina Software

51) Linux è: A) un sistema operativo B) una periferica C) un applicazione

Progetto Virtualizzazione

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Una delle cose che si apprezza maggiormente del prodotto è proprio la facilità di gestione e la pulizia dell interfaccia.

FPf per Windows 3.1. Guida all uso

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Dispensa di Informatica I.1

The Onion PC. Virtualizzazione strato dopo strato

Internet Explorer 6. Gestione cookie

Indicazioni per una corretta configurazione del browser

Setup e installazione

Il Software... A.A Informatica 96

Il sistema wireless nell Università degli studi della Basilicata Indicazioni tecniche

BMSO1001. Orchestrator. Istruzioni d uso 02/10-01 PC

Istruzioni di installazione di IBM SPSS Modeler Text AnalyticsServer per Windows

Il Software. Il software del PC. Il BIOS

Corso di Informatica

System Center Virtual Machine Manager Library Management

Esercizi di JavaScript

ZFIDELITY - ZSE Software & Engineering Pag.1 / 11

INFO TECNICA SATO Italia

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Online Help StruxureWare Data Center Expert

Corso di Informatica

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Corso di Alfabetizzazione Informatica

Manuale di Utilizzo del Programma Boma Ri.Ba. Gestione Ricevute Bancarie di Boma Software

Memoria Secondaria o di Massa

Gestione della memoria centrale

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

ICARO Terminal Server per Aprile

Navigare verso il cambiamento. La St r a d a. p i ù semplice verso il ca m b i a m e n t o

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per utenti singoli)

Domande e risposte. Sommario. Autodesk Revit Autodesk Revit Architecture Autodesk Revit MEP Autodesk Revit Structure Autodesk Revit LT

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti:

Hardware delle reti LAN

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Lettore di badge Nexus

Sito web parrocchiale: STRUMENTI E PROGRAMMI

Client - Server. Client Web: il BROWSER

AXWIN6 QUICK INSTALL v.3.0

Linguaggi e Paradigmi di Programmazione

GUIDA ALL INSTALLAZIONE. Protezione di locale/rete. per il software CADPak su client e server di rete. per la Chiave Hardware Sentinel Hasp

Capitolo 1 Installazione del programma

1.1 Installazione di ARCHLine.XP

MODULO Il personal computer. ISIS STRINGHER Corso Serale Anno scolastico 2010/11 Classe 1 Commerciale

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

SUPPORTO TECNICO AI PRODOTTI:

Qlik Sense Desktop. Qlik Sense 1.1 Copyright QlikTech International AB. Tutti i diritti riservati.

Introduzione a Dev-C++

FarStone RestoreIT 2014 Manuale Utente

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Modello per la compilazione della scheda progetto SK_3.1.xls (da utilizzarsi per la presentazione di progetti di attività formative)

Corso: Informatica+ Andrea Cremonini. Lezione del 20/10/2014

Architettura di un sistema operativo

List Suite 2.0. Sviluppo Software Il Telefono Sas 10/06/2010

Transcript:

1 VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1

Il linguaggio assemblyèil linguaggio del microprocessore. Un programma ècostituito daistruzioni assemblyche vengono interpretate ed eseguite dal microprocessore. Un programma che è stato progettato per essere eseguito su un determinato hardware(è scritto nell assemblydi quel processore!) non può girare su un hardware diverso. Per eseguire un applicativo su diverse piattaforme è necessario produrne diverse versioni, ciascuna specifica per il processore che deve essere supportato. Questo comporta costi elevati, non solo per via dello sviluppo multiplo ma anche nella gestione degli aggiornamenti: ogni modifica deve essere replicata e testata su tutte le piattaforme supportate! La scrittura dei programmi direttamente in assemblyappartiene alle prime metodologie di sviluppo ed ora è poco diffusa. Oggi l assembly è utilizzatoquando ènecessario ottenere applicazioni estremamente veloci oppure nella programmazione dei microcontrollori(pic) dove il sistema operativo èquasi inesistente o limitato a poche funzionalitàdi base. 2

Sviluppare in assemblyèmolto complicato poichétale linguaggio risulta umanamente poco comprensibile. Inoltre la sua estrema atomicità (ad esempio per svolgere una semplice somma sono necessarie numerose istruzioni assembly!) comporta la stesura di lunghe sequenze di istruzionianche quando si vuole creare un semplice programma. Queste difficoltàhanno portato alla creazione di linguaggi ad alto livello, che contrariamente all assembly, risultano umanamente piùcomprensibili e compatti(ad esempio per svolgere un operazione complessa come l ordinamento di una sequenza di numeri basta richiamare una singola istruzione: sort). I linguaggi ad alto livello sono incomprensibili per il microprocessoreper cui ènecessario utilizzare un programma (detto compilatore) che traduca le istruzioni ad alto livello in assembly(linguaggio a basso livello). Il sistema operativogioca un ruolo importante nello sviluppo delle applicazioni. Oltre a fornire l interfaccia utente/macchina, fornisceuna serie di funzionalità che devono essere presenti nella maggior parte delle applicazionicome ad esempio: l uso della stampante, del video, del mouse etc. Tali funzioni, chiamate API (DLL in windows), possono essere inserite nelle applicazioni(tramite delle librerie) senza che sia necessario riscriverle ogni 3 volta. Questo permette di semplificare ulteriormente lo sviluppo delle applicazioni.

Le APIsvolgono un ulteriore funzione: filtrano gli accessi alle risorse hardware. Piùil sistema operativo nasconde alle applicazioni il livello hardware(impedendo qualsiasi accesso diretto all hardware) maggiore èil livello di sicurezza ottenuto. Le API controllano l uso delle risorse hardware imponendo delle regole che garantiscano un elevato livello di sicurezza e stabilitàdel sistema. Ad esempio un keylogger(dispositivo per registrare tutta l attività di input dell utente) sarà invisibile al sistema operativo quando comunica direttamente conil livello hardware. Per bypassare le protezioni del sistema operativo un applicazione spia deve necessariamente avviarsi prima del boot del sistema operativo e modificarne le procedure di sicurezza. 4

Le applicazioni che utilizzano le API di un sistema operativo restano comunque scritte in linguaggio assembly. Le chiamate alle API rendono le applicazioni incompatibilicon sistemi operativi differenti anche quando l hardwareutilizzato èlo stesso. Ad esempio i sistemi operativi MAC OSe Windowsgirano sullo stesso hardware Intel ma le loro applicazioni risultano incompatibili: un Word per MAC non gira su Windows e viceversa. RIASSUMENDO: Sviluppare un applicativo per diverse piattaforme implica costi elevati. La virtualizzazione software e quella hardware permettono diaggirare questo problema. Virtualizzando èpossibile scrivere un applicazione solo una volta ed eseguirla poi su tutti i sistemi operativi richiesti. 5

VIRTUALIZZAZIONE HARDWARE Nellavirtualizzazione hardwareparticolari software emulanole componenti fisiche di un computer creando di fatto un pc virtuale (Virtual Machine) all interno del pc fisico(host PC). Il pcvirtuale si comporta a tutti gli effetti come un normale PC sul qual possiamo far girare un sistema operativo diverso da quello installato sulla macchina fisica. Esempi di Virtualizzatori Hardwaresono: QEmu, VirtualBox, Microsoft Virtual PC, Parallel Desktop(Mac) e VMWare (i primi 2 sono freeware). 6

Il software di virtualizzazione presenta nel suo pannello di gestione le macchine virtuali disponibili che possono essere avviate quando necessario. 7

La Virtualizzazione Hardware riproduce tutte le componenti fisichedi un computer: ram, cpu, disco fisso, etc. Il virtualizzatoresalva in un file, sul sistema HOST il contenuto del disco virtuale utilizzato dalla VirtualMachine. VANTAGGI VIRTUALIZZAZIONE HARDWARE Posso utilizzare la virtualmachinecome sistema di testper provare nuovi software (la cui provenienza potrebbe destare sospetti!) oppure per visitare siti web ritenuti a rischio. Se la macchina virtuale si infesta di virus oppure si rovina mi basta sostituire il file abbinato al disco fissodel sistema corrotto con una copia integra (che mi ero messo da parte durante la configurazione iniziale della virtual machine) ed ottengo immediatamente una macchina perfettamente funzionate. Applicazioni costruite per particolari sistemi operativi(anche obsoleti!) possono essere eseguite su altri sistemioperativi senza dover apportare modifiche al software originale. La Virtualizzazione Hardware è il punto di partenza per il Terminal Server SVANTAGGI VIRTUALIZZAZIONE HARDWARE Richiede macchine potenti 8

VIRTUALIZZAZIONE SOFTWARE L obiettivo della virtualizzazione software è quello di fornire un linguaggio di sviluppo (programmazione) universaleche sia indipendente dal sistema operativo utilizzato. Lo strato software che consente la virtualizzazione software èdettoframework. Con la virtualizzazione software l applicazione viene scritta una sola voltae viene eseguita su tutti i sistemi operativi che supportano tale framework. Programmi di virtualizzazione software sono Javae Flash. Anche i Browser (con JavaScript, CSS e HTML) sono dei virtualizzatori software. 9