| | | corso | | | | | |
Macchine virtuali per linguaggi di programmazione di alto livello
Codice: | 264AA | Crediti: | 6 | Semestre: | 2 | Sigla: | MVL | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Maria Eugenia Occhiuto
Tel. 0502212733Prerequisiti
Programmazione con paradigmi imperativo e object oriented. Discreta conoscenza del linguaggio Java. Conoscenza di base delle architettture dei calcolatori e dei sistemi operativi
Obiettivi di apprendimento
Conoscenze. Conoscenza di base
Descrizione
Una macchina virtuale è un insieme di programmi (software) che simulano il comportamento di una macchina diversa dalla macchina fisica su cui il software viene eseguito. I vantaggi della virtualizzazione possono essere, a seconda del contesto: l’indipendenza dalla piattaforma, la portabilità, la robustezza, affidabilità e la protezione del software. Nella parte introduttiva del corso,si esaminano gli ambiti e le tipologie di machine virtuali focalizzandosi successivamente sulle high level language virtual machines (HHL VMs). Verranno considerate la Pascal P-code VM, the JVM e la CLI VM, il corso approfondisce lo studio delle caratteristiche e dell’implementazione della JVM, e comprende una parte pratica, in laboratorio, per la generazione di progammi in byte code utilizzando l’assembler Oolong
English Description
Requirements: Programming with imperative and object-oriented paradigms. Good knowledge of the Java language. Basic knowledge of computer architectures and operating systems.
Description: A virtual machine is a software that simulates the behavior of a machine other than the physical machine on which the software is running. The benefits of virtualization can be, depending on the context: platform independence, portability, robustness, reliability and security of software. In the introductory part of the course, we will examine different types of virtual machines and successively we will focus on high level language virtual machines (VMs HHL). The Pascal P-code VM, the VM JVM and the CLI, will be considered. The course focuses on the JVM studying its characteristics and implementation and includes a practical part, in the laboratory, for byte code programming, using the 'Oolong assembler for translation into byte code.
Ore lezione: | 30 | | Ore laboratorio: | 18 | | |
Bibliografia
- Virtual Machines, Versatile Platforms for System and Processes, J.E.Smith and R. Nair, Morgan Kaufmann Pub. Elsevier,2005, ISBN-13: 978-1-55860-910-5, ISBN-10:55860-910-5.
- Programming for the JVM, J. Engel, Addison Wesley, 1999, ISBN 0-201-30972-6.
- Java Virtual Machine specifications, T. Lindholm and F. Yellin, Addison Wesley, 1996, ISBN0-201-63452-X
Modalità di esame
Orale e progetto