Prof. Rossella Cancelliere

Documenti analoghi
L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Il Software programmabili programma algoritmo

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Fondamenti di Informatica T. Il Software

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Introduzione alla programmazione. Walter Didimo

I sistemi operativi. Prof. Daniele Contarino

INFORMATICA. L informatica comprende:

Sistema operativo & file system 1

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

Il Sistema Operativo

Struttura Logica del S.O:

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Sistema Operativo (Software di base)

Sistema Operativo. (hardware e software) della della macchina

DIREZIONE DIDATTICA DI SAN GIUSEPPE JATO Programma Operativo Nazionale Fondo Sociale Europeo - Competenze per lo sviluppo

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Introduzione alla Programmazione. Giselda De Vita

Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

INFORMATICA GENERALE. Informatica Generale

Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Sistema operativo (SO)

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

IL SOFTWARE DI SISTEMA

Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E

Il computer P R O F. L O R E N Z O P A R I S I

Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette

Capitolo 6 Le infrastrutture SoftWare

Architettura dei calcolatori e Software di sistema

Informatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Sistemi Operativi: Concetti Introduttivi

Sistema Operativo. Alma Mater Studiorum Università di Bologna - Fondamenti di Informatica T (a-k)

Organizzazione di un SO monolitico

Il software. Capitolo 3 La potenza non è nulla senza il software. Informatica di Base -- R.Gaeta 1

Sistemi di Elaborazione delle Informazioni

FONDAMENTI DI INFORMATICA

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Architettura degli elaboratori

I.I.S. N. PELLATI Nizza Monferrato - Canelli

Elementi di Informatica

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

LA GESTIONE DELLA I/O

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

Introduzione al funzionamento di un calcolatore elettronico

Il computer P R O F. L O R E N Z O P A R I S I

ECDL MODULO 1. Sezione 2 Software

Transcript:

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 del corso Basi dell informatica: n codifica dell informazione n hardware: struttura di un computer n software: sistemi operativi e file system n fogli elettronici Statistica: n Statistica descrittiva n Distribuzione Gaussiana Laboratorio n Esercitazioni in laboratorio

Testi adottati: Testi per il corso n L. Console, M. Ribaudo, Introduzione all'informatica, Torino Utet libreria, 1997 n Dispense e lucidi delle lezioni Altri testi: n D. P. Curtin, K. Foley, K. Sen, C. Morin Informatica di base, Mc Graw Hill, 2002 n S. Grandi, E. Bonechi, Informatica Zero, Apogeo, 2000. n n n F. Pellerey, Elementi di statistica per le applicazioni, Celid, 1998 A. Scagni, Introduzione alle tecniche di ricerca e di elaborazione dei dati, 3 edizione, Tirrenia Stampatori, 2001 Microsoft, Office 97: a colpo d occhio, Mondadori Informatica, 2000 Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: n l utente dovrebbe conoscere l organizzazione fisica del computer e il suo linguaggio macchina; n un programma dipenderebbe strettamente dalla struttura hardware e ogni piccola differenza hardware comporterebbe una riscrittura del programma.

n n n n Questo non è accettabile, vogliamo invece: astrarre dall organizzazione fisica della macchina, in quanto vogliamo usare nello stesso modo, macchine leggermente diverse dal punto di vista hardware o, al limite, macchine con hardware molto diverso interagire in modo semplice con la macchina; programmare ad alto livello la macchina; infine vogliamo programmi applicativi per svolgere diversi compiti utili (videoscrittura, fogli di calcolo, database, editing di immagini, etc ) Concetto di Macchina Virtuale Questi obiettivi vengono raggiunti grazie alla definizione di macchine virtuali che vengono realizzate al di sopra della macchina hardware reale Utente HW macchina virtuale

Macchine Virtuali n Ogni macchina reale ha un suo linguaggio macchina L 0 le cui istruzioni sono direttamente eseguibili dal processore (HW) n Al di sopra di questo linguaggio è possibile definire una gerarchia di linguaggi L i e fornire delle regole per tradurne le istruzioni in opportune sequenze di istruzioni in linguaggio macchina n L insieme di queste nuove istruzioni definisce una macchina virtuale in quanto non esiste fisicamente ma viene realizzata mediante il software n La macchina virtuale si occupa della traduzione delle istruzioni al livello L i nell'opportuna sequenza di istruzioni di livello L i-1 che realizza la stessa funzione Interfaccia Machine virtuali Utente Macchina virtuale N - sistema di comandi LN Interprete dei comandi Macchina virtuale 1 - sistema di comandi L1 Interprete dei comandi Hardware - Linguaggio macchina L0

Il software fornisce: 1. Un sistema di interazione semplice con la macchina 2. Linguaggi ad alto livello per programmare la macchina; 3. Programmi applicativi per svolgere diversi compiti (videoscrittuta, fogli di calcolo, database, etc ) 1. Esempio esecuzione di un comando virtuale supponiamo che l'utente voglia stampare un documento doc1 (un file). A livello fisico questa operazione è complessa e richiede operazioni di trasferimento dati ad esempio dal disco alla stampante (via memoria principale) La macchina virtuale potrebbe fornire all'utente un semplice comando di stampa del tipo: stampa doc1

n La macchina virtuale deve innanzitutto verificare se si tratta di un comando valido n Poi tradurlo nell opportuna sequenza di istruzioni a basso livello per la macchina fisica n Grazie a questo livello software si può astrarre dalle caratteristiche fisiche della macchina e della periferica (la stampante) n Si può anche fare in modo che macchine differenti siano usabili in modo simile: si tratta, infatti, di costruire al di sopra delle diverse macchine fisiche la stessa macchina virtuale n Per ogni comando della macchina virtuale si dovranno però avere diversi programmi di traduzione, uno per ogni tipo di hardware 2. Linguaggi di programmazione n Un programma scritto in un linguaggio di programmazione è costituito da una sequenza di istruzioni ad alto livello strutturate in modo complesso n Compilatore: traduce il programma intero in un insieme di istruzioni macchina il programma tradotto si chiama (file) eseguibile n Interprete: traduce una istruzione per volta del linguaggio in una sequenza di istruzioni macchina e le esegue

Software di base n Sistema Operativo: insieme di programmi che interagiscono e cooperano tra di loro per realizzare due obiettivi fondamentali: gestire efficientemente il computer e le sue periferiche, cercando di sfruttare al massimo tutte le componenti hardware creare un ambiente virtuale per facilitare l'interazione uomo-macchina n Strumenti per l uso di linguaggi ad alto livello: Interpreti e compilatori Strumenti per l esecuzione di programmi Compiti del Sistema operativo n Configurazione e accensione macchina n Gestione del processore n Gestione della memoria principale n Gestione di informazione in memoria secondaria (File System) n Gestione delle periferiche n Interazione utente macchina: interfaccia e interprete comandi n Protezione dei dati (sicurezza)

Tipi di sistemi operativi n Esistono diversi tipi di sistemi operativi per diverse classi di computer n Distinzione fondamentale sistemimono-utente sistemimulti-utente Il Sistema Operativo Sistemi mono-utente pensati per Personal Computer IBM PC - Compatibili (DOS - Windows) Macintosh n Due diversi tipi di interazione utente/computer: interazione testuale (es. MS-DOS per PC-IBM) interazione grafica (es. Macintosh, Windows,Linux)

Sistemi operativi multi-utente: n UNIX (Workstation, PC: LINUX) Utilizzato per computer collegati in rete supporta varie interfacce grafiche (a finestre) n Windows NT,2000,XP Utilizzato per computer collegati in rete Gestione del processore e dei processi n Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo n Il ruolo del processore è quello di eseguire programmi n Si chiama processo un programma in esecuzione

Processore e processi La gestione del processore è in modo: n mono-tasking: esegue un programma per volta (MS-DOS) n multi-tasking: esegue più programmi contemporaneamente (Windows varie versioni dal 95, Macintosh, UNIX) Limite del mono-tasking n qualunque processo alterna fasi di esecuzione a fasi in cui è bloccato in attesa di qualche evento esterno n Un processo può essere in attesa che sia terminata un operazione di input di dati oppure in attesa di poter usare una risorsa in quel momento occupata n mentre il processo è bloccato in attesa di eventi esterni, il processore rimane inattivo, in uno stato chiamato idle, e risulta pertanto sotto-utilizzato

I tempi di lavoro delle periferiche di input/output, o addirittura i tempi di reazione umani sono maggiori di molti ordini di grandezza della velocità del processore (quindi del tempo in cui un processo è in esecuzione) Multi-tasking n Come è possibile eseguire più programmi contemporaneamente sullo stesso processore? Ad ogni istante vi è un solo processo attivo n Il processore alterna l esecuzione dei vari programmi n Il tempo di lavoro della CPU viene suddiviso tra i vari programmi n Se l'alternanza tra i processi è frequente (ad es.10 millisecondi), l'utente ha l'impressione che l'esecuzione dei programmi sia simultanea

n A livello macroscopico si ha quindi l'impressione della contemporaneità, mentre a livello microscopico si ha una semplice alternanza sequenziale molto veloce n Il tempo di esecuzione, cioè il tempo che intercorre tra l'inizio e la fine del processo, risulta aumentato rispetto al caso mono-tasking a causa dell alternanza con gli altri processi Un processo può trovarsi in tre diversi stati: n in esecuzione, quando sta utilizzando il processore; n in attesa (bloccato), quando è in attesa del verificarsi di un evento esterno (terminazione di un operazione di input/output o altro) n pronto, quando è potenzialmente in condizione di utilizzare il processore che è occupato da un altro processo