VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.

Slides:



Advertisements
Presentazioni simili
Programmazione in Java
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
Il Software.
Interazione Uomo - Macchina
AVVIARE IL COMPUTER WINDOWS ‘98 Queta fase è definita BOOTSTRAP
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
STRUTTURA DEL PERSONAL COMPUTER
Il Consolidamento di Servizi Virtual Server 2005 PierGiorgio Malusardi Evangelist - IT Professional Microsoft.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
CONOSCIAMO IL WINDOWS '95.
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Strutture dei Sistemi Operativi
Organizzazione di una rete Windows Server Client Il ruolo dei computer I computer in una rete possono svolgere le funzioni di client e server dei.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Introduzione al linguaggio Java
Internet Explorer Il browser.
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Google Docs Versione italiana (Google Documenti)
ASP Lezione 1 Concetti di base. Introduzione ad ASP ASP (che è la sigla di Active Server Pages) è un ambiente di programmazione per le pagine web. La.
I SISTEMI OPERATIVI.
10 punti fondamentali su Windows originale Note legali Le informazioni fornite in questo documento rappresentano l'opinione di Microsoft Corporation sui.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
L'ambiente informatico: Hardware e Software
MODULO 01 Il computer.
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
STRUTTURA GENERALE DI UN ELABORATORE
L' ARCHITETTURA DI VON NEUMANN
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Concetti di base sul Software dei PC Unitre Anno
Presentazione 1 UTILITA’ DI SISTEMA.
Il Sistema Operativo (1)
Introduzione alla programmazione web
Con il computer si impara meglio!
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
LINGUAGGI DI PROGRAMMAZIONE Per comunicare comandi e dati ad un computer occorre un particolare linguaggio detto LINGUAGGIO MACCHINA, che è un insieme.
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Elementi di Informatica SciGeo a.a. 2002/2003. Docente Giorgio Delzanno Ufficio 104 – I piano Dipartimento di Informatica e Sc. Inf. Tel
Internetworking V anno.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Concetti di base Computer, HW e SW
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
IT SECURITY Malware.
Eprogram informatica V anno.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Sintesi da pag. 8 a pag. 21. L’ Informatica è la scienza che studia il trattamento automatico dell’informazione. Deriva dal francese «Informatique»
I Sistemi Operativi. Che cosa sono? Il sistema operativo è un software di base che fa funzionare il computer. I Sistemi operativi più importanti sono:
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il computer RAM: Unità di misura MByte e GByte MHz Processore: Unità di misura Singolo o multiprocessore 32/64 bit velocità GHz Mouse tastiera video stampante.
Programmazione orientata agli Oggetti Introduzione a Java.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
FatIn: Fatturazione Interventi Applicazione di facile utilizzo che permette la prenotazione, la gestione e la fatturazione di interventi e prestazioni.
Struttura del Computer
Transcript della presentazione:

VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1

Docente: Marco Sechi Modulo 1 Il linguaggio assembly è il linguaggio del microprocessore. Un programma è costituito da istruzioni assembly che vengono interpretate ed eseguite dal microprocessore. Un programma che è stato progettato per essere eseguito su un determinato hardware (è scritto nell’assembly di 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 assembly appartiene alle prime metodologie di sviluppo ed ora è poco diffusa. Oggi l’assembly è utilizzato quando è necessario ottenere applicazioni estremamente veloci oppure nella programmazione dei microcontrollori (PIC) dove il sistema operativo è quasi inesistente o limitato a poche funzionalità di base.

Docente: Marco Sechi Modulo 1 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 istruzioni anche 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 microprocessore per cui è necessario utilizzare un programma (detto compilatore) che traduca le istruzioni ad alto livello in assembly (linguaggio a basso livello). Il sistema operativo gioca un ruolo importante nello sviluppo delle applicazioni. Oltre a fornire l’interfaccia utente/macchina, fornisce una serie di funzionalità che devono essere presenti nella maggior parte delle applicazioni come 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 volta. Questo permette di semplificare ulteriormente lo sviluppo delle applicazioni.

Docente: Marco Sechi Modulo 1 Le API svolgono 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 con il 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.

Docente: Marco Sechi Modulo 1 Le applicazioni che utilizzano le API di un sistema operativo restano comunque scritte in linguaggio assembly. Le chiamate alle API rendono le applicazioni incompatibili con sistemi operativi differenti anche quando l’hardware utilizzato è lo stesso. Ad esempio i sistemi operativi MAC OS e Windows girano 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 di aggirare questo problema. “Virtualizzando” è possibile scrivere un’applicazione solo una volta ed eseguirla poi su tutti i sistemi operativi richiesti.

VIRTUALIZZAZIONE HARDWARE Docente: Marco Sechi Modulo 1 VIRTUALIZZAZIONE HARDWARE Nella virtualizzazione hardware particolari software emulano le componenti fisiche di un computer creando di fatto un pc virtuale (Virtual Machine) all’interno del pc fisico (Host PC). Il pc virtuale 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 Hardware sono: QEmu, Virtual Box, Microsoft Virtual PC, Parallel Desktop (Mac) e VMWare (i primi 2 sono freeware).

Docente: Marco Sechi Modulo 1 Il software di virtualizzazione presenta nel suo pannello di gestione le macchine virtuali disponibili che possono essere avviate quando necessario.

VANTAGGI VIRTUALIZZAZIONE HARDWARE Docente: Marco Sechi Modulo 1 La Virtualizzazione Hardware riproduce tutte le componenti fisiche di un computer: ram, cpu, disco fisso, etc. Il virtualizzatore salva in un file, sul sistema HOST il contenuto del disco virtuale utilizzato dalla Virtual Machine. VANTAGGI VIRTUALIZZAZIONE HARDWARE Posso utilizzare la virtual machine come sistema di test per 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 fisso del 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 sistemi operativi senza dover apportare modifiche al software originale. La Virtualizzazione Hardware è il punto di partenza per il Terminal Server SVANTAGGI VIRTUALIZZAZIONE HARDWARE Richiede macchine potenti

VIRTUALIZZAZIONE SOFTWARE Docente: Marco Sechi Modulo 1 VIRTUALIZZAZIONE SOFTWARE L’obiettivo della virtualizzazione software è quello di fornire un linguaggio di sviluppo (programmazione) universale che sia indipendente dal sistema operativo utilizzato. Lo strato software che consente la virtualizzazione software è detto framework. Con la virtualizzazione software l’applicazione viene scritta una sola volta e viene eseguita su tutti i sistemi operativi che supportano tale framework. Programmi di virtualizzazione software sono Java e Flash. Anche i Browser (con JavaScript, CSS e HTML) sono dei virtualizzatori software.