Il sistema operativo è un software che sovrintende al funzionamento del calcolatore eseguendo compiti differenti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il sistema operativo è un software che sovrintende al funzionamento del calcolatore eseguendo compiti differenti"

Transcript

1 Reti e problematiche di Rete I sistemi operativi Enrico Cavalli Anno Accademico Introduzione ai sistemi operativi 1

2 Il sistema operativo Il sistema operativo è un software che sovrintende al funzionamento del calcolatore eseguendo compiti differenti visione dell utente di un PC visione dell utente di un grande sistema visione del programmatore Il sistema operativo può essere esaminato da diversi punti di vista e questo ne rende a volte complicata la descrizione Il sistema operativo: Gestisce l interazione utente computer Funge da interfaccia tra applicazioni e le risorse del sistema Gestisce la condivisione delle risorse; Ottimizza l uso delle risorse Fornisce servizi per lo sviluppo del software e l amministrazione del sistema. Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 3 Il sistema operativo Esempi: Linux/Unix, Windows XP, Windows Vista o Mac OS X Interazione utente-computer o applicazione computer sono aspetti differenti della medesima esigenza: nascondere la complessità dell hardware Gestione, condivisione, ottimizzazione dell uso delle risorse CPU Memoria I / O Disco I / O I moderni sistemi sono multiprogrammati: Multiutenza Multitasking Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 4 2

3 Il sistema operativo Fornisce servizi per l amministrazione del sistema Esempio in ambiente Windows Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 5 Architettura H/S dei sistemi Architettura a strati del sistema e differente visione da parte dei diversi attori che compaiono in un sistema per l elaborazione dei dati Programmatori di sistema Software Applicativo Word Processor Fogli elettronici Sistemi contabili Grafica Videogiochi Web Browser Programmi per CAD... Software di Sistema ShellComandi Interpreti Compilatori Loader Debugger Editor DBMS... Sistema Operativo Hardware Programmatori di applicazioni CALL EXEC( ) API - Application Programmer Interface Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 6 3

4 Shell dei comandi L utente interagisce tramite la shell dei comandi: - Shell grafiche, shell a caratteri con linee di comandi Shell dei Comandi Sistema Operativo C:\>copy ec.bat ec_copia.bat 1 file copiati. C:\>del eccopia.bat Impossibile trovare C:\eccopia.bat C:\>del ec_copia.bat C:\>date Data corrente: 02/08/2007 Immettere nuova data: (gg/mm/aa) C:\>time Ora corrente: ,39 Immettere nuova ora: C:\> C:\> prompt del sistema Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 7 Shell dei comandi Visualizza il Prompt di sistema Leggi la stringa con comando e parametri Analizza comando do print(prompt); read(stringa); Analizza(Stringa,Cmd,Param,Errore); if (Errore > 0) Messaggio(Errore); else Esegui(Cmd,Param); endif; forever; Sì Errore? No Messaggio di errore Esegui il comando La logica della shell Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 8 4

5 Sistema Operativo Il sistema operativo è un programma che è sempre in esecuzione durante tutte le attività del calcolatore ed è eseguito in modalità riservata. Sempre in esecuzione: il codice del sistema operativo è sempre presente nella memoria centrale pronto per l esecuzione. Nucleo (o kernel) del sistema operativo. Modalità riservata o modo supervisore o modalità kernel o modo di sistema. Nella modalità riservata il processore può eseguire tutte le istruzioni del set di istruzioni macchina. In modalità utente il processore può eseguire un insieme ristretto di istruzioni. Sono escluse, per ragioni di sicurezza, alcune istruzioni la cui esecuzione è permessa solo al sistema operativo. Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 9 Computer anni Programma in esecuzione Assenza di sistemi operativi Uso del linguaggio macchina ( poi assembler ) Uso open shop del sistema Memoria Il programmatore deve: Caricare in memoria il contenuto di un pacco di schede con l assemblatore Tradurre il programma assembler e produrre un pacco di schede con la traduzione in codice macchina del programma letto Caricare ed eseguire il programma tradotto, dopo avere inserito nel lettore le schede con i dati da elaborare. Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 10 5

6 Computer anni Primi rudimentali sistemi operativi per ridurre il tempo di set up del del programma - sistemi batch o monitor - monoprogrammazione Linguaggi di programmazione FORTRAN (Formula Transformation) nel 1958 $JOB NomeJob, NomeUtente, Parametri $FORTRAN DIMENSION X(100) JCL Job Control Language Interprete JCL Routine di servizio Programmi utente e di sistema Memoria STOP END SUBROUTINE SUB1(PAR1, PAR2)... END SUBROUTINE SUB2... END $LOAD $RUN $END Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 11 Anni 60: multiprogrammazione Sistema Operativo Sistemi batch multi programmati Importanza del grado di multiprogrammazione P 1 P 2 Memoria Esigenze della multiprogrammazione: - Implementare politiche di protezione della memoria per evitare interferenze dannose tra i programmi in esecuzione; - Controllare che un programma in esecuzione non monopolizzi il sistema; - Limitare l intervento della CPU nelle operazioni di lettura e scrittura dei dati grazie al DMA (Direct Memory Access); - Gestione delle interruzioni; - Implementare tecniche di spooling nelle operazioni di input/output. Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 12 6

7 Anni 60: multiprogrammazione Protezione della memoria: uso di Registri Limite Sistema Operativo P 1 P 2 Memoria Presenza di timer e capacità di gestire le interruzioni dei programmi, cioè di tenere conto del loro stato per poter riprendere l esecuzione di un programma interrotto DMA (Direct Memory Access): è un dispositivo in grado di operare il trasferimento dei dati tra memoria e unità periferica senza coinvolgere il processore. L azione del DMA è iniziata dal processore che lo informa su origine, destinazione e quantità di dati da trasferire. Il processore si mette a fare altro mentre il DMA esegue in parallelo il trasferimento dei dati. Dopo aver trasferito i dati il DMA invia un segnale al processore per indicare il completamento dell operazione di I/O. Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 13 Spooling delle periferiche Lo spooling, che prende il nome dall acronimo SPOOL (Simultaneous Peripheral Operation On Line), risolve il problema delle operazioni simultanee sulle periferiche La scrittura sulle periferiche è gestita dal sistema operativo che provvede a serializzare le operazioni di output dei programmi impedendo interferenze dannose 1. I programmi scrivono i dati in appositi file su disco, inviando l output non più alla periferica fisica ma a periferiche virtuali assegnate e gestite dal sistema operativo 2. Quando l output è completato il sistema operativo lo invia alla periferica opportuna Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 14 7

8 I vantaggi della multiprogrammazione Esecuzione parallela di P 1 e P 2 : in ogni istante c è un solo programma che occupa il processore ma in breve tempo sia P 1 che P 2 sono eseguiti dal processore I due programmi sono eseguiti in 7 ms con la CPU occupata per 4 ms ( 57% del tempo totale) mentre con l esecuzione sequenziale la CPU è attiva per 4 ms ( 36% del tempo totale ) Se il primo dei programmi a partire è P 2 il tempo di completamento è di 6.5 ms con la CPU impegnata per 4 ms (62% del tempo totale) Introducendo P 3, eseguito in 2 ms (0,5 I/O, 1 CPU, 0.5 I/O), si osserva che i tre programmi sono completati in 7 ms con la CPU impegnata per 5 ms (71% del tempo totale) L esempio evidenzia l Importanza del grado di multiprogrammazione, dell ordine di esecuzione dei programmi e delle loro caratteristiche specifiche per l efficienza complessiva del sistema. P 1 P 2 P 1 : 0,5ms CPU, 3ms I/O, 0,5ms CPU, 2ms I/O P 2 : 1ms I/O, 3ms CPU, 1ms I/O P t Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 15 Sistemi a priorità e time-sharing In base al comportamento i programmi si classificano in programmi: CPU bound: che impegnano molto la CPU e fanno poco I/O I/O bound: che occupano poco la CPU ed eseguono molto I/O I sistemi batch multiprogrammati favoriscono i processi CPU bound che, una volta in possesso della CPU, la tengono fin che vogliono. Particolarmente sfavoriti sono i processi interattivi a terminale dove si desiderano tempi di risposti brevi Due approcci differenti alla multiprogrammazione: Multiprogrammazione guidata dalle priorità Sistemi time sharing: suddivisione del tempo in time slice (quantum) Priorità e time sharing sono accomunati dal fatto che un programma in esecuzione può essere interrotto per cedere la CPU a un altro pronto per l esecuzione Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 16 8

9 Sistemi a priorità e time sharing Priorità P 4 P 3 P 2 P 1 CPU Multiprogrammazione con priorità: i programmi sono inviati alla CPU in ordine di priorità. P 1 ha priorità maggiore di P 2. P 2 ha priorità superiore a P 3. P 3 ha priorità superiore a P 4. Time Sharing P 4 P 5 P 6 CPU P 3 P 2 P 1 Nel time sharing i programmi sono eseguiti a turno circolarmente per un quantum di tempo Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 17 Sistemi recenti Più recentemente con l avvento dei personal computer si sono sviluppati sistemi operativi dove oltre ai precedenti obiettivi diventa fondamentale la semplicità d uso del sistema: si affermano pertanto le interfacce grafiche e le shell di comandi grafiche Nei sistemi operativi moderni è richiesta anche la capacità di sovrintendere il funzionamento di sistemi con più processori dove il parallelismo nell esecuzione dei programmi è reale e non solo simulato per effetto della multiprogrammazione Un architettura a molti processori che si ormai affermata è la cosi detta architettura a multi processore simmetrico SMP (Simmetric Multi Processor) CPU CPU CPU CPU Memoria Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 18 9

10 Funzioni e struttura del sistema operativo Il sistema operativo gestisce e ottimizza l uso delle risorse: Processore: il s.o. assegna il processore ai programmi in attesa di esecuzione, operando opportune scelte Memoria centrale: un programma in esecuzione risiede in memoria, il s.o. deve essere in grado di allocare porzioni di memoria ai programmi Dispositivi di I/O: i programmi in esecuzione richiedono servizi per il trasferimento dei dati al s.o. che opera i trasferimenti richiesti cercando di recuperare gli eventuali errori Informazioni: i calcolatori si usano per gestire informazioni: sono archiviate nel sistema per essere recuperate ed elaborate. Le informazioni sono manipolate come file Tenere conto dello stato delle risorse Avere una politica per operare scelte nell allocazione delle risorse. Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 19 Modello a strati del sistema operativo Shell dei comandi Gestione delle informazioni Gestione delle periferiche Gestione della memoria Processi e processore Hardware Ogni livello assolve a compiti specifici utilizzando i servizi offerti dallo strato inferiore e offrendo servizi al livello superiore Ogni livello è visto come una macchina virtuale in grado di fornire servizi Ogni livello opera sulla macchina virtuale del livello inferiore e costruisce una macchina virtuale più potente per il livello superiore Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 20 10

11 Architettura microkernel Gestione della memoria Gestione dell I/O Microkernel Hardware Processi e processore Gestione delle Informazioni Solo il microkernel è eseguito in modalità riservata Shell dei comandi Nel microkernel il nucleo esegue un minimo di funzioni, quali la gestione del processore, delle interruzioni e la comunicazione tra processi. Tutte le altre operazioni sono eseguite come applicazioni in modalità utente Lo scopo è realizzare sistemi operativi semplici e flessibili: manutenzione e evoluzione sono semplici come l aggiornamento di un applicazione. Nei s.o. a microkernel le diverse componenti del sistema operativo comunicano tra di loro scambiandosi messaggi: ideale per i sistemi distribuiti Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 21 Architettura del computer 11

12 Architettura del computer Unità Centrale CPU Controllore dispositivo Controllore dispositivo Rete di comunicazione I moduli sono collegati tramite il bus di sistema Controllore memoria Controllore del disco Controllore dispositivo Controllore dispositivo Memoria centrale Disco Unità centrale: CPU e Memoria Dispositivi periferici, classificabili in dispositivi: per l interazione con l utente usabili solo dalla macchina per - la memorizzazione delle informazioni - il trasferimento dei dati Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 23 Memoria centrale - RAM Indirizzi Dimensione della memoria N... LOAD R1,104 ADD R1, Ampiezza della parola di memoria - Un array di parole di memoria - Indicata come Random Access Memory - Volatile, Veloce, Costosa - Contiene sia dati che istruzioni, sotto forma di bit 2 3 Istruzioni Dati Capacità: Pochi GB.. Pochi TB 1 MB = 2 20 byte 10 6 byte 1 GB = 2 30 byte 10 9 byte 1 TB = 2 40 byte byte Parole di memoria: bit Tempo di accesso alla RAM: Diversi nsec: nsec 1 ns = 10-9 sec 1 µs = 10-6 sec 1 ms = 10-3 sec Tempo di accesso al disco: msec Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 24 12

13 Il processore CPU Moduli di I/O Unità di Controllo PC RI Memoria Controllore dispositivo Controllore dispositivo Controllore dispositivo I/O AR I/O BR MAR MBR R1 R2 RN Unità Logico Aritmetica Registri di sistema: non modificabili dai programmi utente Registri utente: Tempo di esecuzione istruzioni: pochi ns Tempo di trasferimento dai registri alla ALU: pochi ns Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 25 Ciclo di esecuzione delle istruzioni PC = Start Preleva istruzione PC = PC+1 Esegui istruzione Prelevamento Esecuzione /* */ /* Ciclo di esecuzione delle Istruzioni */ /* */ PC = IndirizzoPrimaIstruzione; do RI = Memoria[PC]; PC = PC + 1; Ciclo delle Istruzioni EseguiIstruzione(RI); while (RI <> HALT); HALT arresta il processore Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 26 13

14 Stack Pointer PUSH SP POP PUSH Operando: SP++; Memoria[SP] = Memoria[Operando]; Registri generali: R1, R2,.. RN e anche SP, Stack Pointer Registri di sistema: non modificabili dall utente: PC, IR, MBR, MAR, I/O AR, I/O BR, PSW PSW: Program Status Word Nella PSW: i codici condizione POP Operando: Memoria[Operando] = Memoria[SP]; SP--; Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 27 Le istruzioni del linguaggio macchina Op Code Registro Indirizzo Operando 8 bit 3 bit 21 bit Istruzione simbolica Descrizione LOAD Rx,Indirizzo Rx = Memoria[Indirizzo]; STORE Rx, Indirizzo Memoria[Indirizzo] = Rx; PUSH Indirizzo SP++; Memoria[SP] = Memoria[Indirizzo]; POP Indirizzo Memoria[Indirizzo] = Memoria[SP]; SP--; ADD Rx, Indirizzo Rx = Rx + Memoria[Indirizzo]; SUB Rx, Indirizzo Rx = Rx - Memoria[Indirizzo]; MUL Rx, Indirizzo Rx = Rx * Memoria[Indirizzo]; DIV Rx, Indirizzo Rx = Rx / Memoria[Indirizzo]; CMP Rx, Indirizzo Confronta Rx con Memoria[Indirizzo]; JMP Indirizzo PC = Indirizzo; JMPEQ Indirizzo if (CodiceCondizione==0) PC=Indirizzo; JMPLT Indirizzo if (CodiceCondizione<0) PC=Indirizzo; JMPGT Indirizzo if (CodiceCondizione>0) PC=Indirizzo; HALT Ferma il processore Rx Un registro utente Memoria[X] Una parola di memoria PC Program Counter SP Stack Pointer Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 28 14

15 Esempi(1) /* */ /* S=A+B; collocato in memoria all indirizzo 100 */ /* */ A B S 0103 LOAD R0, A nel registro R ADD R0, A + B in R STORE R0, salva il risultato in S 0106 HALT -- fine... Istruzione A B S R Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 29 Esempi(2) /* */ /* P=2 N collocato in memoria a partire dalla locazione 2500 */ /* */ N La costante La costante 2 2 N per N >= 0 e P i dati in memoria 2504 LOAD R0, in R LOAD R1, in R LOAD R2, in R2 dove si forma P 2507 LOAD R3, N in R JMPEQ Se N=0 fine 2509 MUL R2,R1 -- P = P* SUB R3,R0 -- N = N JMPGT Iterazione per N> STORE R2, Salva il risultato in P... Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 30 15

16 Impossibile visualizzare l'immagine. La memoria del La memoria Cache Con la memoria cache si costruiscono sistemi di memoria a più livelli abbinando memorie piccole veloci costose a memorie di grande dimensione (lente ed economiche) in modo che il sistema abbia capacità pari a quella della più grande e velocità (quasi) uguale alla più veloce delle due CPU 1 2 Cache Memoria centrale t C tm Cache hit: p > 0.95 Il processore cerca la parola nella memoria cache 1: se c è la usa, (t c ). Se la parola cercata non è in cache il processore la preleva dalla memoria centrale (t M ), la ricopia nella cache(t c ) e la usa. Inoltre il trasferimento 2, dalla memoria centrale alla cache avviene per blocchi Tempo medio di accesso: T m = t c + (1 - p) t M, t c cache, t M memoria, p probabilità di successo (cache hit) nel trovare la parola in cache Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 31 Principio di località Si osservano sperimentalmente cache hit superiori al 90% che sono giustificati teoricamente dai principi di località: Principio di località temporale: se un programma accede a una parola di memoria è probabile che in un breve intervallo di tempo acceda di nuovo alla stessa cella di memoria (si pensi ai loop) Principio di località spaziale: un programma che accede a una parola di memoria accederà probabilmente, entro breve tempo, a celle di memoria vicine. E questa la ragione per cui i trasferimenti dalla memoria centrale alla cache avvengono a blocchi Il principio di località vale per istruzioni e dati, ma istruzioni e dati sono in zone distanti della memoria Cache dati Cache istruzioni T m = t c + (1 - p) t M Cache a più livelli per aumentare p Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 32 16

17 Impossibile visualizzare l'immagine. La memoria del Gerarchia di memorie Tempo di accesso 1 ns Livelli della gerarchia Registri del processore Capacità < 1 KB Frequenza di accesso 2 5 ns Memorie cache 1 2 MB ns Memoria centrale 1 4 GB ms Dischi magnetici GB molti secondi Nastri magnetici - Dischi ottici 100 GB Valori per personal computer 2008 T Disco /T RAM = 20ms/200ns = ns/200ns = 10 5 Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 33 Il linguaggio usato 17

18 Impossibile visualizzare l'immagine. La memoria del Costanti e variabili const PI = ; const LIMITE = 10; const PROMPT = C:\> ; int M, N; int Base(=2); double Risultato; string Nome, Cognome; char InizialeNome; boolean Finito; La costante PROMPT è una stringa di caratteri La variabile intera Base è inizializzata a 2 InizialeNome è una variabile di tipo carattere typedef enum {Bloccato,Sospeso,Pronto,InEsecuzione} statoprocesso; typedef enum {Lun, Mar, Mer, Gio, Ven, Sab, Dom} giorno; typedef enum {0, 1} bit; /* */ /* La enumerazione dei valori implica un ordinamento: */ /* Lun < Mar < Mer < Gio < Ven < Sab < Dom */ /* */ statoprocesso Sp1, Sp2,Sp3; giorno GiornoSettimana; La variabile Flag potrà assumere i soli valori 0 e 1 bit Flag; Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 35 Array e strutture typedef char string[512]; typedef char riga[120]; riga PrimaRiga, UltimaRiga; riga Pagina[55]; int Buffer[200]; definizione del tipo string PrimaRiga e UltimaRiga: di tipo riga Pagina: array di 55 variabili di tipo riga Buffer: array di 200 interi PrimaRiga[1] Buffer[5] Pagina[20] Pagina[55] Pagina[19][0] Pagina[54] Pagina[54][119] Il secondo carattere di PrimaRiga Il sesto intero di Buffer La riga 20 di Pagina Errore: l ultimo elemento è Pagina[54] Il primo carattere della riga 20 di Pagina La 55-esima riga Pagina Ultimo carattere, ultima riga di Pagina Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 36 18

19 Impossibile visualizzare l'immagine. La memoria del Array e strutture typedef struct { string Marca; string Modello; int Prezzo; int Potenza; float Consumo; } automobile; automobile Fiat500, Serie3; Fiat500.Potenza La componente Potenza di Fiat500 Fiat500.Prezzo La componente Prezzo di Fiat500 Serie3.Consumo La componente Consumo di Serie3 Serie3.Marca = BMW ; Marca di Serie3: il valore BMV Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 37 Istruzione di assegnamento /* * int M, N, Bit * */ M = M + 1; Incrementa m di 1 Bit = N % 2; Resto della divisione: (7%3 = 1) N++; Incrementa N di 1 /* * boolean Errore, Uguale, Diverso * double A,B,C,Delta,X * */ Errore = N<2 OR N>10; Uguale = M == N; Diverso = M <> N; Delta = B*B 4*A*C; X1 := (-B + sqrt(delta))/(2*a); sqrt(delta): radice di Delta /* * automobile Fiat500 * */ Fiat500.Prezzo = 10200; Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 38 19

20 Impossibile visualizzare l'immagine. La memoria del Input / Output /* * int M, Anno; * */ read ( M ); Anno = M++; print ( Valore di M =, M ); print ( Valore di Anno =, Anno ); Se il file di input contiene il valore 1492, sul file di output viene scritto: Valore di M = 1492 Valore di Anno = 1493 Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 39 Strutture di controllo(1) /* * int Dato1, Dato2, Buffer; * Istruzioni che scambiano i contenuti di Dato1 e Dato2 * */ begin Buffer = Dato1; Dato1 = Dato2; Dato2 = Buffer; end; /* * Due possibili modi per calcolare il valore assoluto di Dato * */ double Dato, Valass; if ( Dato >= 0.0 ) Valass = Dato; Valass = Dato; if ( Dato < 0.0 ) else Valass = -Dato; Valass = -Dato; endif; endif; Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 40 20

21 Impossibile visualizzare l'immagine. La memoria del Strutture di controllo(2) /* * Classificazione di un carattere secondo differenti tipi * */ char Car; typedef enum {maiuscolo, minuscolo, numerico, punto, altrotipo} tipo; tipo TipoCarattere;... read ( Car ); if ( Car>= a and Car<= z ) TipoCarattere = minuscolo; elseif ( Car>= A and Car<= Z ) TipoCarattere = maiuscolo; elseif ( Car>= 0 and Car <= 9 ) TipoCarattere = numerico; elseif ( Car ==. ) TipoCarattere = punto; else TipoCarattere = altrotipo; endif; Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 41 Strutture di controllo(3) /* * Lettura e somma di una serie di dati acquisiti da tastiera. * La presenza di un Dato <= 0 informa che tutti i dati della * serie sono stati letti * */ double Dato, Somma; Somma = 0.0; While itera per vero read(dato); while ( Dato > 0.0 ) Controllo: all inizio del blocco Somma = Somma + Dato; Iterazioni: zero o più iterazioni read (Dato); endwhile; /* */ boolean Bloccato;... while ( Bloccato ) endwhile; prosegui esecuzione Una while che non fa nulla. Quando Bloccato vale true il programma esegue continuamente il test di controllo all inizio del blocco while Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 42 21

22 Impossibile visualizzare l'immagine. La memoria del Strutture di controllo(4) /* * Lettura controllata di una variabile intera di nome Anno * Un valore legale di Anno deve essere compreso tra 2000 e 2020 * */ int Anno; string Prompt; boolean Errore; Prompt = Un intero compreso tra 2000 e 2020 : ; do print (Prompt); read (Anno); Errore = Anno<2000 or Anno>2020; if (Errore) print( Errore nei dati\n ); endif; while (Errore); print( xyz\n ); File di output: scrive: xyz e si posiziona sulla riga successiva per la prossima scrittura. Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 43 Strutture di controllo(5) /* * Il ciclo infinito è reso con l istruzione: do.. forever; * */ do Istruzione; forever; while(true) Istruzione; endwhile; ; do Istruzione; while(true); /* * Conteggio degli spazi contenuti in una stringa * */ string Stringa(=... ); int Spazi, Lung, Pos; char Carattere, Spazio(= ); Lung = len(stringa); Spazi = 0; for (Pos=0; Pos<Lung; Pos++; ) Carattere = Stringa[Pos]; if ( Carattere == Spazio ) Spazi++; endif; endfor; for( Pos=0;Pos<Lung;Pos++; ) S; endfor; viene eseguita nel seguente modo: Pos = 0; while ( Pos<Lung ) S; Pos++; endwhile; Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 44 22

23 Impossibile visualizzare l'immagine. La memoria del Sottoprogrammi(1) tipo_restituito nome_function ( parametri ) begin dichiarazioni_tipi_variabili_costanti_function; istruzioni_che_compongono_la_function; end; /* * NumeroSpazi restituisce il numero di spazi di una stringa * */ int NumeroSpazi( string Riga ) begin int Lunghezza, Pos, ContaSpazi; char Spazio(= ); Lunghezza = len(riga); ContaSpazi = 0; for( Pos=0; Pos <Lunghezza; Pos++ ) if (Riga[Pos] == Spazio) ContaSpazi++; endif; endfor; return ContaSpazi; end; return Espressione; Termina l esecuzione della funzione restituendo al chiamante il valore contenuto in Espressione Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 45 Sottoprogrammi(2) /* * Uso della funzione NumeroSpazi * */ string stringa; Stringa = Questa è una stringa di caratteri ; print ( Nella frase, Stringa ); print ( ci sono:, NumeroSpazi(Stringa), spazi. ); /* * Scambia sottoprogramma di tipo procedura * */ void Scambia(int &Par1, int &Par2) begin int Temp; Temp = Par1; Par1 = Par2; Par2 = Temp; end; Un sottoprogramma di tipo procedura non restituisce nulla: void Scambia(...) In una procedura non c è istruzione return Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 46 23

24 Impossibile visualizzare l'immagine. La memoria del Struttura di un programma(1) /* * Struttura generale di un programma * */ // dichiarazioni globali void main() begin // // dichiarazioni di tipi, costanti, variabili // dichiarazione dei sottoprogrammi utilizzati // istruzioni_che_compongono_il_programma; end; // Codice dei sottoprogrammi dichiarati Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 47 Struttura di un programma(2) /* * Struttura generale di un programma * */ void main() begin int Inizio, Fine; void Scambia(); // // main può accedere alle sole variabili: // Inizio, Fine e alla procedura Scambia // Inizio = 20; Fine = 5; if ( Inizio > Fine ) Scambia(); endif;... end; void Scambia() begin int Temp; // // Scambia può accedere a: Inizio, Fine e Temp // Temp = Inizio; Inizio = Fine ; Fine = Temp; end; Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 48 24

25 Struttura di un programma(3) /* * Struttura di un programma * con moduli paralleli * */ begin end; Blocco1; parbegin Procedura1( parametri ); Procedura2( parametri ); Procedura3( parametri ); parend; Blocco2; Blocco3; Blocco1 Proc1( ) Proc2( ) Blocco2 Blocco3 Proc3( ) Reti e problematiche di rete - Enrico Cavalli - Università di Bergamo 49 25

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Software che sovrintende al funzionamento del computer eseguendo compiti diversi:

Software che sovrintende al funzionamento del computer eseguendo compiti diversi: Sistema Operativo dispensa a cura di Alessandro Bellini Software che sovrintende al funzionamento del computer eseguendo compiti diversi: 1. Gestire interazione utente macchina 2. Fornire un interfaccia

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

La memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

Informatica per la Storia dell Arte. Anno Accademico 2014/2015 Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Informatica per la Storia dell Arte Anno Accademico 2014/2015 Docente: ing. Salvatore Sorce Architettura

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

La memoria - generalità

La memoria - generalità Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Software di base. Corso di Fondamenti di Informatica

Software di base. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Informatica: il sistema operativo

Informatica: il sistema operativo pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 6 ottobre 2006 Il software Il software è l insieme dei programmi che operano sul calcolatore Software

Dettagli

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU Il sistema operativo Sistema operativo Gestione della CPU Primi elaboratori: Monoprogrammati: un solo programma in memoria centrale Privi di sistema operativo Gestione dell hardware da parte degli utenti

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Il software. la parte contro cui si può solo imprecare. Il software

Il software. la parte contro cui si può solo imprecare. Il software 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

Dettagli

Strutture di Memoria 1

Strutture di Memoria 1 Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: 1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 4-Panoramica delle generazioni 1 Prerequisiti Monoprogrammazione e multiprogrammazione Multielaborazione Linguaggio macchina Linguaggi di programmazione e compilatori Struttura

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

Dettagli

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO NOME: COGNOME: LAUREA IN: ABILITAZIONI CONSEGUITE: ESPERIENZE DIDATTICHE

Dettagli

Architettura dei calcolatori I parte Introduzione, CPU

Architettura dei calcolatori I parte Introduzione, CPU Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Il computer: primi elementi

Il computer: primi elementi Il computer: primi elementi Tommaso Motta T. Motta Il computer: primi elementi 1 Informazioni Computer = mezzo per memorizzare, elaborare, comunicare e trasmettere le informazioni Tutte le informazioni

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

CdL in Medicina Veterinaria - STPA AA 2007-08

CdL in Medicina Veterinaria - STPA AA 2007-08 CdL in Medicina Veterinaria - STPA AA 2007-08 Il Sistema Operativo Architettura del Software Software = insieme (complesso) di programmi. Organizzazione a strati, ciascuno con funzionalità di livello più

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS 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:

Dettagli

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.

Dettagli

Gerarchia delle memorie

Gerarchia delle memorie Memorie Gerarchia delle memorie Cache CPU Centrale Massa Distanza Capacità Tempi di accesso Costo 2 1 Le memorie centrali Nella macchina di Von Neumann, le istruzioni e i dati sono contenute in una memoria

Dettagli

Memoria Secondaria o di Massa

Memoria Secondaria o di Massa .. Pacman ha una velocità che dipende dal processore...quindi cambiando computer va più velocemente..sarà poi vero? Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici,

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

CONCETTI BASE dell'informatica Cose che non si possono non sapere! CONCETTI BASE dell'informatica Cose che non si possono non sapere! Pablo Genova I. I. S. Angelo Omodeo Mortara A. S. 2015 2016 COS'E' UN COMPUTER? È una macchina elettronica programmabile costituita da

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Sistemi Operativi (modulo di Informatica II) I processi

Sistemi Operativi (modulo di Informatica II) I processi Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto

Dettagli

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU (CENTRAL PROCESSING UNIT) Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento Programmi e dati risiedono in file memorizzati in memoria secondaria. Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella

Dettagli

Architettura hardware

Architettura hardware Ricapitolando Architettura hardware la parte che si può prendere a calci Il funzionamento di un elaboratore dipende da due fattori principali 1) dalla capacità di memorizzare i programmi e i dati 2) dalla

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento o Programmi e dati risiedono in file memorizzati in memoria secondaria. o Per essere eseguiti (i programmi) e usati (i dati) vengono copiati

Dettagli

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1 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

Dettagli

Cos e` un Sistema Operativo? Cos è un sistema operativo?

Cos e` un Sistema Operativo? Cos è un sistema operativo? Cos e` un Sistema Operativo? È un programma (o un insieme di programmi) che agisce come intermediario tra l utente e l hardware del computer: fornisce un ambiente di sviluppo e di esecuzione per i programmi

Dettagli