Introduzione. Chi sono? Come contattarmi? II edizione Master Web Technology e Security. Matteo Baldoni
|
|
- Rocco Olivieri
- 5 anni fa
- Visualizzazioni
Transcript
1 Introduzione II edizione Master Web Technology e Security Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I Torino (Italy) baldoni@di.unito.it Chi sono? Come contattarmi? Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino Corso Svizzera, 185 I Torino (ITALY) baldoni@di.unito.it URL: Tel.: Fax.: Pagina del corso: Sono nato a Torino nel 1968, nel febbraio 1993 mi sono laureato con lode in Scienze dell Informazione e nel febbraio 1998 sono diventato Dottore in Ricerca in Informatica. Dal luglio 1999 sono ricercatore in Informatica presso il Dipartimento di Informatica dell Università degli Studi di Torino. 1
2 Un elettrodomestico speciale un un solo solo uso uso proprio, molti molti impropri Infinite Infinite elaborazioni (programmi) input output Accendo il computer Metafora linguistica: parlo parlo al al computer dicendogli cosa cosa deve deve fare fare ed ed esso esso mi mi parla parla scrivendomi il il risultato della della elaborazione (precedente l introduzione del del mouse) 2
3 Accendo il computer Metafora visiva: visiva: ho ho a disposizione degli degli oggetti che che posso posso manipolare (scelgo, prendo, sposto, copio, copio, taglio, taglio, incollo, aggiungo, ) ) (successiva all introduzione del del mouse) Quale computer è più potente? Sono uguali, nel senso che tutto ciò che posso fare con uno posso fare con l altro 3
4 Rappresentazione delle informazioni Rappresentazione binaria (o digitale) delle informazioni ogni informazione deve essere codificata mediante l uso di soli 2 simboli, di solito 0 e 1 Corrispondono, ad esempio,ai due diversi stati di polarizzazione di una sostanza magnetizzabile, o al passaggio/non passaggio di corrente, ecc BIT (binary digit) Codifica dell informazione Sono sufficienti solo lo zero e l uno per rappresentare tutte le informazioni? Codifica dell informazione: si fa corrispondere ad un informazione una configurazione di cifre binari Codice ASCII (American Standard Code for Information Interchange): codifica dei caratteri Codice UNICODE: codifica universale, combinazioni (16 bit) NUL SOH A B 7 bit = 128 (cioe` 2^7) combinazioni possibili 8 bit ASCII esteso, 256 combinazioni possibili Provare: Alt
5 Codifica dei numeri Codifica ASCII non è adatta per eseguire calcoli Rappresentazione binaria dei numeri, cioe` rappresentazione in base 2 (sistema posizionale) A seconda degli elaboratori si possono avere a disposizione 1, 2, 4, 8 byte (1 byte = 8 bit) Aritmetica binaria (del tutto simila a quella in base 10) base * 10^0 + 3 * 10^1 + 2 * 10^ Esercizio. In un byte quanti numeri si riescono a rappresentare? Quale è il piu` grande intero? 1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3 Codifica delle informazioni Non esistono numeri con virgola ma solo approssimazioni Ogni cosa in un elaboratore è codificato mediante l uso di sequenze di zero e uno Non esistono tipi di dati diversi dallo zero e dall uno Un computer non comprende altro che sequenze di zero ed uno MA TUTTO QUESTO È SUFFICIENTE PER RAPPRESENTARE OGNI COSA CHE SIA EFFETTIVAMENTE CALCOLABILE (Tesi di Church) 5
6 Programmare un computer Un computer è una macchina programmabile, tuttavia esso non è direttamente utilizzabile da parte degli utenti poiché richiederebbe la conoscenza sull organizzazione fisica della specifica macchina e del suo linguaggio macchina Ogni machina avrebbe le sue differenti caratteristiche Il linguaggio macchina è estremamente complicato e non di facile gestione?? Utente Linguaggio Macchina? Programmare un computer: astrazione In altre parole desideriamo astrarci dai dettagli fisici della macchina in oggetto e dal suo specifico linguaggio macchina L idea è quella di realizzare al di sopra della macchina reale una macchina virtuale astratta che abbia le funzionalità desiderate e che sia facile da utilizzare per l utente L utente interagisce con la macchina virtuale, ogni comando viene poi tradotto nei corrispondenti comandi sulla macchina fisica La macchina virtuale è realizzata mediante software (programmi) Utente Software traduzione in LM Linguaggio Macchina Macchina Virtuale 6
7 Programmare un computer: astrazione La macchina virtuale viene realizzata in genere mediante il software di base: Sistema Operativo: file system, memoria, cpu, risorse ausiliarie, comunicazione Linguaggi e ambienti di programmazione ad alto livello: interpreti e compilatori Non vi sono limiti al numero e al tipo di macchine virtuali che possono essere realizzate In genere nelle macchine moderne sono strutturate su più livelli (struttura a cipolla) Macchina Virtuale Utente Software traduzione Software traduzione Linguaggio Macchina Macchina Virtuale Programmare un computer: astrazione Astrarre dall organizzazione fisica della macchina Usare nello stesso modo, o comunque in modo molto simile, macchine leggermente diverse dal punto di vista hardware o, al limite, macchine con hardware profondamente diverso Avere un semplice linguaggio di interazione con la macchina Avere un linguaggio semplice ed ad alto livello per programmare la macchina Avere un insiemi di programmi applicativi per svolgere compiti diversi MACCHINE VIRTUALI 7
8 Macchine Virtuali: anche il browser lo è un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser che per farlo si appoggia al software di base Il software di base si appoggia alla macchina fisica per realizzare effettivamente il rendering della pagina su video Utente Browser traduzione Software traduzione Linguaggio Macchina Macchina Virtuale Macchina Virtuale Accendo il computer Avvio del sistema operativo Identificazione utente Attivazione dell ambiente di lavoro Sistema operativo: software speciale che che determina il il comportamento del del computer, fa fa funzionare ii programmi applicativi, gestisce la la memoria, il il file file system, gli gli utenti, utenti, Esempi: Windows98, Linux, Linux, Unix, Unix, BeOS, BeOS, MacOS 8
9 Il Sistema Operativo Avviamento dell elaboratore e creazione dell ambiente virtuale Gestione del processore e dei processi (un programma in esecuzione) Gestione della memoria principale (allocazione) Gestione della memoria virtuale (visione astratta della memoria, swapping) Gestione della memoria secondaria (file system, organizzazione logica e gestione fisica dei file) Gestione delle risorse di input/output (periferiche) Linguaggio di comandi per l interazione con l utente Il Sistema Operativo mono-utente vs multi-utente mono-programmati vs multiprogrammati Struttura a cipolla di un sistema operativo Il kernel è legato all hardware mentre I livelli alti sono indipendenti Kernel... gestione memoria processore, risorse... interfaccia comandi 9
10 Gestione del processore e dei processi Un processo è un programma in esecuzione Sistemi mono-programmati (mono-tasking) vs multiprogrammati (multi-tasking) Gestione dei processi: un sistema operativo multi-tasking deve essere in grado di gestire un insieme di processi contemporaneamente attivi (nota: un solo processo alla volta puo` utilizzare la CPU!!) Scheduling del processore: non-preemptive vs preemptive Coordinamento, sincronizzazione e mutua esclusione per l uso di risorse o lo scambio di informazioni Gestione della memoria secondaria Il file system è costituito da un insieme di programmi che devono svolgere due compiti importanti: fornire all utente una visione logica dei file e utilizzare lo spazio sui dischi in modo ottimale nome logico operazioni per lavorare sui file accesso alle informazioni contenute nei file strutturazione protezione gestire i file nella memoria di massa allocazione fisica dei file (contigua vs sparsa, indexata vs linkata) 10
11 File e cartelle File: File: corrispondono ai ai documenti, possono contenere testi, testi, presentazioni, immagini di di vari vari formati, programmi Cartelle: sono sono contenitori, servono a organizzare il il materiale contenuto in in memoria cartelle file ALBERO ALBERO Path/directory C Documenti path path Pagine Web crash course crashcourse desktop.bmp vt100.bmp 11
12 Area di lavoro D E S K T O P applicativi cartelle file Unità di memoria, agli occhi dell utente Può contenere: Documenti Programmi Dati Le ultime tre lettere (o l icona) indicano il tipo del file Perché Perché un un file file Word Word deve deve essere essere aperto aperto con con Word Word e non non può può essere essere letto letto utilizzando un un altro altro applicativo? Non Non contiene semplicemente dei dei dati? dati? 12
13 Utenti Se la stessa macchina è usata da più persone, è utile identificarle perché in questo modo: Ogni Ogni utente utente può può impostare l area l area di di lavoro lavoro come come preferisce; le le impostazioni saranno associate all utente Ogni Ogni utente utente avrà avrà riservata un area di di lavoro lavoro a cui cui gli gli altri altri non non hanno hanno accesso Identificando gli gli utenti utenti si si può può consentire la la comunicazione fra fra i i medesimi Identificazione: login (pubblica) + password (privata) JAVA: dove e come 13
14 Cenni Storici Il paradigma Object-Oriented (OO) non e` nuovo: Simula, Smalltalk, C++ Green, 1991 della Sun Microsystem, linguaggio per dispositivi di consumo non legato ad un particolare microprocessore HotJava, 1994, un browser per internet Netscape 2.0, 1995, abilitato all uso di Java Java 1.02, 1996 Java 1.1, 1997 Java 2, 1998 Il White paper di Java Semplice A oggetti Distribuito Robusto Sicuro Indipendente dall architettura Portabile Interpretato Multithreaded 14
15 Dove trovare Java? Java e` disponibile (Java 2 Standard Edition) Esistono versioni per: Sun Solaris Windows 95/98 e NT Linux (anche in RPM) Java 2 Runtime Environment Java 2 S.E. Documentation Dove trovare Java? spesso anche dal vostro giornalaio (soluzione consigliata se non si ha un collegamento a internet veloce) Java e` distribuito gratuitamente dalla Sun Microsystems Noi useremo la versione per Windows Attualmente e` disponibile la versione 1.3 e la 1.4 (in beta) 15
16 Cosa ci serve? istruzioni di installazione j2sdk1_3_0-win.exe (29,4 Mb) j2sdk1_3_0-doc.zip (21,2 Mb) tutorial.zip (9,15 Mb) Installazione di Java Per Windows bastano due click Ricordarsi pero`: set PATH=%PATH%;C: JDK1.3 BIN E` utile installarsi anche la documentazione e il tutorial (in formato HTML) Nota: la Sun NON distribuisce alcun ambiente di sviluppo, tutto viene eseguito dalla riga di comando Alcuni semplici editor sono (oltre il Notepad): TextPad ( WinEdt ( 16
17 Il Tutorial Una semplice guida alla programmazione in Java E` un ipertesto in HTML quindi consultabile mediante un qualsiasi browser La Documentazione Contiene TUTTE le informazioni sulla versione in uso di Java In particolare contiene il Java 2 Platform API Specification E` in formato HTML Nota: il tutorial e la documentazione NON sono inclusi nell installazione di Java 2 17
18 JDK1.3: il direttorio Gli eseguibili: javac java javadoc Il nome del direttorio di installazione La documentazione sulle Librerie (in HTML) Il tutorial di Java (in HTML) Esempi di programmi Java (e applet) I sorgenti delle librerie IMPORTANTE!! set PATH=%PATH%;C: JDK1.3 BIN Il primo programma in Java Un semplice programma che da` il benvenuto nel mondo della programmazione Java Il linguaggio e` case sensitive In un file di nome BenvenutoInJava.java (per convenzione dello stesso nome dell unica classe pubblica contenuta dal file stesso) nome della classe pubblica BenvenutoInJava.java public class BenvenutoInJava { public static void main(string[] args) { System.out.println("Benvenuto in Java!"); } } oggetto di sistema metodo conclude una istruzione 18
19 Come usare javac e java Per compilare: javac BenvenutoInJava.java che produrra` un file BenvenutoInJava.class per eseguire il programma: java BenvenutoInJava BenvenutoInJava.java BenvenutoInJava.class javac java Output e` un compilatore Bytecode! e` un interprete Interpretazione Interprete Sparc/Solaris Codice Sorgente Interprete MacOS Sparc/Solaris Apple Interprete Intel/GNU-Linux Interprete (JavaScript, Scheme, Prolog): Interazione. Più facile modificare un programma durante l'esecuzione Intel/GNU-Linux Intel/Windows 19
20 Interpretazione Affinché le due persone di lingua diversa possano dialogare tra di loro (nel caso nessuna delle due conosca la lingua dell altro) è necessario che qualcuno interpreti (traduca sul momento) quanto dice una persona nella propria lingua nella lingua di chi ascolta Si interpreta quando è necessario una stretta interazione, quando si desidera dialogare e non solo trasmettere un messaggio Traduzione (o Compilazione) Compilatore Sparc/Solaris binario Codice Sorgente Compilatore MacOS binario Sparc/Solaris Apple Compilatore Intel/GNU-Linux binario Compilazione (Pascal, C, Ada, C++): Efficienza di esecuzione. Il codice generato dal compilatore può essere ottimizzato, perché la compilazione è fatta una sola volta Intel/GNU-Linux Intel/Windows 20
21 Traduzione (o Compilazione) La traduzione è adatta per comunicare messaggio, come ad esempio una lettera Anche per effettuare una traduzione è necessario l intervento di qualcuno che sia in grado di comprendere le frasi di un linguaggio e riportarle in un altro ma questo può operare in tempi separati rispetto la scrittura del messaggio e la sua lettura La lettura è più rapida e semplice, il traduttore ha senz altro avuto tempo per meglio adattare il testo ma si penalizza l interattività Soluzione Mista: Java Soluzione mista (Java): Portabilità. Per eseguire un programma su macchine diverse è sufficiente implementare l'interprete del linguaggio intermedio, e non tutto il compilatore bytecode Codice Java Interprete Java/Solaris Interprete Java/MacOS Sparc/Solaris Apple Compilatore Java Interprete Java/GNU-Linux Interprete Java/PalmOS Intel/GNU-Linux Palm 21
22 Bibliografia Cay S. Horstman. Concetti di Informatica e fondamenti di Java 2. Apogeo, ISBN: Si veda anche: /00668/scheda Bibliografia Eckel, B. Thinking in Java. Second Edition. Prentice-Hall Computer Books, ISBN: Disponibile anche gratuitamente all indirizzo dove e` possibile trovare anche Thinking in C++ dello stesso autore 22
23 Bibliografia Horstmann, C. S.Cornell, G. Core Java 2: Fundamentals. Prentice Hall, ISBN: Core Java 2: Advanced Features. Prentice Hall, ISBN: Anche in italiano: Java 2 i fondamenti. McGraw Hill, e Java 2 Tecniche avanzate. McGraw Hill, Bibliografia Altri riferimenti: Schimdt, D. Programming Principles in Java: Architectures and Interfaces. 23
Corso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Introduzione: linguaggi, livelli e macchine virtuali Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it
DettagliIntroduzione. Chi sono? Come contattarmi? Programmazione I e Laboratorio. Matteo Baldoni
Introduzione Programmazione I e Laboratorio Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it http://www.di.unito.it/~baldoni/didattica
DettagliIntroduzione. Chi sono? Come contattarmi? Laboratorio di Programmazione ad Oggeti. Matteo Baldoni
Introduzione Laboratorio di Programmazione ad Oggeti Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it http://www.di.unito.it/~baldoni/didattica
DettagliIntroduzione. Fondamenti di programmazione Java
Introduzione Fondamenti di programmazione Java Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it http://www.di.unito.it/~baldoni/didattica
DettagliINSTALLAZIONE, DOCUMENTAZIONE, TUTORIAL E PRIMI PROGRAMMI
Java 2: 2 installazione, documentazione,, tutorial e primo programma INSTALLAZIONE, DOCUMENTAZIONE, TUTORIAL E PRIMI PROGRAMMI Marco Botta Dipartimento di Informatica - Universita` degli Studi di Torino
DettagliIntroduzione. Chi sono? Come contattarmi? Bibliografia. Bibliografia. Bibliografia. Bibliografia. Matteo Baldoni. Programmazione in Rete e Laboratorio
Introduzione Programmazione in Rete e Laboratorio Chi sono? Come contattarmi? Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino Corso Svizzera, 185 I-10149 Torino (ITALY) Matteo
DettagliIntroduzione. Chi sono? Come contattarmi? Contenuti del corso. Bibliografia. Bibliografia. Bibliografia. Matteo Baldoni
Introduzione Linguaggi di Programmazione: Paradigmi di Programmazione (Sperimentazioni) Chi sono? Come contattarmi? Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino Corso Svizzera,
DettagliCenni Storici. Paradigmi di Programmazione: Linguaggi di Programmazione. Il White paper di Java. Dove trovare Java? Dove trovare Java? Cosa ci serve?
Cenni Storici Paradigmi di Programmazione: Linguaggi di Programmazione INSTALLAZIONE, DOCUMENTAZIONE, TUTORIAL E PRIMI PROGRAMMI Matteo Baldoni Dipartimento di Informatica - Universita` degli Studi di
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
DettagliPrimi programmi in Java
Primi programmi in Java II edizione Master Web Technology e Security Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino C.so Svizzera, 185 I-10149 Torino (Italy) baldoni@di.unito.it
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
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
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
DettagliConcetti Introduttivi
Concetti Introduttivi Architettura del Computer http://www.dia.uniroma3.it/~roselli roselli@dia.uniroma3.it Hardware Hardware In questo corso ci occuperemo di software, ovvero applicazioni Hardware In
DettagliProgrammazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java
Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java Programmi Un programma è un insieme di istruzioni che il computer deve seguire Usiamo programmi in continuazione
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
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
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
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
DettagliIntroduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni
Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da
DettagliIntroduzione. Chi sono? Come contattarmi? Bibliografia. Bibliografia. Bibliografia. Bibliografia. Matteo Baldoni. Programmazione in Rete e Laboratorio
Introduzione Programmazione in Rete e Laboratorio Chi sono? Come contattarmi? Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino Corso Svizzera, 185 I-10149 Torino (ITALY) Matteo
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
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliInformatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 19 Linguaggi 2 / 19 Linguaggi 3 / 19 Linguaggi di alto livello Si basano su una macchina virtuale
DettagliSistema operativo: Introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011 Sistema operativo: Introduzione La presente dispensa e da utilizzarsi
DettagliA. Ferrari. informatica. introduzione a Java. Alberto Ferrari Informatica
informatica introduzione a Java La nascita di Java 1991 - James Gosling lavora al Green Project (SUN) per studiare la convergenza tra dispositivi di elettronica di consumo e computer 1992 il Green Project
DettagliIniziare a programmare in C++
Iniziare a programmare in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
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
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
DettagliFondamenti di programmazione!! Parte 2!
Fondamenti di programmazione!! Parte 2! 1! Definizione intuitiva di algoritmo! n Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali e possibile risolvere ogni istanza
DettagliUniversità degli Studi della Calabria
Università degli Studi della Calabria Facoltà di Scienze Politiche CORSO DI FONDAMENTI DI INFORMATICA I A.A 2007/2008 Docente : Ing. Francesco Folino 1 INFORMAZIONI UTILI 2 Docente: Ing. Francesco Folino
DettagliLezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica
Lezione 5: Software Firmware Sistema Operativo Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software 2 Architettura del Calcolatore
DettagliPer approfondire: La rappresentazione delle informazioni all interno dei computer
Per approfondire: La rappresentazione delle informazioni all interno dei computer Scelta della rappresentazione dati Di solito è una scelta convenzionale A volte vi sono vincoli da rispettare Nel caso
DettagliRappresentazione (Codifica Binaria dei Numeri) ed Elaborazione delle Informazioni
1 LEZIONE 3 Rappresentazione (Codifica Binaria dei Numeri) ed Elaborazione delle Informazioni LA CODIFICA DEI NUMERI Obiettivo: Codifica in binario dei numeri per favorire l elaborazione da parte dei calcolatori
DettagliDipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche
Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche michele.perilli@unifg.it mlperilli@gmail.com Sistema Operativo: funzionalità Gestire le risorse della macchina (CPU, memoria,
DettagliSommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)
Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,
Dettaglila traduzione dei programmi ed introduzione a Java
la traduzione dei programmi ed introduzione a Java programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Cosa è un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato Il
DettagliPROBLEMI E ALGORITMI
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliSistema Operativo. (hardware e software) della della macchina
Sistema Operativo Senza Sistema Operativo (SO) un computer è solo un macchinario inutile... Il SO rende possibile la gestione, elaborazione e immagazinamento dell informazione. Il Il SO SO è il il software
DettagliCapitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java
Capitolo 1 Introduzione Cay S. Horstmann Concetti di informatica e fondamenti di Java Obiettivi del capitolo Capire il significato dell attività di programmazione Imparare a riconoscere le componenti più
DettagliLa memoria cache. Informatica generale
La memoria cache Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni La memoria centrale,
DettagliProgrammazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica
Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 28 Linguaggi 2 / 28 Linguaggi 3 / 28 Linguaggi di alto livello Si basano su una macchina
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
DettagliINPUT COMPUTER OUTPUT
1) Cos è un computer? INPUT COMPUTER OUTPUT E una macchina programmabile in grado di produrre dati in output attraverso l elaborazione di dati forniti in input 2) Cos è un programma? E l elenco di istruzioni
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 1 Introduzione al corso public class Benvenuti { public static
DettagliFondamenti di Informatica
Università Degli Studi di Ferrara Corso di Laurea in Scienze della Comunicazione - A.A. 2017-2018 Fondamenti di Informatica Lez. 01 - Concetti Hardware e Software Fondamenti di Informatica - Docente: Giacomo
DettagliIntroduzione a Java A. FERRARI
Introduzione a Java A. FERRARI La nascita di Java 1991 - James Gosling lavora al Green Project (SUN) per studiare la convergenza tra dispositivi di elettronica di consumo e computer 1992 il Green Project
DettagliMarco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Astrazione e Macchine Virtuali parte 2: in un tipico calcolatore I livelli nei moderni calcolatori 6. Livello delle applicazioni
DettagliSommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio
Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio Messaggio Insieme di sequenze di simboli, le parole,
Dettagli1.2d: La codifica Digitale dei caratteri
1.2d: La codifica Digitale dei caratteri 2 Bibliografia Curtin, 3.6 (vecchie edizioni) Curtin, 2.5 (nuova edizione) CR pag. 9-14 Questi lucidi 3 La codifica dei caratteri Un testo è rappresentato attraverso
DettagliSistema operativo: Introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Introduzione La presente dispensa e da utilizzarsi
DettagliArchitettura dei Sistemi Informatici
Sistemi di Calcolo Architettura dei Sistemi Informatici Sistemi informatici PC, terminali e reti Architettura insieme delle componenti del sistema, descrizione delle loro funzionalità e della loro interazione
Dettagli2. Cenni di sistemi operativi
2. Cenni di sistemi operativi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides dal corso «Sistemi Operativi» dei prof. Gherardi/Scandurra dell Università degli studi di Bergamo
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
DettagliLa rappresentazione delle Informazioni
La rappresentazione delle Informazioni Nella vita di tutti i giorni siamo abituati ad avere a che fare con vari tipi di informazioni, di natura e forma diversa, così come siamo abituati a diverse rappresentazioni
DettagliElementi di Informatica A. A. 2016/2017
Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Cos'è un Sistema Operativo?
DettagliIL SISTEMA OPERATIVO IL SISTEMA OPERATIVO
IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE
DettagliIl Software. E il software che implementa le funzionalità di un sistema di elaborazione Due categorie fondamentali di Software (SW)
Il Software E il software che implementa le funzionalità di un sistema di elaborazione Due categorie fondamentali di Software (SW) Il software di sistema Linguaggi di programmazione Sistemi operativi (SO)
DettagliLinguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione
Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,
DettagliISTITUTO ISTRUZIONE SUPERIORE
ISTITUTO ISTRUZIONE SUPERIORE Federico II di Svevia Liceo Scientifico Classico Linguistico e Scienze Applicate Via G.Verdi, 1 85025 MELFI (PZ) Tel. 097224434/35 Cod. Min.: PZIS02700B Cod. Fisc. 85001210765
DettagliSistemi 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
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
DettagliProf. G. Ascia. Sistema Operativo
Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo
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
DettagliElementi di Informatica. Corso di Laurea in Scienze Geologiche a.a. 2003/2004
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
DettagliInformatica Problema Algoritmo Programma
Informatica Problema Algoritmo Programma 2^ PARTE I linguaggi di programmazione I linguaggi di programmazione si possono suddividere fondamentalmente in tre categorie: 1. Linguaggio Macchina 2. Linguaggio
DettagliRegistri. Mem. cache. Mem. centrale. Dischi magnetici e/o ottici. Nastri magnetici. Memoria principale (o RAM) Memoria secondaria (o di massa)
Gerarchia di memoria Aumenta la capacità memorizzazione byte Registri 100 * picosecondi KB Mem. cache nanosecondi MB Mem. centrale 10 * nanosecondi GB Dischi magnetici e/o ottici microsecondi / millisecondi
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 07 Traduzione ed esecuzione di programmi Carla Limongelli Ottobre 2011 Traduzione ed esecuzione di programmi 1 Prerequisiti Architettura
DettagliIl software. la parte contro cui si può solo imprecare
Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di
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
DettagliIl software. la parte contro cui si può solo imprecare. Il software
la parte contro cui si può solo imprecare L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di programmi che permettono
DettagliStrumenti per la programmazione
Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un
DettagliConcetti introduttivi
Concetti introduttivi La programmazione Programma: sequenza di operazioni semplici (istruzioni e decisioni) eseguite in successione. Un programma indica al computer i passaggi da compiere per svolgere
DettagliHardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
DettagliInformazioni sul corso
Informazioni sul corso Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 11 ottobre 2016 Programmazione Programmazione
DettagliArchitettura di un elaboratore. Il modello di von Neumann
Architettura di un elaboratore Il modello di von Neumann 4(5) componenti fondamentali unita di elaborazione: CPU memoria centrale: RAM periferiche (memoria di massa) bus di sistema bus di sistema CPU RAM
DettagliLaboratorio di Informatica. Il Sistema Operativo. Il Sistema Operativo 1
Corso di Laboratorio di Informatica 1 Contenuti L architettura a strati di un calcolatore I compiti del sistema operativo L esecuzione delle applicazioni Cos è il Sistema Operativo? Un programma che gestisce
DettagliProgettare l'isa. Progettare l'isa. Corso di Architettura degli Elaboratori. Interpretazione
Corso di Architettura degli Elaboratori Il livelo ISA: ISA IJVM, tipi di dati e formato delle istruzioni Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA0 0 Linguaggio Java 1 Prerequisiti Utilizzo elementare di un pc Utilizzo di Internet per il downloading di file 2 1 Introduzione In questa lezione si descrivono gli
DettagliTraduzione ed Interpretazione
Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L Macchina astratta di L M 0 Macchina ospite Implementazione interpretativa di L Implementazione compilativa di L Simulazione
DettagliSistema Operativo (Software di base)
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
DettagliLaboratorio di Programmazione Laurea in Bioinformatica
Laboratorio di Programmazione Laurea in Bioinformatica Web: http://www.scienze.univr.it/fol/main?ent=oi&id=34121 Docente: Carlo Drioli Email: drioli@sci.univr.it 2007/2008 Lucidi a cura di Nicola Drago,
DettagliTraduzione ed Interpretazione. Queste sconosciute
Traduzione ed Interpretazione Queste sconosciute Siano L Linguaggio ad alto livello M L M 0 Macchina astratta di L Macchina ospite Implementazione interpretativa di L Simulazione software di M L su M 0
DettagliIl sistema operativo
Il sistema operativo Il sistema operativo E uno strato software che opera direttamente sull hardware Isola gli utenti dai dettagli dell hardware Mono-utente o multi-utente E organizzato a strati: Architettura
DettagliProgrammazione: Sommario
Programmazione: Sommario Concetti di Base della Programmazione; Algoritmi; Diagrammi di Flusso; Istruzioni Sequenziali, Condizionali, Cicliche; Logo Variabili, Procedure e Parametri; 1 Il Problema computazionale
DettagliIl Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
DettagliArchitettura di Von Neumann
Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da un elaboratore: memorizzare i
DettagliFondamenti Teorici e Programmazione Modulo A. Architettura dei calcolatori Ioanna Miliou, Ph.D.
Fondamenti Teorici e Programmazione Modulo A Architettura dei calcolatori Ioanna Miliou, Ph.D. Architettura dei calcolatori In un computer possiamo dis8nguere qua;ro unità funzionali: il processore (CPU)
DettagliIl computer P R O F. L O R E N Z O P A R I S I
Il computer P R O F. L O R E N Z O P A R I S I Un po di storia Le prime macchine per il calcolo automatico risalgono al 1940. Il calcolatore più potente di quel periodo era l ENIAC, in grado di svolgere
DettagliSOFTWARE. Programmi e dati che indicano al computer come svolgere un determinato compito
SOFTWARE MODULO 3 SOFTWARE Programmi e dati che indicano al computer come svolgere un determinato compito Programma: sequenza di istruzioni, scritte in un determinato linguaggio, con le quali si fa eseguire
DettagliJava: un linguaggio per applicazioni di rete
Java: un linguaggio per applicazioni di rete Moreno Falaschi Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena March 3, 2014 1 Caratteristiche di Java (SUN) Linguaggio
DettagliInformatica 1. 4 Programmazione e Sviluppo del software. ing. Luigi Puzone
Informatica 1 4 Programmazione e Sviluppo del software ing. Luigi Puzone Software Software, l insieme di programmi che consentono alla macchina di funzionare e svolgono le funzioni richieste dall utente
DettagliCorso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo Dipartimento di Informatica, Sistemistica e Comunicazione Rappresentazione dell Informazione Prima
DettagliLa Codifica e la Rappresentazione dei dati
La Codifica e la Rappresentazione dei dati www.mat.unical.it/bria Problema Molte azioni che si compiono sono finalizzate alla soluzione di problemi Ogni problema è caratterizzato da un insieme di dati
Dettagli