Architetture Applicative Altri Esempi
|
|
- Silvia Costantino
- 6 anni fa
- Visualizzazioni
Transcript
1 Architetture Applicative Altri Esempi Alessandro Martinelli 15 Aprile 2014 Architetture Applicative Altri Esempi di Architetture Applicative Architetture con più Applicazioni Architetture con Hardware Dedicato Architetture Multiprocessore Architetture Multi-Linguaggio Fondamenti di Informatica II
2 Architetture Con Più Applicazioni Architetture Multi-Applicazioni (1/2) esegui Programma Pilota Sistema Operativo leggi lancia raccogli lancia raccogli Programma1 Programma2 A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
3 Architetture Con Più Applicazioni Architetture Multi-Applicazioni (2/2) Il Programma Pilota chiede al Sistema Operativo di eseguire un Programma di Supporto. Il Sistema Operativo lancia il Programma di Supporto. Il Programma di Supporto fornisce un risultato su uno Stream di Output, o su di un File. Il Programma Pilota legge i risultati in output. I Programmi di Supporto possono essere tipicamente: Applicazioni Scritte da qualcun altro Procedure del Sistema Operativo A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
4 Architetture Con Più Applicazioni Esempio: una Interfaccia di Simulazione Scientifica Programma Pilota Componente di Visualizzazione esegui(input) Sistema Operativo leggefileoutput lancia scrive file di output Programma1 In un Programma di Visualizzazione Scientifica gli Algoritmi di Elaborazione dei Dati sono spesso implementati da Esperti del Campo. Per contro, sono gli Sviluppatori Software a sapere come integrare i risultati di questi Algoritmi in una applicazione, eventualmente con interfaccia utente e moduli di visualizzazione. Questo suggerisce l utilizzo di una Architettura composta di due Applicazioni. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
5 Architetture Con Più Applicazioni Architetture Multi-Applicative : Considerazioni Portabilità La Portabilità di tutta l infrastruttura è vincolata alla Portabilità dei programmi di supporto. Se il programma di supporto è disponibile per un unico sistema operativo c è poco da fare. Scalabilità La Scalabilità di tutta l infrastruttura è vincolata alla Scalabilità dei Programmi di supporto A meno che non sia possibile spezzare i dati in Input in blocchi separati. In questo caso potrebbe essere possibile eseguire più istanze dello stesso programma di elaborazione in parallelo sui blocchi di dati separati. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
6 Architetture Con Più Applicazioni Architetture Multi-Applicative : Considerazioni Prestazioni Il Sistema ha un Comportamento in Serie perchè le seguenti operazioni devono avvenire sempre con un certo ordine (per ogni invocazione di programma): Preparazione dei dati da parte dell Applicazione Principale Tempo di Lancio ed esecuzione del Programma Invocato. Tempo di lettura dell output. Tempo di elaborazione dell output da parte dell Applicazione Principale. Il tempo di esecuzione totale è dato dalla somma dei tempi di esecuzione sopra esposti. Tuttavia, l Applicazione Principale potrebbe essere in grado di eseguire operazioni differenti o lanciare altri programmi di supporto in parallelo. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
7 Architetture Con Hardware Dedicato Architetture Con Hardware Dedicato Programma Pilota Sistema Operativo API standard Driver Dispositivo Hardware Dedicato A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
8 Architetture Con Hardware Dedicato Architetture Con Hardware Dedicato: componenti La comunicazione con hardware dedicato avviene solitamente (ma non necessariamente) attraverso API generiche. Il Dispositivo Hardware è sconosciuto, nel senso che l API generica viene utilizzata con l obiettivo di poter eseguire lo stesso programma anche a disposizione di Dispositivi Hardware differenti. Il Driver di Dispositivo è un modulo software incaricato di convertire le chiamate dell API generica in chiamate specifiche per il dispositivo hardware. Come tale è da intendersi parte integrante indivisibile dal modulo hardware. Il Sistema Operativo: Determina l esistenza di un Driver che implementi l API generica, fornendo feedback negativi alle applicazioni che ne fanno uso qualora questi non esistano. Passa al driver le chiamate fatte dalle Applicazioni per l API generica. Fornisce al driver l accesso al BUS di comunicazione, che gli consentono di comunicare con il dispositivo. Driver e dispositivo dialogano in una lingua che è specifica per il dispositivo e di cui il programmatore non si deve curare. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
9 Architetture Con Hardware Dedicato Esempio: L Architettura OpenGL CPU side Driver Buffer Istruzione 1 Istruzione 2 Istruzione 3... Bus GPU side GPU Memoria (Grafica) API Applicazione L Open Graphics Library è una API standard utilizzata per il controllo di unità Hardware Grafiche Dedicate, in particolar modo per quanto riguarda la programmazione 3D. GPU sta per Graphics Processing Unit ed è l hardware dedicato incaricato delle operazioni di Grafica. Il Driver di Dispositivo solitamente raccoglie un set di istruzione grafiche prima di mandarlo alla GPU. La GPU è a diretto contatto con il dispositivo di output video. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
10 Architetture Con Hardware Dedicato Esempio: L Architettura MIDI Hardware MIDI Registrazione Controllo da PC PC Midi Driver MIDI Sequencer Applicazione MIDI MIDI Sequencer La Musical Instrument Digital Interface è l insieme di : Uno specifico Interfacciamento Hardware Un protocollo di comunicazione Il Sequencer Midi è un modulo software fondamentale incaricato della codifica e della decodifica delle informazioni nel protocollo MIDI. L Interfaccia ha un doppio utilizzo: Registrazione degli eventi che si verificano su uno strumento elettronico. Controllo dello strumento ed esecuzione di traccie midi già registrate. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
11 Architetture Con Hardware Dedicato Architetture con Hardware Dedicato : Considerazioni Portabilità La Portabilità è vincolata all esistenza: Dell Hardware Dedicato necessario Dei Driver di Dispositivo e di eventuale Software di Supporto. Di una implementazione all interno dei Driver della API necessaria, soprattutto tenendo conto delle versioni. i.e. Hardware Grafici differenti potrebbero supportare versioni differenti dell API OpenGL, e quindi consentire set di operazioni grafiche differenti. Scalabilità Queste Applicazioni dipendo per lo più dall Hardware Dedicato di cui fanno uso. Qualsiasi considerazione sulla Scalabilità va fatta sulla base delle caratteristiche dell Hardware. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
12 Architetture Con Hardware Dedicato Architetture con Hardware Dedicato : Considerazioni Prestazioni Le Prestazioni sono soprattutto correlate all Hardware. Hardware Dedicato e CPU lavorano in Parallelo. Tuttavia, su uno stesso insieme di Dati, il sistema deve essere visto come un sistema in Serie I dati sono processati dalla CPU I dati sono trasferiti lungo il canale di comunicazione elettronico I dati sono elaborati dall Hardware Dedicato. (Il percorso potrebbe essere il contrario a seconda del senso della Comunicazione) Dati N-3 Dati N-2 CPU Dati N-1 Bus Dati N Hardware Dedicato Dati N+1 Attesa Elaborazione Trasferimento A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
13 Architetture Multi-Processore Architetture Software e Architetture Multi-Processore La capacità di una Architettura Software di utilizzare adeguatamente una Architettura Hardware Multi-Processore è strettamente legata al concetto di Elaborazione in Parallelo. Due termini importanti: Thread Un Thread è una parte di un processo. Un processo può avere più thread. I Thread condividono la memoria applicativa e possono condividere tutte o parte delle risorse. I Thread possono essere eseguiti in parallelo. In un sistema che usa i Thread l utente non sempre ha pieno controllo di tutti i Thread. Calcolo Parallelo Un Algoritmo Parallelo è un Algoritmo che può essere divisi in porzioni eseguibili in parallelo. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
14 Architetture Multi-Processore Un Esempio: Architetture Multi-Core GPU side Main Thread istanzia,lancia Assegnazione Core Thread1 Thread2 Thread3 Sistema Operativo Risorse Condivise CPU1 CPU2 CPU3 CPU4 Portabilità Il Sistema Operativo è incaricato della assegnazione dei Thread ai Core (CPU) Il Corso di Sistemi Operativi approfondirà i problemi legati all accesso concorrente che i Thread hanno sulle risorse condivise. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
15 Architetture Multi-Processore Un Esempio: Architetture per il Calcolo Parallelo Intensivo Applicazione Fase 1: caricamento Programma Programma di Elaborazione Hardware (Array di Processori) Array di Dati in Input Array di Dati in Output Fase 2: Caricamento Dati ed Esecuzione Modulo Assegnazione Processori E necessario elaborare un Array di Strutture Dati in Input tutte con lo stesso algoritmo. E disponibile un Hardware Dedicato per il Calcolo Parallelo che possiede un Array di Processori. L Applicazione Carica un programma di Elaborazione e manda i Dati all Hardware. L Hardware, che assegna ad ogni Struttura Dati in Input un processore per l elaborazione. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
16 Architetture Multi-Processore Architetture Software e Architetture Multi-Processore : Considerazioni Portabilità La Portabilità è vincolata all esistenza: Dell Hardware necessario all architettura (Hardware per il calcolo Parallelo, Processori MultiCore, etc.) All esistenza di eventuali API generiche per l accesso ai sistemi a multi-processore. Esempio: I Thread java per la programmazione in thread su piattaforme differenti. Esempio: le librerie OpenCL (Open Computing Language) Scalabilità e Prestazioni Le Architetture Multi-Processore sono in grado di elaborare più informazioni aumentando il numero dei processori. Le Prestazioni sono fortemente vincolate all hardware sottostante Scalabilità e Prestazioni sono fortemente correlate al grado di parallelizzazione degli algoritmi o del sistema di processi utilizzati. Esempio: Se un processo può essere diviso in non più di 16 moduli paralleli non ulteriormente parallelizzabili, è inutile utilizzare 32 processori. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
17 Architetture Multi-Linguaggio Architetture Software con moduli Software Integrati I Linguaggi di Programmazione non sono tutti uguali. Una Applicazione può essere programmata per essere composta da Moduli Software realizzati con procedure e sistemi differenti, moduli che vengono poi integrati in una unica Applicazione. Eventualmente, i moduli software possono essere implementati con Linguaggi di Programmazione differenti. In questo modo si cerca di trarre il meglio dai vari Linguaggi di Programmazione. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
18 Architetture Multi-Linguaggio Esempio: Le Librerie Dinamiche Fase 1 Applicazione Fase 2 Applicazione Richiede Libreria Dinamica Sistema Operativo Carica ed Aggancia Libreria Dinamica Sistema Operativo Moduli di Programmazione caricati dinamicamente dal Sistema Operativo. Il Sistema Operativo fornisce un contatto diretto tra Applicazione e Libreria Dinamica, passando all Applicazione i puntatori all Area di Memoria dove esiste una implementazione di metodi necessari all Applicazione. File.so in linux File.dll in windows A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
19 Architetture Multi-Linguaggio Esempio: Le Interfacce JNI JNI sta per Java Native Interface. Il Problema delle Prestazioni in Java Interpretazione del Linguaggio Gestione inefficiente Buffer dati (parzialmente risolta attraverso il sistema java.nio) Le Java Native Interface sono interfacce che consento di connettere moduli scritti in Java con moduli scritti in C. Consentono di Programmare in Java anche applicazioni che sono critiche dal punto di vista delle prestazioni. Consentono di ottimizzare in linguaggio C/C++ procedure che in Java sarebbero significativamente più lente. La parte C delle interfacce JNI deve essere compilata in una libreria dinamica di sistema. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
20 Architetture Multi-Linguaggio Esempio: Le Interfacce JNI Una Classe Java interfacciata JNI package test ; public class JNIClass{ public native void sendint ( int value ); public native int getint (); static { System. loadlibrary ( Library ); } } L implementazione C dei metodi di quella Classe #include <jni.h> JNIEXPORT void JNICALL Java test JNIClass sendint (JNIEnv env, jobject obj, jint value ){ //TODO } JNIEXPORT jint JNICALL Java test JNIClass getint (JNIEnv env, jobject obj ){ //TODO } A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
21 Architetture Multi-Linguaggio Considerazioni sulle Architetture-MultiLinguaggio Portabilità E necessario valutare la portabilità dei singoli moduli di programmazione (Java, C, Disponibilità delle Librerie Dinamiche...) Scalabilità I Blocchi realizzati anche con codice differente, aumentano la Modularità del Software, rendendo più semplice sostenere cambi architetturali quando la scalabilità viene meno. Prestazioni Per quanto riguarda le Prestazioni, la divisione in moduli software realizzati con linguaggi differenti, consente di ottimizzare moduli critici, come nel caso delle interfacce JNI. A. Martinelli Architetture Applicative Altri Esempi 15/04/ / 21
Sistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
DettagliJava Native Interface Appunti
Java Native Interface Appunti Riccardo Rizzo 1/8 Introduzione L'uso delle Java Native Interface e' giustificato tutte quelle volte che una applicazione non puo' essere scritta interamente in Java. Per
DettagliINFORMATICA. L informatica comprende:
Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione
DettagliLinee di programmazione
Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE
DettagliArchitettura dei calcolatori e Software di sistema
Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Lezioni di Informatica di Base per la Facoltà di Lettere e Filosofia Anno Accademico 2012/20103
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliACSO Programmazione di Sistema e Concorrente
ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività
DettagliIntroduzione ai Calcolatori Elettronici
Introduzione ai Calcolatori Elettronici Elementi di Base dell ICT Information and Communication Technology Concetti Introduttivi A.A. 2013/2014 Domenica Sileo Università degli Studi della Basilicata Elementi
DettagliAlgoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema
Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
DettagliMPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994
MPI e' acronimo di Message Passing Interface Rigorosamente MPI non è una libreria ma uno standard per gli sviluppatori e gli utenti, che dovrebbe essere seguito da una libreria per lo scambio di messaggi
DettagliScuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017
Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 www.u4learn.it Alessandro Bruno Introduzione al calcolo parallelo Approcci per il calcolo parallelo Programmazione
DettagliInformatica Generale 07 - Sistemi Operativi:Gestione dei processi
Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei
DettagliFondamenti di Informatica T. Il Software
Il Software TECNOLOGIA DIGITALE CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze
Dettagli5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche
Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con
DettagliIl Sistema Operativo Concorrenza e Grafi di precedenza
ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Elaborazione concorrente Elaborazione sequenziale Elaborazione concorrente Elaborazione parallela Grafi di Precedenza Grafi di
DettagliElementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
DettagliModelli di programmazione parallela
Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliIl Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliStruttura interna del sistema operativo Linux
Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04
DettagliCome funzionano i computer
Fluency Come funzionano i computer Capitolo 6 Cosa sanno fare Esecuzione deterministica istruzioni per elaborare dati Devono ricevere una serie di istruzioni da seguire Cosa non sanno fare Non hanno immaginazione
DettagliIl Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
DettagliSistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
DettagliIntroduzione al Many/Multi-core Computing
Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Outline del corso Introduzione Definizioni Motivazioni Storia Architettura Framework Algoritmica Parte I Introduzione Definizioni
DettagliLa memoria principale
La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce
DettagliStruttura Logica del S.O:
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
DettagliSistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi
Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello
DettagliCosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
DettagliCorso di Linguaggi di Programmazione + Laboratorio
Corso di inguaggi di Programmazione + aboratorio Capitolo 1 - Introduzione Si ringrazia il Dott. Marco de Gemmis per la collaborazione nella predisposizione del materiale didattico Apprendimento di un
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
DettagliSISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1
SISTEMI INFORMATIVI AZIENDALI introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliIntroduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica. Corrado Santoro
Introduzione ai Sistemi Oativi Corso di Informatica Laurea in Fisica Corrado Santoro Cos'è un sistema oativo Definizione E' un pezzo di software che oa nel computer controllando e gestendo l'accesso alle
DettagliCalcolatori Elettronici Parte VIII: linguaggi assemblativi
Anno Accademico 2013/2014 Calcolatori Elettronici Parte VIII: linguaggi assemblativi Prof. Riccardo Torlone Universita di Roma Tre Linguaggi di Programmazione Linguaggi ad alto livello Maggiore espressività
Dettagliinteroperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,
DettagliTraduzione e interpretazione
Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore
DettagliMacchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016
Macchine Astratte Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione 010194 29 feb, 2016 Sommario 1 Introduzione Macchina astratta Interprete Implementazione
DettagliLab 1: Java Multithreading
Dept. of Computer Science Lab 1: Java Multithreading Matteo Camilli matteo.camilli@unimi.it Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Outline Programmazione multithreading
DettagliIntroduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli
DettagliParte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1
Parte II Introduzione ai sistemi operativi e WindowsX Parte II 1 tutto è un programma Insieme di istruzioni che il calcolatore deve eseguire Programma Input Calcolatore Output Parte II 2 Come comunicare
DettagliIntroduzione ai sistemi operativi
Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi Introduzione ai sistemi operativi Contatti Docente: Alberto Pretto Ricevimento pretto@dis.uniroma1.it Appuntamento
DettagliJosef Vitanostra INFORMATICA PARTHENOPE
Josef Vitanostra INFORMATICA PARTHENOPE Introduzione Java Native Interface o brevemente JNI è un framework di programmazione che ha lo scopo di permettere ad applicazioni Java di interfacciarsi con funzioni
DettagliCapitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione
DettagliIl Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
DettagliComponenti di un sistema operativo
Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria
DettagliIntroduzione all'architettura dei Calcolatori
Introduzione all'architettura dei Calcolatori Architettura dei calcolatori Che cos è un calcolatore? Come funziona un calcolatore? un calcolatore è un sistema un sistema è un oggetto costituito da molte
DettagliLinguaggi di programmazione
Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché
DettagliSistemi Operativi. Lez. 0: Introduzione ai sistemi operativi
Sistemi Operativi Lez. 0: Introduzione ai sistemi operativi Cos è un firmware? firmware è un programma integrato direttamente in un componente elettronico. Il termine deriva dall'unione di "firm" (azienda)
DettagliIl problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano
Il problema dello I/O e gli Interrupt Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il Calcolatore e le periferiche Periferica Decodifica Indirizzi Circuiti di Controllo Registri
DettagliBASI DI DATI. basi di dati - introduzione ai sistemi informativi 1
BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale
DettagliCorso di Informatica
CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica
DettagliArchitettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando
DettagliProgrammazione. Andrea Passerini Informatica. Programmazione
Andrea Passerini passerini@disi.unitn.it Informatica Linguaggi di programmazione Il calcolatore è in grado di comprendere solo istruzioni in linguaggio macchina. Il linguaggio macchina non è adatto alla
DettagliL ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O
L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti
DettagliI sistemi operativi. Prof. Daniele Contarino
I sistemi operativi Prof. Daniele Contarino Indice dei contenuti Introduzione Classificazione e struttura dei S.O. Graphics User Interface (GUI) Il filesystem Windows 7 & Ubuntu Il copyright Domanda di
DettagliCorso Programmazione Java Standard
Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate
DettagliGianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010
Soft Control facile con RTX e Windows Embedded Standard 7 RTX 2009: funzionalità ed uso pratico Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Definizione di Sistema Tempo Reale: Definizione
DettagliIntroduzione al funzionamento di un calcolatore elettronico
1 / 21 Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 2 / 21 Sommario Che cos è un calcolatore? 1 Che cos è un calcolatore? Definizioni preliminari Il calcolatore
DettagliCorso di programmazione Arduino DI MALVEZZI DAVIDE
Corso di programmazione Arduino DI MALVEZZI DAVIDE Argomenti Pin digitali e pin analogici Gestione di timer e bottoni Utilizzo della porta seriale Oggetto String Controllo di schermi LCD Utilizzo dell
DettagliOgni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di
Sistemi operativi Sistema Operativo Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di riconoscere i comandi di input
Dettagli2) Sistemi operativi. Lab. Calc. AA 2006/07
2) Sistemi operativi Introduzione Il sistema operativo è un programma dedicato alla gestione del calcolatore. All'accensione di un calcolatore viene eseguito un programma di base memorizzato su una memoria
DettagliI THREAD O PROCESSI LEGGERI
I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine
DettagliConcetti Introduttivi
Concetti Introduttivi Architettura del Computer http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione In questo corso ci occuperemo
DettagliL hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:
Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliCLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliAMBIENTI DI PROGRAMMAZIONE
AMBIENTI DI PROGRAMMAZIONE È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo) Sviluppo di un programma Affinché un programma scritto
DettagliIntel Parallel Studio Seminar Milano 22 Giugno 2010
Dal seriale al parallelo Come ottimizzare le applicazioni Visual Studio per macchine multi-core: Intel Parallel Studio Ciro Fiorillo Lead Software Architect Agenda 09:15 Saluto di benvenuto e apertura
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni
Dettagli24 - Possibili approfondimenti
24 - Possibili approfondimenti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliElementi di Informatica
Elementi di Informatica Capitolo 1 - Concetti Generali Si definisce: Hardware, l'insieme degli elementi fisici che costituiscono un computer (vedi capitolo 2). Software, l'insieme dei programmi che consentono
DettagliChe cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione
Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento
DettagliProf. Pagani corrado JAVA
Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da
DettagliSistema operativo & file system 1
Il software (sw) Software di sistema e file system Lezione 1b L esecuzione di programmi è lo scopo di un elaboratore I programmi sono algoritmi codificati in un particolare linguaggio di programmazione
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliElementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:
Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004 1 Docente Patrizia Boccacci Ufficio 332 III piano Dipartimento di Informatica e Sc. Inf. Tel. 010-3536732 E-mail: boccacci@disi.unige.it
DettagliProf. Rossella Cancelliere
Laboratorio di Informatica e Statistica Chimica Industriale a.a 2004/05 Prof. Rossella Cancelliere Dip. Informatica Univ.Torino C.so Svizzera 185,Torino email:cancelli@di.unito.it tel: 011/670 67 77 Obiettivi
DettagliStrutture Dati Dinamiche
Strutture Dati Dinamiche Motivazioni Le variabili considerate fino a questo punto devono essere dichiarate staticamente, ossia la loro esistenza, il loro nome e la loro dimensione devono essere previsti
Dettagli2. Strutture dei Sistemi Operativi. 2.2 Interfaccia col Sistema Operativo Interprete dei comandi
1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
DettagliI SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
DettagliElementi di Informatica
Corso di Laurea triennale in Ingegneria Chimica in condivisione con Corso di Laurea triennale in Ingegneria Navale e Scienze dei Materiali Elementi di Informatica A.A. 2016/17 prof. Mario Barbareschi Introduzione
DettagliIndice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3
Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare
DettagliProgrammazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali
Programmazione a Oggetti Lezione 7 Il linguaggio Java: aspetti generali Sommario Obiettivi di JAVA Portabilità: produrre codice eseguibile su più piattaforme (JVM) Affidabilità: Evitare il più possibile
DettagliAppunti di informatica. Lezione 5 anno accademico Mario Verdicchio
Appunti di informatica Lezione 5 anno accademico 2015-2016 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore
DettagliClassi di Java introducono Oggetti e Tipi per il programma
Classi di Java introducono Oggetti e Tipi per il programma Un numero finito di entità statiche. Un numero infinito di entità dinamiche: Oggetti. Gli oggetti sono valori e sono usati come sotto che rappresenta
DettagliArchitetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo
Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza
DettagliInterfacce. Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato
Interfacce 1 Interfacce Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato costituito dall intestazione senza il corpo della definizione
DettagliIl software: Istruzioni per il computer
Il software: Istruzioni per il computer Software applicativo aiuta a svolgere operazioni utili in vari campi programmi di videoscrittura, fogli elettronici, videogiochi Software di sistema permette l utilizzo
DettagliPROGRAMMA PER LA PROVA DI ACCERTAMENTO
PROGRAMMA PER LA PROVA DI ACCERTAMENTO PARTE 1 Fondamenti di informatica Questa sezione ha lo scopo di presentare i principali argomenti teorici che stanno alla base del funzionamento di un elaboratore
DettagliJava Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java
programmi sorgente: files.java compilatore Indipendenza di java dalla macchina ospite Programmi java Programmi java Programmi java files.class bytecode linker/loader bytecode bytecode Java API files.class
DettagliTECNOLOGIA SISTEMI OPERATIVI
TECNOLOGIA SISTEMI OPERATIVI DEFINIZIONE CARATTERISTICHE GENERALI Un sistema operativo (abbreviato in SO, in lingua inglese OS, "operating system"), in informatica, è un insieme di componenti software,
DettagliIl Sistema Operativo. Informatica Sistema Operativo 1
Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto
Dettagli