Your SlideShare is downloading. ×
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Elaborazione automatica dei dati: calcolatore e matlab

773

Published on

Appunti universitari per l'esame di Elaborazione automatica dei dati: calcolatore e matlab

Appunti universitari per l'esame di Elaborazione automatica dei dati: calcolatore e matlab

Published in: Education, Technology, Business
1 Comment
0 Likes
Statistics
Notes
  • avviso ai naviganti
    per scaricare i file degli appunti universitari:
    1. cercare profstudio su un motore di ricerca
    2. oppure, andare su http://profland.altervista.org e cliccare sulla sezione ’appunti universitari’
    3. se volete comunicare con me conviene andare su: http://profland.altervista.org/mail.htm

    :)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
773
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
1
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Il Mache-Mazz -il calcolatore e matlab Autori: *||
  • 2. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Si ricorda che: • luso degli appunti qui presenti è consentito per solo uso personale e di studio; • la consultazione è gratuita ed ogni forma atta a ricavarne lucro è vietata! • gli appunti sono fatti da studenti che non possono assumersi nessuna responsabilità in merito; • il materiale qui presente non è sostitutivo ma complementare ai libri di testo: • - devi (e ti consiglio) di consultare e comprare i libri di testo; • il materiale qui presente è distribuito con licenza Creative CommonsTi ricordo che se vuoi contribuire mandando degli appunti o quantaltro possa essere utilead altri puoi farlo inviando il materiale tramite: http://profland.altervista.org/mail.htmSpero che ciò che hai scaricato ti possa essere utile.Profman Il file è stato scaricato/visualizzato in forma gratuita da Profland: http://profland.altervista.org sezione Profstudio http://profland.altervista.org/profstudio/profstudio.htm oppure da qualche mirror, come: www.profland.cjb.net www.profland.135.it o dalla pagina dedicata su slideshare.net: www.slideshare.net/profman 2/35
  • 3. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Organizzazione del File System limitatezza della memoria incapacità di memorizzare grosse quantità di informazioni i programmi più voluminosi (ad es. i compilatori) venivano conservati su schede a caricati in memoria solo quando necessario ••• • ••• • • • •• • • ••• • • • ••• • ••• • ••• • • •• • • MEMORIA DI MASSA ••• Stabilità Minor costo per bit • • • ••• ••• • ••• • • • Maggiore capacità •• • • Più lento tempo di ••• accesso • • • ••• MEMORIA CENTRALELa CPU non può manipolare informazioni direttamente nella memoria dimassa. Queste devono essere prima trasferite in memoria centrale → necessitàdi un programma per automatizzare il trasferimento dei programmi dallamemoria di massa alla memoria centrale.L’utente deve dividere il programma in pezzi (pagine) per tenere in memoriacentrale solo l’istruzione in esecuzione ed un certo numero di quelle cheseguono. 3/35
  • 4. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgMEMORIA CENTRALE MEMORIA AUSILIARIA parte residente del sistema operativo Programma Utente PAGING SISTEMA OPERATIVO page 2 PROGRAMMA UTENTE DIVISO IN PAGINEL’efficienza del computer può essere migliorata in manierasignificativa da: programmi finalizzati a migliorare la gestione della memoria.Windows non è il migliore sistema operativo sotto questo punto divista! le capacità della memoria centraleSe queste sono molto elevate, il paging tra i programmi si riduce inmaniera sensibileOgni sistema operativo organizzativo organizza logicamente il proprioarchivio in un certo modo, creando il file system. FILE → raggruppamento logico di bit organizzati in un certo modo e delimitati da un carattere di “END OF FILE”Il file system è una struttura ad albero. 4/35
  • 5. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org ROOT (RADICE) = PUNTO DI RIFERIMENTO     file e cartelle    file e cartelle …….………….(continua)Ciascuno di questi oggetti (file e cartelle) ha un suo nome, in modoche possa essere identificato in base alla catena dei nomi deglioggetti che lo precedono. Il concetto di nomenclatura non è assoluto, ma è relativo allaposizione, per cui posso avere: ROOT (RADICE)  a b c d a b abcdef …….………….(continua)Il nome del file è corredato dall’estensione che ne qualifica ilcontenuto. L’estensione è molto importante perché identifica ilprogramma in grado di interpretare le informazioni contenute nelfile 5/35
  • 6. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org SISTEMA OPERATIVO Programmi per la gestione delle memorie SCHEDULER Programmi per la gestione dell’I/O Programmi per la sincronizzazione tra CPU e canale Programma caricatore Programma traduttore HARDWARE AVVIO DEL COMPUTER  la memoria centrale è vuota la memoria di massa è intoccabile fino a quando in memoria centrale non cisono dei programmi in grado di leggerla Sorge l’esigenza di una terza memoria, di tipo operativo e quindi classificabilecome memoria centrale, che abbia la caratteristica tecnologica di noncancellarsi, contenente le istruzioni che ordinano al computer di leggere illoader Questa memoria non volatile è detta ROM (Read Only Memory → Memoria di Sola Lettura)La memoria volatile è invece detta RAM (Random Access Memory, Memoriaad Accesso Diretto): ogni locazione di memoria può essere raggiuntaindifferentemente dalle altre.I registri sono strutture di memoria presenti nella CPU; essi memorizzano idati che l’ALU deve utilizzare. 6/35
  • 7. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgRecentemente sono state introdotte alcune aree di memoria a rapidissimoaccesso (cache memory) per memorizzare i dati più frequentemente utilizzati. Memoria centrale Unità logico-aritmetica Cache memory somme registri moltiplicazioni VELOCITA’ CAPACITA’ Registri 10-9sec Da 16 a 512 Kb Cache memory 10-8sec Da 256 kb a 1Mb Memoria Centrale 10-7sec Da 16 a 512 Mb Memoria di massa 10-7sec Gigabytes Perché non utilizziamo soltanto i registri, che sono i più veloci?Per motivi di costo. La tecnologia alla base di una memoria più veloce è piùcostosa! Il sistema operativo è un insieme di file organizzati in questo modo, posizionati su una memoria di massa.Quando viene avviato il computer, alcuni file del sistema operativo vengonocaricati in memoria centrale (tutti i programmi senza i quali il sistema noncammina proprio: il kerner del sistema operativo: programmi per la gestionedella memoria(paging), caricatori, gestori dell’I/O, …), altri file rimangono inmemoria di massa, pronti ad essere presi qualora se ne presenti la necessità. 7/35
  • 8. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Nozioni di HardwareLa parte fisica del computer è basata sulla scheda madre che è il cuore ditutto il sistema e caratterizza in maniera significativa le prestazioni. Essa è dotata di vari connettori per le varie componenti della macchina: - i bus - la cpu integrata (ALU e UC) - la RAM - la ROM - la cache - i chipset - gli slot di espansioneI busPermettono il trasferimento delle informazione tra la memoria centrale e leunità di I/O. Le prestazioni del bus dipendono essenzialmente dal numero di lineedel bus (che rappresentano quanti bit vengono trasferiti ad ogni clock) e lavelocità con cui questo trasferimento avviene.Dal punto di vista tecnologico distinguiamo: - bus per i datiÈ LA VERA E PROPRIA AUTOSTRADA DEL COMPUTER, POICHÉ GESTISCE IL MAGGIOREFLUSSO INFORMATIVO - bus per gli indirizziLA SUAAMPIEZZA DETERMINA LA CAPACITÀ DI INDIRIZZAMENTO DEL COMPUTER. SE 16QUESTO BUS FOSSE A 16 BIT, È POSSIBILE INDIRIZZARE FINO A 2 ALLOC AZIONI DIMEMORIA; UNA MEMORIA PIÙ GRANDE NON SAREBBE RAGGIUNGIBILE SE NON CONPARTICOLARI ACCORGIMENTI (ES. INDIRIZZI DIFFERENZIATI) CHE RIDUCONO LE 32PRESTAZIONI. CON UN BUS A 32 BIT, DIVENTA POSSIBILE ALLOCARE 2 ALLOC AZIONIDI MEMORIA, PARI A CA. 4 GBYTE.È POSSIBILE DISPORRE DI HD DI DIMENSIONI SUPERIORI A 4 GBYTE, PERCHÉL’INDIRIZZAMENTO NON SI RIFERISCE A CIASCUN SINGOLO OGGETTO, MA AD UNGRUPPO DI OGGETTI. - bus per i comandi di controlloLa CPU integrataLa filosofia di INTEL è la filosofia del vero microprocessore (sono loro che lohanno inventato e che dispongono del maggior potere di mercato). Lafilosofia di ATHLON è la traduzione, a livello di PC, dei calcolatori delleworkstation La velocità dei è aumentata per effetto: 8/35
  • 9. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org - dell’aumento della frequenza (Mhz) - dell’aumento del set di istruzioni contenute nel singolo processore1 → Nel 1971 un chip conteneva ca. 2200 transistor; oggi ne contiene ca. 40 milioni, raddoppiandosi praticamente ogni anno. Il problema principale connesso a tale tipo di evoluzione è connesso allo smaltimento del calore.La RAM è composta da moduli presenti sulla scheda madre.Attualmente, tali moduli si distinguono in: - SIMM (Single Indline Memory Module) - DIMM (Double Indline Memory Module) - RIMMI moduli SIMM furono prodotti per bus di dati a 32 bit. 1 modulo DIMMBUS a 64 bit 2 moduli SIMMAumenta la velocità del BUS → RIMMDal punto di vista tecnologico, la RAM si può classificare in: - Dynamic RAM (DRAM) → i bit della memoria mantengono i dati solo per breve periodo e devono essere quindi aggiornate continuamente (refresh*); ha una velocità di accesso da 5 a 1 milionesimi di secondo, equivalenti a frequenze da 133 a 800 Mhz Ci sono vari tipi di DRAM. In particolare, la SDRAM (Syncronus DRAM) sincronizzata al clock della CPU è attualmente la più utilizzata. - Static RAM (SRAM) → Conserva i dati senza bisogno di referesh ed ha una velocità di accesso più elevata.Essendo più costosa, viene utilizzata essenzialmente per la cache.* Il refresh, la frequenza con la quale viene aggiornata la RAM, è unparametro molto importante per le prestazioni del computer. Se il tempo direfresh è molto basso, la velocità ↓ perché si perde molto tempo per fare icontinui refresh; se è troppo alto, alcuni allocazioni di memoria potrebberoperdere il loro contenuto. Il valore di questo parametro, contenuto nel BIOS, è generalmenteimpostato su valori molto bassi dalle case costruttrici su valori molto bassi permotivi di sicurezza.1 Implicazioni sull’efficienza dei software 9/35
  • 10. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Sarebbe ottimale individuare il massimo refresh possibile per una certamacchina, oltre il quale si avrebbe una perdita di datiI sistemi operativi, diventando sempre più complessi, richiedono una RAMsempre maggiore perché aumenta il Kerner. Sistema operativo RAM consigliata MS/DOS 64 Mbyte Windows 128 MbyteIl BIOS (Basic Input Output System) è un insieme di istruzioni residenti inmodo permanente su ROM, che vengono eseguite all’accensione delcomputer. Il BIOS viene costruito sul chip ROM durante il processo di fabbricazionedel computer. Attualmente la ROM non è più incisa in modo permanente, mapuò essere cancellata e riprogrammata (non si parla più di ROM, ma diEPROM) → possibilità di personalizzare le istruzioni del BIOS.È un’operazione opportuna? Può esserlo.È un’operazione potenzialmente pericolosa? SI. In caso di errore, non partonole istruzioni che permettono l’avvio del computer.La Cache Cache di primo livello - posta nella CPU stessa - molto veloce e più costosa Cache di secondo livello - posta tra la CPU e la scheda madre - meno veloce e meno costosaIl Chipset s’incarica di gestire e coordinare il funzionamento di tutti icomponenti presenti nella motherboard: - controllo I/O - gestione dell’elettronica di dischi e CD-ROM - richieste di interrupt - accessi diretti alla memoriail tipo di chipset da utilizzare dipende dalla CPU2 e dalla scheda madre.Le slot di espansione permettono di ampliare le capacità della macchina.Sono alloggiamenti posti sulla scheda madre che permettono l’installazione diinterfacce hardware o schede per il collegamento con le periferiche (scheda2 Il chipset deve obbedire al processore 10/35
  • 11. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgaudio, scheda grafica, etc…) Perché utilizziamo questa filosofia? Per avere unamaggiore flessibilità nella gestione delle periferiche.Le porte servono per il trasferimento di informazioni tra la CPU e le unità diI/O. In base all’ampiezza di banda della trasmissione, distinguiamo:  Porte seriali, che inviano 1 bit alla volta  Porte parallele, che inviano 8 bit (1 byte) alla voltaQueste porte si rivolgono a una sola apparecchiatura. Con l’esigenza dicollegare il computer a un numero elevato di apparecchiature, sono nate porteche gestiscono più apparecchiature; esse, in ordine decrescente di efficienza edi costo, sono:  Porte SCSI  Porte USB  Porte FirewareLa memoria di massa sono supporti di vario tipo (magnetico, ottico, …)utilizzati per archiviare informazioni.La tecnologia magnetica (tipicamente usata su HD, Floppy Disk e nastrimagnetici) consiste nella capacità di indurre, con una certa sostanza, un campomagnetico; ciò genera la capacità di scriverlo e di leggerlo.La tecnologia ottica (tipicamente usata su CD-R e CD-ROM) consiste nellacapacità di vedere la presenza o l’assenza di scanalature su una certa superficie,utilizzando un raggio laser. Mentre la tecnologia magnetica è reversibile (salvo la degradazione deimateriali) la tecnologia ottica si caratterizza per una diversità tecnica tra letturae scrittura.ORDINAMENTO PER STABILITA’ (CRESCENTE) floppy disk hard disk CD-R CD-ROMGli archivi non sono infinitamente nel tempo → qualora fosse necessarioarchiviare dati molto preziosi, è opportuno salvarli ogni tanto.Le memorie allo stato solido sono costruite su chip in grado di registrare i datiin modo permanente. Ad esempio le PC card, grandi come carte di credito,sono memorie di questo tipo.VANTAGGI: velocità di accesso (il disco gira) 11/35
  • 12. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org facilità di rimozione piccolo ingombroSCHERMO Tecnologia del tubo catodico → proiezione di raggi Tecnologia dei cristalli liquidi → trasformazione della luminosità in base aicampi elettrici (Vantaggi: spazio ridotto; assenza di campi elettromagnetici)Caratteristiche dello schermo: DIMENSIONE: IN POLLICI, MISURATI LUNGO LA CURVATURA DELLA DIAGONALE RISOLUZIONE: NUMERO DI PIXELIl pixel (picture element) è l’elemento in cui viene suddivisa la superficie delloschermo. Ad ogni pixel viene assegnato un indirizzo (bit mapping) che loindividua univocamente per modificarne il colore o l’intensità. NUMERO DI COLORI (DA 2 A 16,7MILIONI)Lo schermo si interfaccia con la motherboard mediante una scheda video le cuicapacità elaborative e di memoria condizionano sia la risoluzione sia il numerodi colori. Quantità minima di RAM video per numero di colori 512 kb 2 Mb 4 Mb 8 Mb 16 256 65.000 16.700.000Altre periferiche di I/O tastiera mouse microfono sintetizzatore vocalePermette la trasformazione di un’informazione digitale in un segnale sonoro.(NAPOLI) È qualcosa di più raffinato di un registratore. 12/35
  • 13. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org I SISTEMI OPERATIVILa macchina da sola non funziona. Ha bisogno dei sistemi operativi !Il sistema operativo più utilizzato è Windows, quello diffuso dallaMicrosoft.L’architettura dei calcolatori attuali è la stessa dei primi calcolatori(fine anni 40) Macchina di VON NEUMANN Unità di controllo Unità logico-aritmetica Unità di Memoria Unità di input output Flusso dei dati flusso delle informazioni Agli albori, il computer era una macchina piuttosto grande, basatasulla tecnologia delle valvole termoioniche che facevano passare lacorrente in un verso pilotato. Poi si è passati al transistor, di dimensioniben più ridotte ed infine al circuito integrato, con la presenza di piùtransistor su un singolo chip.La memoria di un computer spento non contiene niente. 13/35
  • 14. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgLe capacità mnemoniche della memoria di un computer sono vincolatealla presenza di un campo elettrico. Se il campo elettrico è assente, lamemoria non contiene niente.Passi logici per il calcolo della soluzione di un problema 1. preparare il programma in linguaggio macchina 2. memorizzare istruzioni e dati 3. far eseguire il programma 4. estrarre il risultato dalla memoria Passo 1Il computer in quanto tale, acceso, non può funzionare perché glimancano i comandi (non la capacità di eseguirli). È ovvio, quindi, che ilprimo passo per il calcolo della soluzione di un problema consiste nelpreparare il programma in linguaggio macchina. Il linguaggio macchina viene scritto su un supporto esterno alcomputer, che poi il computer potesse leggere.Storicamente, uno dei primi strumenti per l’immissione di dati alcomputer erano le schede perforate: cartoncini perforati in manieraopportuna da macchine perforatrici, codificati secondo il linguaggiomacchina.Ogni colonna era una stringhetta di 0 e 1, secondo un certo codice(Hollerit, BCD, etc….)Quest’idea non era molto originale. Già nell’Ottocento c’eranomacchine elettromeccaniche che funzionavano pilotate da schedemeccaniche. Le schede passavano su un foro, attivando o meno uncontatto, implicando di fare o non fare certe cose. Passo 2Fatto questo, il programma deve essere trasferito dal lettore di schedealla memoria del calcolatore. Sorge quindi la necessità di unProgramma caricatore (LOADER)      MEMORIA     Programma caricatore  14/35
  • 15. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org           Programma utenteC’è una sorta di paradosso. Per poter dare istruzioni al computer devodare istruzioni al computer di caricarle!A prescindere dal programma utilizzato per la risoluzione di unproblema, è necessario disporre di un programma che insegni alcomputer come caricare le istruzioni. Questo programma deve stareprecedentemente in memoria, altrimenti il processore non è in gradodi caricare le istruzioni. Passo 3Una volta eseguito il programma, i risultati rimangono in memoria.        MEMORIA      DATI Passo 4Bisogna dire al computer, attraverso un altro programma, comeestrarre il risultato.All’epoca il risultato veniva trascritto su altre schede (o nastri)perforati mediante un perforatore.Le schede dovevano essere successivamente interpretate da un’unitàesterna al computer. 15/35
  • 16. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgEsigenza di start-up (il computer dev’essere inizializzato)All’epoca, l’utente caricava “a mano” il loader, ovvero intervenivamaterialmente su alcune celle di memoria facendo uso di interruttoriposti sull’esterno.Ogni singolo utente, per poter caricare il proprio programma inmemoria, deve prima memorizzare il programma caricatore         dati             programma caricatore             programma utente   Già all’epoca si era sviluppata la necessità che il programma caricatorefosse una utility comune a tutti i programmi utente.La presenza di un programma caricatore disponibile a tutti gli utenticostituì il primo embrione di SISTEMA OPERATIVO (o software di base3) Programma caricatore: programmi di tipo generale, senza dei quali il computer non HARDWARE parte FINE ANNI 50 introduzione di linguaggi ad alto livello necessità di programmi traduttoriFASE 1: caricamento del traduttore3 Questo termine ha poi assunto una valenza più ampia 16/35
  • 17. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org         Programma traduttore    Prima di caricare il programma MEMORIA utente, è necessario caricare il programma traduttoreFASE 2: traduzione del programma         Programma utente    MEMORIA            Programma in linguaggio macchina caricamento programma utente traduzione programma utente il risultato (il programma in linguaggio macchina) non potevaessere lasciato in memoria, ma doveva essere scaricato su schede equindi rimesso in memoria All’epoca, il traduttore era di filosofia interprete o i filosofiacompilativa ?Compilativa, poiché si ha la traduzione dell’intero pacchetto !Ciò era molto noioso! In caso di errore, era necessario correggere lascheda ad alto livello, rilanciare il processo ed ottenere un nuovopacchetto di schede perforate; un’ulteriore traduzione implicava uncosto aggiuntivo. SISTEMA OPERATIVO Programma traduttore SISTEMA OPERATIVO 17/35
  • 18. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Programma caricatore HARDWARENegli anni 50 il sistema operativo si arricchisce di una serie diprogrammi dedicati alla traduzione (Algor, Cobol, rispettivamente dinatura matematica e commerciale, altri…)I passi 2. (input) e 4. (output), eseguiti manualmente emeccanicamente, sono molto più lenti rispetto al passo 3. (esecuzione)Non viene sfruttata in pieno la velocità operativa della CPU e vienerallentato l’intero processo ISTRUZIONE cpu attivazion    DI e   STAMPA   stampante     PROGRAMMA UTENTE MEMORIA CPU I/O tMentre viene eseguita l’istruzione di stampa, la CPU resta inattivaPer rendere questo processo più efficiente si è corollata la CPU diun”unità pensante” indipendente (il canale di I/O) che gestisca l’I/O, inmodo che la CPU esegua un’istruzione successiva. 18/35
  • 19. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org ISTRUZIONE      DI STAMPA Canale   I/  O    PROGRAMMA UTENTE I/ O CPUIl canale può essere visto come un calcolatore indipendente dalla CPU cheprovvede a gestire l’I/O mentre la CPU esegue il programma utenteIl canale è a corredo del computer e non della stampante, perché sonoi produttori del computer ad avere maggior potere di mercato. GESTIONE MEDIANTE BUS BUS memoria canale I/O I/O I/OVantaggio:Flessibilità: posso avere un numero molto elevato di unità I/O che nonnecessariamente connetto GESTIONE A STELLA I/O memoria canale I/OVantaggio: 19/35
  • 20. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgLe unità di I/O comunicano direttamente con il canale.Su una macchina specializzata il cui unico output è la guida missilisticasi utilizza una gestione a stella. Su un PC le cui unità di I/O non sonostabilite nel tempo, si utilizza una gestione mediante bus.Il sistema operativo si arricchisce ancora! SISTEMA OPERATIVO Programmi per la SISTEMA OPERATIVO gestione dell’I/O Programmi per la sincronizzazione tra CPU e canale Programma caricatore Programma traduttore HARDWARE Anni 60L’introduzione dei canali di I/O consente l’uso della CPU da parte dipiù programmi in modo che, quando per determinati motivi(es. I/O) un certo programma non fa lavorare la CPU, questa faràlavorare un altro programma Quando un programma effettua un’operazione di I/O l’uso della CPU passa ad un CPU altro programma I/O 20/35
  • 21. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org t progr. 1 progr. 2 MULTIPROGRAMMAZIONECapacità del sistema operativo di far condividere a più programmi l’uso della CPU USO EFFICIENTE DELLA CPUPermettere una commutazione solo sulla base delle istruzioni di I/Opotrebbe essere non efficiente. I programmi in coda attendono lunghiperiodi di tempo nell’attesa dell’istruzione di I/O del programma chesta utilizzando la CPU → il processo mediante il quale si passa da unprogramma all’altro non segue banalmente una filosofia a interruttore,ma richiede una strategia. Occorre pertanto un programma che gestiscela multiprogrammazione secondo un certo criterio.SOLUZIONE FILOSOFIA DEL TIME SHARINGAd ogni programma viene assegnato un tempo massimo di utilizzodella CPU (time slice). Naturalmente, questo tempo non è costante perogni programma, ma varia da programma a programma. Ai programmipiù importanti vengono assegnati time slice più elevati.Esempio: multiprogrammazione senza time sharing Tempo CPU Tempo I/O Progr. 1 15 1 Progr. 2 2 2CPUI/O 21/35
  • 22. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org 15 17 Il programma 2 attende 15 unità di tempoEsempio: multiprogrammazione con time sharing (time slice = 3 unità)CPUI/O 3 5 17 Il programma 2 attende solo 3 unità di tempo Ogni programma può utilizzare la CPU finchè non si verifica una delle seguenti condizioni: 1. il programma finisce 2. il programma va in errore 3. è richiesta un’operazione di I/O 4. è terminato il tempo assegnatoIl programma per la gestione della multiprogrammazione non decidesolo se affidare o meno la CPU ad un certo programma, ma decideanche cosa si deve fare di questo programma nel momento in cui siverifica una delle sopraindicate condizioni. Casi 1 e 2: il programma è eliminato dalla memoria Casi 3 e 4: il programma è sospeso, cioè mantenuto in memoriaIl mantenimento in memoria è un mantenimento costoso; se lamemoria è esageratamente occupata da un programma sospeso, puòdivenire opportuno scaricarlo per riprenderlo in seguito. 22/35
  • 23. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Per decidere quale programma passare in memoria quando diversiprogrammi sono in attesa bisogna stabilire un ordine di accesso alla CPU. Il programma incaricato di stabilire tale ordine è lo SCHEDULERI fattori di cui esso tiene conto sono: memoria richiesta dai programmi tempo di CPU richiesto dai programmi tipo del programma (di utente o di sistema) tipo di utente (utente qualunque o gestore del sistema) uso recente della CPULo scheduler assegna ad ogni programma un numero che determina ilcriterio di precedenza nell’utilizzo della CPU. In particolare: poca memoria e poco tempo di CPU hanno priorità più alta programmi di sistema hanno priorità più alta rispetto ai programmi di utente SISTEMA OPERATIVO SCHEDULER SISTEMA OPERATIVO Programmi per la gestione dell’I/O Programmi per la sincronizzazione tra CPU e canale Programma caricatore Programma traduttore HARDWAREOgni sistema operativo ha un proprio linguaggio di comando, checonsente la comunicazione con l’esterno. 23/35
  • 24. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgOgni frase del linguaggio di comando è una richiesta al sistemaoperativo di esecuzione di una particolare operazione ESEMPI DI COMANDI AL SISTEMA OPERATIVO UNIX MS/DOS ls dir Lista dei file (dell’archivio), secondo un qualche criterio cp copy Copia dei file rm dolete Cancellazione di un file cat type Lista il contenuto di un file f77 fl Compilazione Fortran Poiché il file system presenta una struttura ad albero, le richieste afferiscono alla posizione nella quale si è ideologicamente collocati. Ogni richiesta al sistema operativo comporta le seguenti azioni: • interpretare le frasi del linguaggio di comando • individuare il programma di sistema che soddisfa la richiesta • caricare tale programma in memoria centrale • far eseguire il programma • restituire il controllo per rispondere ad altre richiesteTali azioni sono eseguite da un programma del sistema operativo:l’interprete del linguaggio di comando.Recentemente sono state introdotte delle interfacce grafiche ai comandidel sistema operativo, per facilitarne l’uso.In assenza di queste, l’utente dovrebbe apprendere la sintassi di tutti icomandi; viceversa, egli interagisce con l’interfaccia, ed è quest’ultimache parla con l’interprete, i quali attivano i vari programmi di utilità,…. UTENTE SISTEMA OPERATIVO interfaccia grafica 24/35
  • 25. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org INTERPRETE      PROGRAMMI DI UILITA’ NUCLEO HARDWARE (L’utente è molto lontano dall’hardware)Le prime interfacce si appoggiano direttamente a un sistema operativo.Le nuove interfacce sono parte integrata del sistema operativo stesso.L’utente è parzialmente dispensato dalla conoscenza della sintassi deicomandi.Il problema dell’interfaccia è la riduzione della flessibilità connessa allastandardizzazione delle operazioni; per eseguire un’operazioneparticolare, occorre comunque conoscere la sintassi dei comandi.Esistono 2 tipi di sistemi operativi:MONOUTENTE (es. MS/DOS)  Il sistema operativo permette ad un solo utente l’accesso alle risorse della macchina  L’utente ha immediato accesso al sistema, salvo eventuali controlli Personal computerMULTIUTENTE (es. UNIX)  Il sistema operativo permette a più utenti l’accesso alle risorse della macchina  L’utente è obbligato a dichiarare la propria identità prima di qualunque richiesta al sistema operativo. FASE DI LOGIN: username, password 25/35
  • 26. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org   terminali Evoluzione dei sistemi operativi1945: primo calcolatore elettronico (ENIAC)1949: primo calcolatore capace di memorizzare programmianni 50: primi sistemi operativi1957: primo linguaggio ad alto livello (FORTRAN)1960-65: introduzione della multiprogrammazione e del time sharingfine anni 60: introduzione della memoria virtualeanni 80: interfacce graficheAgli inizi il computer poteva essere utilizzato solo da personalespecializzato.L’aspirazione (non raggiunta) dei sistemi operativi è di rendere lamacchina qualcosa di estremamente flessibile, disponibile afronteggiare le esigenze di vari tipi di utente (ricercatori, segreterie,…).Per raggiungere questi obiettivi, sono stati aggiunti molti ortellicircostanti che hanno appesantito il sistema operativo e checontengono degli errori. 26/35
  • 27. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgStrumenti per lo sviluppo di software  COMPILATORI PER LA SCRITTURA DEI PROGRAMMI  PROGRAMMI PER LA RICERCA DEGLI ERRORI (DEBUGGER)  PROGRAMMI PER LA VALUTAZIONE DELLE PRESTAZIONI (TIMER)  PROGRAMMI PER LA SCRITTURA DEI PROGRAMMI UTENTE (EDITOR4)Strumenti per l’office automation  PROGRAMMI PER L’ELABOZIONE DI TESTO E GRAFICA  POSTA ELETTRONICA PER INVIARE E RICEVERE MESSAGGI  AGENDE ELETTRONICHE E CALENDARI ELETTRONICI (DATABASE)Il computer non è un oggetto a sé, ma è collegato in rete conaltri computer.Nei collegamenti a forte livello di integrazione, una macchinavede perfettamente quello che succede su altre macchine.Nei casi di integrazione a livello ridotto, le macchine tra diloro fondamentalmente “si parlano” mantenendosi dueidentità separate.Nelle strutture di calcolo vi sarà una perfetta integrazione tra lemacchine in una rete locale (LAN) per cui ben può aversi che l’utentecollegato con la 1a macchina utilizza un programma residente su una 2amacchina con dei dati residenti su una 3a macchina. Collegamento con il mondo esterno: INTERNET = connessione di più livelli di rete Altre reti nazionali Rete nazionale Reti cittadine4 WORD E’ UN EDITOR? No! È un programma per l’elaborazione di testo e grafica 27/35
  • 28. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Reti locali SISTEMA OPERATIVO Programmi per il trasferimento delle informazioni* Programmi per la gestione delle memorie SCHEDULER Programmi per la gestione dell’I/O Programmi per la sincronizzazione tra CPU e canale Programma caricatore Programma traduttore HARDWARE*Trasferimento dei file (FTP) → informazioni*Collegamento remoto (telnet)→ collegamento ad altre macchine*Browsers (Explorer, Netscape, Mosaic…) → possibilità di accedere ad alcunifile di un’altra machina Accensione del computer (29 gennaio) PasswordIl sistema operativo windows è multiutente, nel senso che più possono operaresulla stessa macchina, in tempi diversi.Vi è un utente privilegiato che ha a disposizione tutte le risorse del sistema, evari “sottoutenti”, che hanno a disposizione risorse limitate. Una filosofia diquesto tipo è legata all’esigenza di tutelare i file del sistema operativo in unastruttura dove operano molte persone. Un pezzo del sistema operativo è caricata in RAM 28/35
  • 29. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Visualizzazione della cartella DESKTOP noi osserviamo un pezzo del disco, ovvero i file (contenenti programmi e dati) che usiamo più di frequente Come si possono visualizzazione le altre cartelle?  Lanciando il programma “esplora risorse”, che visualizza la struttura ad albero del file system  STARTLanciamo i programmi e i file che ci interessano FASI DEL PROCESSO DI RISOLUZIONE DEL PROBLEMA Formulazione del problema P Descrizione di P mediante un modello matematico M(P) Approssimazione di M(P) mediante Metodi numerici Mh(P) 29/35
  • 30. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Sviluppo dell’ Implementazione algoritmo risolutivo dell’algoritmo per Mh(P) in uno specifico ambiente di calcoloNoi utilizziamo il computer per risolvere un problema che siamo ingrado di formulare e di esprimere in termini matematici.Possibili fonti di erroreNon è possibile rappresentare il problema in maniera reale, né tantomeno èpossibile approssimarlo correttamente mediante un metodo numerico. Irisultati delle nostre operazioni contengono intrinsecamente errori chedobbiamo tenere sotto controllo ↓Quando otteniamo la stima di un certo risultato, diviene fondamentale esserein grado di misurare l’errore.È inoltre possibile che il modo in cui vengono fatti i calcoli possa produrre unerrore che aumenti nel corso del processo di calcolo, inficiando tuttal’elaborazione e conducendo a risposte false. La colpa di tutto questo è dovutoal fatto che il computer elabora non numeri, ma numeri macchina, che sonoapprossimati. Dobbiamo essere capaci di riconoscere le cause di errore, distinguendogli errori dovuti all’instabilità dell’algoritmo da quelli dovuti almalcondizionamento del problema.Il passaggio da problema reale P a modello matematico M(P) produce glierrori causati da semplificazioni nella formulazione di M(P).[errore intrinseco]Il modello matematico può riprodurre esattamente l’immagine della realtà?NO. Il modello matematico, essendo un’immagine distorta della realtà, nonpuò che rappresentarla con un certo livello di approssimazione.L’approssimazione dei modelli matematici mediante metodi numerici producegli errori di troncamento analitico.Gli oggetti matematici sono sempre calcolabili? NO. Si pensi a un eventocalcolabile attraverso un certo logaritmo, il quale non potrà essere calcolato inmodo esatto. 30/35
  • 31. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgGli errori di round-off (i più subdoli) sono quelli che si producono nella fase dicalcolo.Dal problema al modelloSi consideri una sbarra di lunghezza L con una sola estremità libera, sottopostaad un carico F applicato alla sola estremità libera, e si voglia calcolarne ladeflessione elastica. L x F yx misura la distanza lungo l’asse della sbarra rispetto all’origine del riferimentocoincidente con l’estremità fissa.y misura la deflessione della sbarra.La descrizione del problema P mediante un modello matematico M(P) implical’individuazione di una formula mediante la quale, a partire da un certo inputsi ottiene un cero output. La deflessione elastica soddisfa l’equazione differenziale: y’’={F(L-x)*[1+(y’)2]3/2}/(E*I)dove:E → costante dipendente dal materialeI → momento di inerziaSi tratta di una formula esatta? NO, ma si tratta di una buona approssimazione della realtà.Questa formula, poiché rende troppo difficile il calcolo viene sostituita daun modello semplificato, che rappresenta la realtà in maniera minore e cherisulta valido solo per “piccoli” valori della forza F → vedi pagg. 12-15 MURLI y’’=F(L-x)/ (E*I)Le polizze vita vengono costruite valutando, in termini probabilistici, il rischiodi vita o di morte degli assicurati; tale valutazione fa uso delle tavole di 31/35
  • 32. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgmortalità che indicano la probabilità che una persona con determinatecaratteristiche (parametri) viva o non viva di qui a una certa data.La formula che calcola la probabilità è molto simile a quella precedentementeutilizzata per il calcolo della deflessione della sbarra.Come spesso accade, due problemi matematici completamente diversi,esaminati da soggetti che hanno culture totalmente diverse, sono risolti conformule simili!Dal modello matematico al modello numericoIn entrambi i casi, nella fase di calcolo possono prodursi errori di round-offdovuti al fatto che l’esponenziale è una funzione trascendente, cioè nonesprimibile in termini di somme e prodotti, mentre l’uomo (e quindi ilcalcolatore) sanno fare solo somme e prodotti.Nasce, pertanto, il problema di trasformare il modello matematico (che risolveil problema reale in modo ± corretto) in un modello numerico.In questo caso, il problema consiste nel trovare un modo per approssimare lafunzione esponenziale attraverso somme e prodotti.Uno strumento di approssimazione è il polinomio di Newton, che traduce inuna funzione (ad esempio l’esponenziale) in un polinomio, esprimibile intermini di somme e prodotti. Introduzione a MatlabMatlab è un linguaggio di programmazione finalizzato al calcoloscientifico. L’utente scrive istruzioni Queste istruzioni vengono convertite in linguaggio macchina, secondo una filosofia interpretativa5 (un comando alla volta)5 Essendo Matlab un linguaggio interattivo. 32/35
  • 33. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgPer eseguire un processo complesso è opportuno scrivere unprogramma, ossia un insieme di istruzioni date in un certo ordinea=3 → a = 3Ho scritto un numero intero (3) o un numero floating point (3.)? floating pointI numeri interi sono usati per contare; sono tutti i numeri interi chevanno da 0 fino a un massimo interoI numeri floating point, invece, sono utilizzati per fare i calcoli; sonocostruiti secondo una logica scientifica (mantissa, esponente).Che differenza c’è tra fare calcoli con i numeri interiE fare calcoli con i numeri reali?  Per la somma non vi è alcuna differenza  Per la differenza non vi è alcuna differenza  Per il prodotto non vi è alcuna differenza  Per la divisione la differenza c’è3/2 = 1,5 secondo la logica dei numeri reali3/2 = 1 secondo la logica dei numeri interiMatlab lavora sempre con i numeri floating point; per poter lavorarecon i numeri interi, glielo devo chiedere esplicitamente. Esistono altri linguaggi di programmazione nei quali se scrivo 3viene considerato numero intero, se scrivo 3. viene consideratonumero reale. Matlab interpreta i numeri, traducendoli in una logica binaria espacchettandoli in una parte esponente e una parte mantissa.È molto importante sapere con quante cifre si lavora. Matlab lavorabloccando ogni numero su due voci di memoria di 32 bit; quindi usacomplessivamente 64 bit per rappresentare un numero. In altre paroleusa la doppia precisione, quindi fa i calcoli con 14 cifre decimali. Ciò significa che i problemi di non rappresentatività nonavverranno praticamente mai. Non c’è nessun problema umano, traquelli che affronteremo, che conduce a risultati superiori a 2 1024 oinferiori a 2-1024. Ovviamente, overflow e underflow potranno essereindotti da errori di calcolo. Se cerchiamo di calcolare una funzione ilcui limite è + ∞ , al crescere di x si genera un overflow; ma non si haalcun reale problema. 33/35
  • 34. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.orgIn generale, i computer quando vanno in overflow si fermano. Matlab,invece, presenta un controllo e comunica per iscritto il segnale di nonerrore (NaN) e va avanti. Ovviamente da quel punto in poi i risultatinon potranno essere esatti.Matlab puòi elaborare tutte i tipi di dati che si possono usare nel computer, ovvero: - numerici interi - numerici reali - logici - letteraliEssenzialmente, opera su dati di tipo numerico reale. Quando, per determinateragioni, ho l’esigenza di operare con un altro tipo di dati, dobbiamo comunicarloesplicitamente. Come si fa? Sintassi con la quale si scrivono i comandi (le istruzioni) Risultato = Comando (nome) (con cui si assegnano i valori)Logica progettuale  Scrivere le istruzioni su supporto cartaceo, prima ancora di lanciare le istruzioni  Scrivere il file di istruzioni in linguaggio MatLab nell’editore ASCII. Questo file, ovviamente, non conterrà solo istruzioni, ma anche costrutti di controllo (cicli e scelte).Il vantaggio dell’utilizzo dell’editor di Matlab, rispetto ad un editor qualunque,consiste nel fatto che i comandi di Matlab sono evidenziati in colore diverso.  Salvare il file con estensione .m  Lanciare il file, che viene interpretato come un file 34/35
  • 35. Appunti d’esameIl Calcolatore e Matlab Visto su: www.profland.altervista.org Il file è stato scaricato/visualizzato in forma gratuita da Profland: http://profland.altervista.org sezione Profstudio http://profland.altervista.org/profstudio/profstudio.htm oppure da qualche mirror, come: www.profland.cjb.net www.profland.135.it o dalla pagina dedicata su slideshare.net: www.slideshare.net/profman 35/35

×