SlideShare uma empresa Scribd logo
1 de 35
Il Mache-Mazz
            -
il calcolatore e matlab

 Autori:   *||
Appunti d’esame
Il Calcolatore e Matlab                                           Visto su: www.profland.altervista.org




    Si ricorda che:

    •   l'uso 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 Commons




Ti ricordo che se vuoi contribuire mandando degli appunti o quant'altro possa essere utile
ad altri puoi farlo inviando il materiale tramite:
                            http://profland.altervista.org/mail.htm

Spero 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
Appunti d’esame
Il 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
               CENTRALE

La CPU non può manipolare informazioni direttamente nella memoria di
massa. Queste devono essere prima trasferite in memoria centrale → necessità
di un programma per automatizzare il trasferimento dei programmi dalla
memoria di massa alla memoria centrale.


L’utente deve dividere il programma in pezzi (pagine) per tenere in memoria
centrale solo l’istruzione in esecuzione ed un certo numero di quelle che
seguono.



                                          3/35
Appunti d’esame
Il Calcolatore e Matlab                            Visto su: www.profland.altervista.org

MEMORIA CENTRALE                               MEMORIA AUSILIARIA


          parte residente
       del sistema operativo

            Programma
              Utente                  PAGING
                                               SISTEMA OPERATIVO
                page 2




                            PROGRAMMA UTENTE DIVISO IN PAGINE

L’efficienza del computer può essere migliorata in maniera
significativa da:
       programmi finalizzati a migliorare la gestione della memoria.
Windows non è il migliore sistema operativo sotto questo punto di
vista!
       le capacità della memoria centrale
Se queste sono molto elevate, il paging tra i programmi si riduce in
maniera sensibile

Ogni sistema operativo organizzativo organizza logicamente il proprio
archivio 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
Appunti d’esame
Il 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 modo
che possa essere identificato in base alla catena dei nomi degli
oggetti che lo precedono.
     Il concetto di nomenclatura non è assoluto, ma è relativo alla
posizione, 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 il
contenuto. L’estensione è molto importante perché identifica il
programma in grado di interpretare le informazioni contenute nel
file




                                  5/35
Appunti d’esame
Il 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 ci
sono dei programmi in grado di leggerla
                                         
Sorge l’esigenza di una terza memoria, di tipo operativo e quindi classificabile
come memoria centrale, che abbia la caratteristica tecnologica di non
cancellarsi, contenente le istruzioni che ordinano al computer di leggere il
loader
                   Questa memoria non volatile è detta ROM
                (Read Only Memory → Memoria di Sola Lettura)

La memoria volatile è invece detta RAM (Random Access Memory, Memoria
ad Accesso Diretto): ogni locazione di memoria può essere raggiunta
indifferentemente dalle altre.

I registri sono strutture di memoria presenti nella CPU; essi memorizzano i
dati che l’ALU deve utilizzare.


                                          6/35
Appunti d’esame
Il Calcolatore e Matlab                                   Visto su: www.profland.altervista.org

Recentemente sono state introdotte alcune aree di memoria a rapidissimo
accesso (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 vengono
caricati in memoria centrale (tutti i programmi senza i quali il sistema non
cammina proprio: il kerner del sistema operativo: programmi per la gestione
della memoria(paging), caricatori, gestori dell’I/O, …), altri file rimangono in
memoria di massa, pronti ad essere presi qualora se ne presenti la necessità.




                                          7/35
Appunti d’esame
Il Calcolatore e Matlab                               Visto su: www.profland.altervista.org


                          Nozioni di Hardware
La parte fisica del computer è basata sulla scheda madre che è il cuore di
tutto 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 espansione

I bus
Permettono il trasferimento delle informazione tra la memoria centrale e le
unità di I/O.
         Le prestazioni del bus dipendono essenzialmente dal numero di linee
del bus (che rappresentano quanti bit vengono trasferiti ad ogni clock) e la
velocità 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 MAGGIORE
FLUSSO INFORMATIVO
    - bus per gli indirizzi
LA SUAAMPIEZZA DETERMINA LA CAPACITÀ DI INDIRIZZAMENTO DEL COMPUTER. SE
                                                           16
QUESTO BUS FOSSE A 16 BIT, È POSSIBILE INDIRIZZARE FINO A 2 ALLOC AZIONI DI
MEMORIA; UNA MEMORIA PIÙ GRANDE NON SAREBBE RAGGIUNGIBILE SE NON CON
PARTICOLARI ACCORGIMENTI (ES. INDIRIZZI DIFFERENZIATI) CHE RIDUCONO LE
                                                                    32
PRESTAZIONI. CON UN BUS A 32 BIT, DIVENTA POSSIBILE ALLOCARE 2 ALLOC AZIONI
DI 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 UN
GRUPPO DI OGGETTI.
    - bus per i comandi di controllo

La CPU integrata
La filosofia di INTEL è la filosofia del vero microprocessore (sono loro che lo
hanno inventato e che dispongono del maggior potere di mercato). La
filosofia di ATHLON è la traduzione, a livello di PC, dei calcolatori delle
workstation
    La velocità dei è aumentata per effetto:

                                      8/35
Appunti d’esame
Il 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)
   - RIMM
I moduli SIMM furono prodotti per bus di dati a 32 bit.

                             1 modulo DIMM
BUS a 64 bit
                          2 moduli SIMM

Aumenta la velocità del BUS → RIMM

Dal 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, è un
parametro molto importante per le prestazioni del computer. Se il tempo di
refresh è molto basso, la velocità ↓ perché si perde molto tempo per fare i
continui refresh; se è troppo alto, alcuni allocazioni di memoria potrebbero
perdere il loro contenuto.
       Il valore di questo parametro, contenuto nel BIOS, è generalmente
impostato su valori molto bassi dalle case costruttrici su valori molto bassi per
motivi di sicurezza.


1
    Implicazioni sull’efficienza dei software

                                                9/35
Appunti d’esame
Il Calcolatore e Matlab                               Visto su: www.profland.altervista.org

     Sarebbe ottimale individuare il massimo refresh possibile per una certa
macchina, oltre il quale si avrebbe una perdita di dati

I sistemi operativi, diventando sempre più complessi, richiedono una RAM
sempre maggiore perché aumenta il Kerner.

                Sistema operativo                    RAM consigliata
                     MS/DOS                             64 Mbyte
                     Windows                           128 Mbyte

Il BIOS (Basic Input Output System) è un insieme di istruzioni residenti in
modo permanente su ROM, che vengono eseguite all’accensione del
computer.
       Il BIOS viene costruito sul chip ROM durante il processo di fabbricazione
del computer. Attualmente la ROM non è più incisa in modo permanente, ma
può essere cancellata e riprogrammata (non si parla più di ROM, ma di
EPROM) → possibilità di personalizzare le istruzioni del BIOS.
È un’operazione opportuna? Può esserlo.
È un’operazione potenzialmente pericolosa? SI. In caso di errore, non partono
le 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 costosa

Il Chipset s’incarica di gestire e coordinare il funzionamento di tutti i
componenti presenti nella motherboard:
     - controllo I/O
     - gestione dell’elettronica di dischi e CD-ROM
     - richieste di interrupt
     - accessi diretti alla memoria
il 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 di
interfacce hardware o schede per il collegamento con le periferiche (scheda

2
    Il chipset deve obbedire al processore

                                             10/35
Appunti d’esame
Il Calcolatore e Matlab                                 Visto su: www.profland.altervista.org

audio, scheda grafica, etc…) Perché utilizziamo questa filosofia? Per avere una
maggiore flessibilità nella gestione delle periferiche.

Le porte servono per il trasferimento di informazioni tra la CPU e le unità di
I/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 volta

Queste porte si rivolgono a una sola apparecchiatura. Con l’esigenza di
collegare il computer a un numero elevato di apparecchiature, sono nate porte
che gestiscono più apparecchiature; esse, in ordine decrescente di efficienza e
di costo, sono:
    Porte SCSI

    Porte USB

    Porte Fireware



La memoria di massa sono supporti di vario tipo (magnetico, ottico, …)
utilizzati per archiviare informazioni.
La tecnologia magnetica (tipicamente usata su HD, Floppy Disk e nastri
magnetici) consiste nella capacità di indurre, con una certa sostanza, un campo
magnetico; ciò genera la capacità di scriverlo e di leggerlo.
La tecnologia ottica (tipicamente usata su CD-R e CD-ROM) consiste nella
capacità 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 dei
materiali) la tecnologia ottica si caratterizza per una diversità tecnica tra lettura
e scrittura.

ORDINAMENTO PER STABILITA’ (CRESCENTE)
    floppy disk
    hard disk
    CD-R
    CD-ROM

Gli archivi non sono infinitamente nel tempo → qualora fosse necessario
archiviare dati molto preziosi, è opportuno salvarli ogni tanto.

Le memorie allo stato solido sono costruite su chip in grado di registrare i dati
in 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
Appunti d’esame
Il Calcolatore e Matlab                                Visto su: www.profland.altervista.org

        facilità di rimozione
        piccolo ingombro

SCHERMO
  Tecnologia del tubo catodico → proiezione di raggi
  Tecnologia dei cristalli liquidi → trasformazione della luminosità in base ai
campi elettrici (Vantaggi: spazio ridotto; assenza di campi elettromagnetici)

Caratteristiche dello schermo:
     DIMENSIONE: IN POLLICI, MISURATI LUNGO LA        CURVATURA DELLA DIAGONALE
     RISOLUZIONE: NUMERO DI PIXEL


Il pixel (picture element) è l’elemento in cui viene suddivisa la superficie dello
schermo. Ad ogni pixel viene assegnato un indirizzo (bit mapping) che lo
individua 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 cui
capacità elaborative e di memoria condizionano sia la risoluzione sia il numero
di colori.

               Quantità minima di RAM video per numero di colori
        512 kb            2 Mb             4 Mb              8 Mb
          16               256            65.000          16.700.000

Altre periferiche di I/O
     tastiera
     mouse
     microfono
     sintetizzatore vocale


Permette la trasformazione di un’informazione digitale in un segnale sonoro.
(NAPOLI) È qualcosa di più raffinato di un registratore.




                                       12/35
Appunti d’esame
Il Calcolatore e Matlab                             Visto su: www.profland.altervista.org




                          I SISTEMI OPERATIVI

La macchina da sola non funziona. Ha bisogno dei sistemi operativi !

Il sistema operativo più utilizzato è Windows, quello diffuso dalla
Microsoft.


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, basata
sulla tecnologia delle valvole termoioniche che facevano passare la
corrente in un verso pilotato. Poi si è passati al transistor, di dimensioni
ben 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
Appunti d’esame
Il Calcolatore e Matlab                         Visto su: www.profland.altervista.org

Le capacità mnemoniche della memoria di un computer sono vincolate
alla presenza di un campo elettrico. Se il campo elettrico è assente, la
memoria 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 1
Il computer in quanto tale, acceso, non può funzionare perché gli
mancano i comandi (non la capacità di eseguirli). È ovvio, quindi, che il
primo passo per il calcolo della soluzione di un problema consiste nel
preparare il programma in linguaggio macchina.
      Il linguaggio macchina viene scritto su un supporto esterno al
computer, che poi il computer potesse leggere.
Storicamente, uno dei primi strumenti per l’immissione di dati al
computer erano le schede perforate: cartoncini perforati in maniera
opportuna da macchine perforatrici, codificati secondo il linguaggio
macchina.
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’erano
macchine elettromeccaniche che funzionavano pilotate da schede
meccaniche. Le schede passavano su un foro, attivando o meno un
contatto, implicando di fare o non fare certe cose.
      Passo 2
Fatto questo, il programma deve essere trasferito dal lettore di schede
alla memoria del calcolatore. Sorge quindi la necessità di un
Programma caricatore (LOADER)
            
                                        MEMORIA
        
       
       
          
Programma caricatore
           
                                  14/35
Appunti d’esame
Il Calcolatore e Matlab                        Visto su: www.profland.altervista.org
           
          
               
             
             
            
Programma utente


C’è una sorta di paradosso. Per poter dare istruzioni al computer devo
dare istruzioni al computer di caricarle!
A prescindere dal programma utilizzato per la risoluzione di un
problema, è necessario disporre di un programma che insegni al
computer come caricare le istruzioni. Questo programma deve stare
precedentemente in memoria, altrimenti il processore non è in grado
di caricare le istruzioni.
   Passo 3
Una volta eseguito il programma, i risultati rimangono in memoria.

                 
                                      MEMORIA
                   
                 
               



                          DATI




      Passo 4
Bisogna dire al computer, attraverso un altro programma, come
estrarre 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
Appunti d’esame
Il Calcolatore e Matlab                                                Visto su: www.profland.altervista.org



Esigenza di start-up (il computer dev’essere inizializzato)
All’epoca, l’utente caricava “a mano” il loader, ovvero interveniva
materialmente su alcune celle di memoria facendo uso di interruttori
posti sull’esterno.
Ogni singolo utente, per poter caricare il proprio programma in
memoria, deve prima memorizzare il programma caricatore
           
           
           
          
                         dati
                   
                   
                   
                   
           
                   
                               programma caricatore
                   
                        
                       
                            
                                    programma utente
                           
                          
Già all’epoca si era sviluppata la necessità che il programma caricatore
fosse una utility comune a tutti i programmi utente.
La presenza di un programma caricatore disponibile a tutti gli utenti
costituì 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 traduttori

FASE 1: caricamento del traduttore
3
    Questo termine ha poi assunto una valenza più ampia

                                                   16/35
Appunti d’esame
Il Calcolatore e Matlab                                    Visto su: www.profland.altervista.org

            
              
                         Programma traduttore
    
 
                                             Prima di caricare il programma
                          MEMORIA            utente, è necessario caricare il
                                             programma traduttore


FASE 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 poteva
essere lasciato in memoria, ma doveva essere scaricato su schede e
quindi rimesso in memoria


       All’epoca, il traduttore era di filosofia interprete o i filosofia
compilativa ?

Compilativa, poiché si ha la traduzione dell’intero pacchetto !
Ciò era molto noioso! In caso di errore, era necessario correggere la
scheda ad alto livello, rilanciare il processo ed ottenere un nuovo
pacchetto di schede perforate; un’ulteriore traduzione implicava un
costo aggiuntivo.

                             SISTEMA OPERATIVO
                                Programma traduttore
                            SISTEMA OPERATIVO
                                         17/35
Appunti d’esame
Il Calcolatore e Matlab                                 Visto su: www.profland.altervista.org




                                 Programma caricatore



                                        HARDWARE


Negli anni 50 il sistema operativo si arricchisce di una serie di
programmi dedicati alla traduzione (Algor, Cobol, rispettivamente di
natura matematica e commerciale, altri…)

I passi 2. (input) e 4. (output), eseguiti manualmente e
meccanicamente, sono molto più lenti rispetto al passo 3. (esecuzione)
Non viene sfruttata in pieno la velocità operativa della CPU e viene
rallentato l’intero processo

                    ISTRUZIONE
                                  cpu         attivazion
                        DI                 e
                     STAMPA
                                            stampante
       
       
      
 PROGRAMMA UTENTE

       MEMORIA


  CPU

   I/O


                                                                     t

Mentre viene eseguita l’istruzione di stampa, la CPU resta inattiva
Per rendere questo processo più efficiente si è corollata la CPU di
un”unità pensante” indipendente (il canale di I/O) che gestisca l’I/O, in
modo che la CPU esegua un’istruzione successiva.

                                          18/35
Appunti d’esame
Il Calcolatore e Matlab                                    Visto su: www.profland.altervista.org


                    ISTRUZIONE
       
      
                 DI
               STAMPA
                                                    Canale
                                                    I/
                                                     O
         
        
      PROGRAMMA UTENTE                                I/
                                                      O

                  CPU
Il canale può essere visto come un calcolatore indipendente dalla CPU che
provvede a gestire l’I/O mentre la CPU esegue il programma utente

Il canale è a corredo del computer e non della stampante, perché sono
i produttori del computer ad avere maggior potere di mercato.


                          GESTIONE MEDIANTE BUS

                                                       BUS
  memoria                          canale


                                                           I/O            I/O           I/O

Vantaggio:
Flessibilità: posso avere un numero molto elevato di unità I/O che non
necessariamente connetto




                                 GESTIONE A STELLA

                                                           I/O
      memoria                        canale
                                                           I/O
Vantaggio:

                                            19/35
Appunti d’esame
Il Calcolatore e Matlab                                      Visto su: www.profland.altervista.org

Le unità di I/O comunicano direttamente con il canale.

Su una macchina specializzata il cui unico output è la guida missilistica
si utilizza una gestione a stella. Su un PC le cui unità di I/O non sono
stabilite 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 60
L’introduzione dei canali di I/O consente l’uso della CPU da parte di
più 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
Appunti d’esame
Il Calcolatore e Matlab                            Visto su: www.profland.altervista.org



                                                        t
                progr. 1
                    progr. 2


                          MULTIPROGRAMMAZIONE
Capacità del sistema operativo di far condividere a più programmi l’uso della CPU


                          USO EFFICIENTE DELLA CPU

Permettere una commutazione solo sulla base delle istruzioni di I/O
potrebbe essere non efficiente. I programmi in coda attendono lunghi
periodi di tempo nell’attesa dell’istruzione di I/O del programma che
sta utilizzando la CPU → il processo mediante il quale si passa da un
programma all’altro non segue banalmente una filosofia a interruttore,
ma richiede una strategia. Occorre pertanto un programma che gestisce
la multiprogrammazione secondo un certo criterio.


SOLUZIONE FILOSOFIA DEL TIME SHARING
Ad ogni programma viene assegnato un tempo massimo di utilizzo
della CPU (time slice). Naturalmente, questo tempo non è costante per
ogni programma, ma varia da programma a programma. Ai programmi
più importanti vengono assegnati time slice più elevati.

Esempio: multiprogrammazione senza time sharing
                                Tempo CPU                   Tempo I/O
          Progr. 1                 15                           1
          Progr. 2                  2                           2




CPU



I/O


                                    21/35
Appunti d’esame
Il Calcolatore e Matlab                         Visto su: www.profland.altervista.org




                           15 17
      Il programma 2 attende 15 unità di tempo


Esempio: multiprogrammazione con time sharing (time slice = 3 unità)


CPU



I/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 assegnato
Il programma per la gestione della multiprogrammazione non decide
solo se affidare o meno la CPU ad un certo programma, ma decide
anche cosa si deve fare di questo programma nel momento in cui si
verifica una delle sopraindicate condizioni.

        Casi 1 e 2: il programma è eliminato dalla memoria
        Casi 3 e 4: il programma è sospeso, cioè mantenuto in memoria

Il mantenimento in memoria è un mantenimento costoso; se la
memoria è esageratamente occupata da un programma sospeso, può
divenire opportuno scaricarlo per riprenderlo in seguito.



                                  22/35
Appunti d’esame
Il Calcolatore e Matlab                                     Visto su: www.profland.altervista.org

  Per decidere quale programma passare in memoria quando diversi
programmi sono in attesa bisogna stabilire un ordine di accesso alla CPU.
    Il programma incaricato di stabilire tale ordine è lo SCHEDULER

I 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 CPU

Lo scheduler assegna ad ogni programma un numero che determina il
criterio 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



                                HARDWARE


Ogni sistema operativo ha un proprio linguaggio di comando, che
consente la comunicazione con l’esterno.


                                        23/35
Appunti d’esame
Il Calcolatore e Matlab                            Visto su: www.profland.altervista.org

Ogni frase del linguaggio di comando è una richiesta al sistema
operativo 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 richieste
Tali azioni sono eseguite da un programma del sistema operativo:
l’interprete del linguaggio di comando.

Recentemente sono state introdotte delle interfacce grafiche ai comandi
del sistema operativo, per facilitarne l’uso.
In assenza di queste, l’utente dovrebbe apprendere la sintassi di tutti i
comandi; viceversa, egli interagisce con l’interfaccia, ed è quest’ultima
che parla con l’interprete, i quali attivano i vari programmi di utilità,
….


                                  UTENTE


                                            SISTEMA OPERATIVO



                             interfaccia grafica


                                    24/35
Appunti d’esame
Il 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 dei
comandi.
Il problema dell’interfaccia è la riduzione della flessibilità connessa alla
standardizzazione delle operazioni; per eseguire un’operazione
particolare, 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
                                                computer
MULTIUTENTE (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
Appunti d’esame
Il Calcolatore e Matlab                            Visto su: www.profland.altervista.org




                              
                                           
                             terminali


                          
Evoluzione dei sistemi operativi
1945: primo calcolatore elettronico (ENIAC)
1949: primo calcolatore capace di memorizzare programmi
anni 50: primi sistemi operativi
1957: primo linguaggio ad alto livello (FORTRAN)
1960-65: introduzione della multiprogrammazione e del time sharing
fine anni 60: introduzione della memoria virtuale
anni 80: interfacce grafiche

Agli inizi il computer poteva essere utilizzato solo da personale
specializzato.

L’aspirazione (non raggiunta) dei sistemi operativi è di rendere la
macchina qualcosa di estremamente flessibile, disponibile a
fronteggiare le esigenze di vari tipi di utente (ricercatori, segreterie,
…).

Per raggiungere questi obiettivi, sono stati aggiunti molti ortelli
circostanti che hanno appesantito il sistema operativo e che
contengono degli errori.


                                   26/35
Appunti d’esame
Il Calcolatore e Matlab                                              Visto su: www.profland.altervista.org


Strumenti 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 con
altri computer.
Nei collegamenti a forte livello di integrazione, una macchina
vede perfettamente quello che succede su altre macchine.
Nei casi di integrazione a livello ridotto, le macchine tra di
loro fondamentalmente “si parlano” mantenendosi due
identità separate.


Nelle strutture di calcolo vi sarà una perfetta integrazione tra le
macchine in una rete locale (LAN) per cui ben può aversi che l’utente
collegato con la 1a macchina utilizza un programma residente su una 2a
macchina 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
                                                                           cittadine
4
    WORD E’ UN EDITOR? No! È un programma per l’elaborazione di testo e grafica

                                                 27/35
Appunti d’esame
Il 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 alcuni
file di un’altra machina

                          Accensione del computer (29 gennaio)


                                      Password
Il sistema operativo windows è multiutente, nel senso che più possono operare
sulla stessa macchina, in tempi diversi.
Vi è un utente privilegiato che ha a disposizione tutte le risorse del sistema, e
vari “sottoutenti”, che hanno a disposizione risorse limitate. Una filosofia di
questo tipo è legata all’esigenza di tutelare i file del sistema operativo in una
struttura dove operano molte persone.


                    Un pezzo del sistema operativo è caricata in RAM
                                            28/35
Appunti d’esame
Il 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
       START


Lanciamo 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
Appunti d’esame
Il Calcolatore e Matlab                               Visto su: www.profland.altervista.org



                   Sviluppo dell’                  Implementazione
                algoritmo risolutivo                dell’algoritmo
                     per Mh(P)                 in uno specifico ambiente
                                                       di calcolo


Noi utilizziamo il computer per risolvere un problema che siamo in
grado di formulare e di esprimere in termini matematici.


Possibili fonti di errore
Non è possibile rappresentare il problema in maniera reale, né tantomeno è
possibile approssimarlo correttamente mediante un metodo numerico. I
risultati delle nostre operazioni contengono intrinsecamente errori che
dobbiamo tenere sotto controllo
                                        ↓
Quando otteniamo la stima di un certo risultato, diviene fondamentale essere
in grado di misurare l’errore.

È inoltre possibile che il modo in cui vengono fatti i calcoli possa produrre un
errore che aumenti nel corso del processo di calcolo, inficiando tutta
l’elaborazione e conducendo a risposte false. La colpa di tutto questo è dovuto
al fatto che il computer elabora non numeri, ma numeri macchina, che sono
approssimati.
       Dobbiamo essere capaci di riconoscere le cause di errore, distinguendo
gli errori dovuti all’instabilità dell’algoritmo da quelli dovuti al
malcondizionamento del problema.

Il passaggio da problema reale P a modello matematico M(P) produce gli
errori 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à, non
può che rappresentarla con un certo livello di approssimazione.

L’approssimazione dei modelli matematici mediante metodi numerici produce
gli errori di troncamento analitico.
Gli oggetti matematici sono sempre calcolabili? NO. Si pensi a un evento
calcolabile attraverso un certo logaritmo, il quale non potrà essere calcolato in
modo esatto.



                                       30/35
Appunti d’esame
Il Calcolatore e Matlab                                Visto su: www.profland.altervista.org

Gli errori di round-off (i più subdoli) sono quelli che si producono nella fase di
calcolo.

Dal problema al modello
Si consideri una sbarra di lunghezza L con una sola estremità libera, sottoposta
ad un carico F applicato alla sola estremità libera, e si voglia calcolarne la
deflessione elastica.

                              L


                          x                                 F

                      y


x misura la distanza lungo l’asse della sbarra rispetto all’origine del riferimento
coincidente con l’estremità fissa.
y misura la deflessione della sbarra.

La descrizione del problema P mediante un modello matematico M(P) implica
l’individuazione di una formula mediante la quale, a partire da un certo input
si 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 materiale
I → momento di inerzia

Si 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 da
un modello semplificato, che rappresenta la realtà in maniera minore e che
risulta 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 rischio
di vita o di morte degli assicurati; tale valutazione fa uso delle tavole di
                                       31/35
Appunti d’esame
Il Calcolatore e Matlab                                 Visto su: www.profland.altervista.org

mortalità che indicano la probabilità che una persona con determinate
caratteristiche (parametri) viva o non viva di qui a una certa data.




La formula che calcola la probabilità è molto simile a quella precedentemente
utilizzata 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 con
formule simili!

Dal modello matematico al modello numerico
In entrambi i casi, nella fase di calcolo possono prodursi errori di round-off
dovuti al fatto che l’esponenziale è una funzione trascendente, cioè non
esprimibile in termini di somme e prodotti, mentre l’uomo (e quindi il
calcolatore) sanno fare solo somme e prodotti.
Nasce, pertanto, il problema di trasformare il modello matematico (che risolve
il problema reale in modo ± corretto) in un modello numerico.
In questo caso, il problema consiste nel trovare un modo per approssimare la
funzione esponenziale attraverso somme e prodotti.

Uno strumento di approssimazione è il polinomio di Newton, che traduce in
una funzione (ad esempio l’esponenziale) in un polinomio, esprimibile in
termini di somme e prodotti.


                  Introduzione a
                      Matlab
Matlab è un linguaggio di programmazione finalizzato al calcolo
scientifico.


         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
Appunti d’esame
Il Calcolatore e Matlab                           Visto su: www.profland.altervista.org

Per eseguire un processo complesso è opportuno scrivere un
programma, ossia un insieme di istruzioni date in un certo ordine

a=3 → a = 3
Ho scritto un numero intero (3) o un numero floating point (3.)?
                             floating point

I numeri interi sono usati per contare; sono tutti i numeri interi che
vanno da 0 fino a un massimo intero
I numeri floating point, invece, sono utilizzati per fare i calcoli; sono
costruiti secondo una logica scientifica (mantissa, esponente).

Che differenza c’è tra fare calcoli con i numeri interi
E 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 reali
3/2 = 1 secondo la logica dei numeri interi

Matlab lavora sempre con i numeri floating point; per poter lavorare
con i numeri interi, glielo devo chiedere esplicitamente.

     Esistono altri linguaggi di programmazione nei quali se scrivo 3
viene considerato numero intero, se scrivo 3. viene considerato
numero reale.

   Matlab interpreta i numeri, traducendoli in una logica binaria e
spacchettandoli in una parte esponente e una parte mantissa.

È molto importante sapere con quante cifre si lavora. Matlab lavora
bloccando ogni numero su due voci di memoria di 32 bit; quindi usa
complessivamente 64 bit per rappresentare un numero. In altre parole
usa la doppia precisione, quindi fa i calcoli con 14 cifre decimali.
      Ciò significa che i problemi di non rappresentatività non
avverranno praticamente mai. Non c’è nessun problema umano, tra
quelli che affronteremo, che conduce a risultati superiori a 2 1024 o
inferiori a 2-1024. Ovviamente, overflow e underflow potranno essere
indotti da errori di calcolo. Se cerchiamo di calcolare una funzione il
cui limite è + ∞ , al crescere di x si genera un overflow; ma non si ha
alcun reale problema.
                                   33/35
Appunti d’esame
Il Calcolatore e Matlab                                  Visto su: www.profland.altervista.org



In generale, i computer quando vanno in overflow si fermano. Matlab,
invece, presenta un controllo e comunica per iscritto il segnale di non
errore (NaN) e va avanti. Ovviamente da quel punto in poi i risultati
non potranno essere esatti.

Matlab puòi elaborare tutte i tipi di dati che si possono usare nel computer, ovvero:
   - numerici interi
   - numerici reali
   - logici
   - letterali
Essenzialmente, opera su dati di tipo numerico reale. Quando, per determinate
ragioni, ho l’esigenza di operare con un altro tipo di dati, dobbiamo comunicarlo
esplicitamente. 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
Appunti d’esame
Il 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

Mais conteúdo relacionado

Semelhante a Elaborazione automatica dei dati: calcolatore e matlab

Modulo1 lezione1
Modulo1 lezione1Modulo1 lezione1
Modulo1 lezione1scipag
 
Architettura elaboratore
Architettura elaboratoreArchitettura elaboratore
Architettura elaboratoreserex86
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheAndrea Dottor
 
Architettura dei Calcolatori 11 Cache
Architettura dei Calcolatori 11 CacheArchitettura dei Calcolatori 11 Cache
Architettura dei Calcolatori 11 CacheMajong DevJfu
 
Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Majong DevJfu
 
Performance dei sistemi di calcolo
Performance dei sistemi di calcoloPerformance dei sistemi di calcolo
Performance dei sistemi di calcoloMajong DevJfu
 
Jvm performance Tuning
Jvm performance TuningJvm performance Tuning
Jvm performance TuningMarco Sabatini
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device DriversFabio Nisci
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Giuseppe Vizzari
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)Giuseppe Vizzari
 

Semelhante a Elaborazione automatica dei dati: calcolatore e matlab (20)

Modulo1 lezione1
Modulo1 lezione1Modulo1 lezione1
Modulo1 lezione1
 
Architettura elaboratore
Architettura elaboratoreArchitettura elaboratore
Architettura elaboratore
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cache
 
PostgreSQL : Tuning
PostgreSQL : TuningPostgreSQL : Tuning
PostgreSQL : Tuning
 
Assemblare un pc
Assemblare un pcAssemblare un pc
Assemblare un pc
 
Ha solutions su power i
Ha solutions su power iHa solutions su power i
Ha solutions su power i
 
Cpu
CpuCpu
Cpu
 
Cpu Abacus
Cpu AbacusCpu Abacus
Cpu Abacus
 
Cpu abacus
Cpu abacusCpu abacus
Cpu abacus
 
Architettura dei Calcolatori 11 Cache
Architettura dei Calcolatori 11 CacheArchitettura dei Calcolatori 11 Cache
Architettura dei Calcolatori 11 Cache
 
Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02Sistemi Operativi: Componenti - Lezione 02
Sistemi Operativi: Componenti - Lezione 02
 
Performance dei sistemi di calcolo
Performance dei sistemi di calcoloPerformance dei sistemi di calcolo
Performance dei sistemi di calcolo
 
Jvm performance Tuning
Jvm performance TuningJvm performance Tuning
Jvm performance Tuning
 
Modulo 1 - Lezione 2
Modulo 1 - Lezione 2Modulo 1 - Lezione 2
Modulo 1 - Lezione 2
 
Linux Device Drivers
Linux Device DriversLinux Device Drivers
Linux Device Drivers
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)
 
Ecm ita
Ecm itaEcm ita
Ecm ita
 
HARDWARE & SOFTWARE
HARDWARE & SOFTWAREHARDWARE & SOFTWARE
HARDWARE & SOFTWARE
 
Personal computer
Personal computerPersonal computer
Personal computer
 

Mais de profman

Belle piume
Belle piumeBelle piume
Belle piumeprofman
 
Greetings from Antartica - Beautè de l'Antarctique
Greetings from Antartica - Beautè de l'AntarctiqueGreetings from Antartica - Beautè de l'Antarctique
Greetings from Antartica - Beautè de l'Antarctiqueprofman
 
Street Creativity
Street CreativityStreet Creativity
Street Creativityprofman
 
Foto spettacolari - Spectaculaire foto’s
Foto spettacolari - Spectaculaire foto’sFoto spettacolari - Spectaculaire foto’s
Foto spettacolari - Spectaculaire foto’sprofman
 
Principi di Diritto costituzionale e Amministrativo
Principi di Diritto costituzionale e AmministrativoPrincipi di Diritto costituzionale e Amministrativo
Principi di Diritto costituzionale e Amministrativoprofman
 
Foto rare - Rare Photos
Foto rare - Rare PhotosFoto rare - Rare Photos
Foto rare - Rare Photosprofman
 
Appunti di Scienza delle finanze
Appunti di Scienza delle finanzeAppunti di Scienza delle finanze
Appunti di Scienza delle finanzeprofman
 
Non disperare
Non disperareNon disperare
Non disperareprofman
 
Vacanze stravaganti Wacky Holidays
Vacanze stravaganti Wacky HolidaysVacanze stravaganti Wacky Holidays
Vacanze stravaganti Wacky Holidaysprofman
 
Appunti di Strategia aziendale: esercizi
Appunti di Strategia aziendale: eserciziAppunti di Strategia aziendale: esercizi
Appunti di Strategia aziendale: eserciziprofman
 
Appunti di Strategia aziendale: lucidi
Appunti di Strategia aziendale: lucidiAppunti di Strategia aziendale: lucidi
Appunti di Strategia aziendale: lucidiprofman
 
Appunti di Strategia aziendale: caso marzotto
Appunti di Strategia aziendale: caso marzottoAppunti di Strategia aziendale: caso marzotto
Appunti di Strategia aziendale: caso marzottoprofman
 
Appunti di Strategia aziendale
Appunti di Strategia aziendaleAppunti di Strategia aziendale
Appunti di Strategia aziendaleprofman
 
Appunti di Storia economica: seminari
Appunti di Storia economica: seminariAppunti di Storia economica: seminari
Appunti di Storia economica: seminariprofman
 
Appunti di Storia economica: rivoluzione industriale
Appunti di Storia economica: rivoluzione industrialeAppunti di Storia economica: rivoluzione industriale
Appunti di Storia economica: rivoluzione industrialeprofman
 
Appunti di Storia economica: economia italiana
Appunti di Storia economica: economia italianaAppunti di Storia economica: economia italiana
Appunti di Storia economica: economia italianaprofman
 
Appunti di Storia economica: economia mondiale
Appunti di Storia economica: economia mondialeAppunti di Storia economica: economia mondiale
Appunti di Storia economica: economia mondialeprofman
 
Appunti di Ragioneria: bilancio civilistico
Appunti di Ragioneria: bilancio civilisticoAppunti di Ragioneria: bilancio civilistico
Appunti di Ragioneria: bilancio civilisticoprofman
 
Appunti di Ragioneria
Appunti di RagioneriaAppunti di Ragioneria
Appunti di Ragioneriaprofman
 
Appunti di Organizzazione aziendale: domande
Appunti di Organizzazione aziendale: domandeAppunti di Organizzazione aziendale: domande
Appunti di Organizzazione aziendale: domandeprofman
 

Mais de profman (20)

Belle piume
Belle piumeBelle piume
Belle piume
 
Greetings from Antartica - Beautè de l'Antarctique
Greetings from Antartica - Beautè de l'AntarctiqueGreetings from Antartica - Beautè de l'Antarctique
Greetings from Antartica - Beautè de l'Antarctique
 
Street Creativity
Street CreativityStreet Creativity
Street Creativity
 
Foto spettacolari - Spectaculaire foto’s
Foto spettacolari - Spectaculaire foto’sFoto spettacolari - Spectaculaire foto’s
Foto spettacolari - Spectaculaire foto’s
 
Principi di Diritto costituzionale e Amministrativo
Principi di Diritto costituzionale e AmministrativoPrincipi di Diritto costituzionale e Amministrativo
Principi di Diritto costituzionale e Amministrativo
 
Foto rare - Rare Photos
Foto rare - Rare PhotosFoto rare - Rare Photos
Foto rare - Rare Photos
 
Appunti di Scienza delle finanze
Appunti di Scienza delle finanzeAppunti di Scienza delle finanze
Appunti di Scienza delle finanze
 
Non disperare
Non disperareNon disperare
Non disperare
 
Vacanze stravaganti Wacky Holidays
Vacanze stravaganti Wacky HolidaysVacanze stravaganti Wacky Holidays
Vacanze stravaganti Wacky Holidays
 
Appunti di Strategia aziendale: esercizi
Appunti di Strategia aziendale: eserciziAppunti di Strategia aziendale: esercizi
Appunti di Strategia aziendale: esercizi
 
Appunti di Strategia aziendale: lucidi
Appunti di Strategia aziendale: lucidiAppunti di Strategia aziendale: lucidi
Appunti di Strategia aziendale: lucidi
 
Appunti di Strategia aziendale: caso marzotto
Appunti di Strategia aziendale: caso marzottoAppunti di Strategia aziendale: caso marzotto
Appunti di Strategia aziendale: caso marzotto
 
Appunti di Strategia aziendale
Appunti di Strategia aziendaleAppunti di Strategia aziendale
Appunti di Strategia aziendale
 
Appunti di Storia economica: seminari
Appunti di Storia economica: seminariAppunti di Storia economica: seminari
Appunti di Storia economica: seminari
 
Appunti di Storia economica: rivoluzione industriale
Appunti di Storia economica: rivoluzione industrialeAppunti di Storia economica: rivoluzione industriale
Appunti di Storia economica: rivoluzione industriale
 
Appunti di Storia economica: economia italiana
Appunti di Storia economica: economia italianaAppunti di Storia economica: economia italiana
Appunti di Storia economica: economia italiana
 
Appunti di Storia economica: economia mondiale
Appunti di Storia economica: economia mondialeAppunti di Storia economica: economia mondiale
Appunti di Storia economica: economia mondiale
 
Appunti di Ragioneria: bilancio civilistico
Appunti di Ragioneria: bilancio civilisticoAppunti di Ragioneria: bilancio civilistico
Appunti di Ragioneria: bilancio civilistico
 
Appunti di Ragioneria
Appunti di RagioneriaAppunti di Ragioneria
Appunti di Ragioneria
 
Appunti di Organizzazione aziendale: domande
Appunti di Organizzazione aziendale: domandeAppunti di Organizzazione aziendale: domande
Appunti di Organizzazione aziendale: domande
 

Último

TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxteccarellilorenzo
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticanico07fusco
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024IISGiovanniVallePado
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxteccarellilorenzo
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxlorenzodemidio01
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfteccarellilorenzo
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...Nguyen Thanh Tu Collection
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxteccarellilorenzo
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxsasaselvatico
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereMarco Chizzali
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 

Último (20)

TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdf
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptx
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 

Elaborazione automatica dei dati: calcolatore e matlab

  • 1. Il Mache-Mazz - il calcolatore e matlab Autori: *||
  • 2. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Si ricorda che: • l'uso 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 Commons Ti ricordo che se vuoi contribuire mandando degli appunti o quant'altro possa essere utile ad altri puoi farlo inviando il materiale tramite: http://profland.altervista.org/mail.htm Spero 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’esame Il 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 CENTRALE La CPU non può manipolare informazioni direttamente nella memoria di massa. Queste devono essere prima trasferite in memoria centrale → necessità di un programma per automatizzare il trasferimento dei programmi dalla memoria di massa alla memoria centrale. L’utente deve dividere il programma in pezzi (pagine) per tenere in memoria centrale solo l’istruzione in esecuzione ed un certo numero di quelle che seguono. 3/35
  • 4. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org MEMORIA CENTRALE MEMORIA AUSILIARIA parte residente del sistema operativo Programma Utente PAGING SISTEMA OPERATIVO page 2 PROGRAMMA UTENTE DIVISO IN PAGINE L’efficienza del computer può essere migliorata in maniera significativa da: programmi finalizzati a migliorare la gestione della memoria. Windows non è il migliore sistema operativo sotto questo punto di vista! le capacità della memoria centrale Se queste sono molto elevate, il paging tra i programmi si riduce in maniera sensibile Ogni sistema operativo organizzativo organizza logicamente il proprio archivio 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’esame Il 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 modo che possa essere identificato in base alla catena dei nomi degli oggetti che lo precedono. Il concetto di nomenclatura non è assoluto, ma è relativo alla posizione, 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 il contenuto. L’estensione è molto importante perché identifica il programma in grado di interpretare le informazioni contenute nel file 5/35
  • 6. Appunti d’esame Il 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 ci sono dei programmi in grado di leggerla  Sorge l’esigenza di una terza memoria, di tipo operativo e quindi classificabile come memoria centrale, che abbia la caratteristica tecnologica di non cancellarsi, contenente le istruzioni che ordinano al computer di leggere il loader Questa memoria non volatile è detta ROM (Read Only Memory → Memoria di Sola Lettura) La memoria volatile è invece detta RAM (Random Access Memory, Memoria ad Accesso Diretto): ogni locazione di memoria può essere raggiunta indifferentemente dalle altre. I registri sono strutture di memoria presenti nella CPU; essi memorizzano i dati che l’ALU deve utilizzare. 6/35
  • 7. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Recentemente sono state introdotte alcune aree di memoria a rapidissimo accesso (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 vengono caricati in memoria centrale (tutti i programmi senza i quali il sistema non cammina proprio: il kerner del sistema operativo: programmi per la gestione della memoria(paging), caricatori, gestori dell’I/O, …), altri file rimangono in memoria di massa, pronti ad essere presi qualora se ne presenti la necessità. 7/35
  • 8. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Nozioni di Hardware La parte fisica del computer è basata sulla scheda madre che è il cuore di tutto 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 espansione I bus Permettono il trasferimento delle informazione tra la memoria centrale e le unità di I/O. Le prestazioni del bus dipendono essenzialmente dal numero di linee del bus (che rappresentano quanti bit vengono trasferiti ad ogni clock) e la velocità 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 MAGGIORE FLUSSO INFORMATIVO - bus per gli indirizzi LA SUAAMPIEZZA DETERMINA LA CAPACITÀ DI INDIRIZZAMENTO DEL COMPUTER. SE 16 QUESTO BUS FOSSE A 16 BIT, È POSSIBILE INDIRIZZARE FINO A 2 ALLOC AZIONI DI MEMORIA; UNA MEMORIA PIÙ GRANDE NON SAREBBE RAGGIUNGIBILE SE NON CON PARTICOLARI ACCORGIMENTI (ES. INDIRIZZI DIFFERENZIATI) CHE RIDUCONO LE 32 PRESTAZIONI. CON UN BUS A 32 BIT, DIVENTA POSSIBILE ALLOCARE 2 ALLOC AZIONI DI 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 UN GRUPPO DI OGGETTI. - bus per i comandi di controllo La CPU integrata La filosofia di INTEL è la filosofia del vero microprocessore (sono loro che lo hanno inventato e che dispongono del maggior potere di mercato). La filosofia di ATHLON è la traduzione, a livello di PC, dei calcolatori delle workstation La velocità dei è aumentata per effetto: 8/35
  • 9. Appunti d’esame Il 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) - RIMM I moduli SIMM furono prodotti per bus di dati a 32 bit. 1 modulo DIMM BUS a 64 bit 2 moduli SIMM Aumenta la velocità del BUS → RIMM Dal 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, è un parametro molto importante per le prestazioni del computer. Se il tempo di refresh è molto basso, la velocità ↓ perché si perde molto tempo per fare i continui refresh; se è troppo alto, alcuni allocazioni di memoria potrebbero perdere il loro contenuto. Il valore di questo parametro, contenuto nel BIOS, è generalmente impostato su valori molto bassi dalle case costruttrici su valori molto bassi per motivi di sicurezza. 1 Implicazioni sull’efficienza dei software 9/35
  • 10. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Sarebbe ottimale individuare il massimo refresh possibile per una certa macchina, oltre il quale si avrebbe una perdita di dati I sistemi operativi, diventando sempre più complessi, richiedono una RAM sempre maggiore perché aumenta il Kerner. Sistema operativo RAM consigliata MS/DOS 64 Mbyte Windows 128 Mbyte Il BIOS (Basic Input Output System) è un insieme di istruzioni residenti in modo permanente su ROM, che vengono eseguite all’accensione del computer. Il BIOS viene costruito sul chip ROM durante il processo di fabbricazione del computer. Attualmente la ROM non è più incisa in modo permanente, ma può essere cancellata e riprogrammata (non si parla più di ROM, ma di EPROM) → possibilità di personalizzare le istruzioni del BIOS. È un’operazione opportuna? Può esserlo. È un’operazione potenzialmente pericolosa? SI. In caso di errore, non partono le 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 costosa Il Chipset s’incarica di gestire e coordinare il funzionamento di tutti i componenti presenti nella motherboard: - controllo I/O - gestione dell’elettronica di dischi e CD-ROM - richieste di interrupt - accessi diretti alla memoria il 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 di interfacce hardware o schede per il collegamento con le periferiche (scheda 2 Il chipset deve obbedire al processore 10/35
  • 11. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org audio, scheda grafica, etc…) Perché utilizziamo questa filosofia? Per avere una maggiore flessibilità nella gestione delle periferiche. Le porte servono per il trasferimento di informazioni tra la CPU e le unità di I/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 volta Queste porte si rivolgono a una sola apparecchiatura. Con l’esigenza di collegare il computer a un numero elevato di apparecchiature, sono nate porte che gestiscono più apparecchiature; esse, in ordine decrescente di efficienza e di costo, sono:  Porte SCSI  Porte USB  Porte Fireware La memoria di massa sono supporti di vario tipo (magnetico, ottico, …) utilizzati per archiviare informazioni. La tecnologia magnetica (tipicamente usata su HD, Floppy Disk e nastri magnetici) consiste nella capacità di indurre, con una certa sostanza, un campo magnetico; ciò genera la capacità di scriverlo e di leggerlo. La tecnologia ottica (tipicamente usata su CD-R e CD-ROM) consiste nella capacità 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 dei materiali) la tecnologia ottica si caratterizza per una diversità tecnica tra lettura e scrittura. ORDINAMENTO PER STABILITA’ (CRESCENTE) floppy disk hard disk CD-R CD-ROM Gli archivi non sono infinitamente nel tempo → qualora fosse necessario archiviare dati molto preziosi, è opportuno salvarli ogni tanto. Le memorie allo stato solido sono costruite su chip in grado di registrare i dati in 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’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org facilità di rimozione piccolo ingombro SCHERMO Tecnologia del tubo catodico → proiezione di raggi Tecnologia dei cristalli liquidi → trasformazione della luminosità in base ai campi elettrici (Vantaggi: spazio ridotto; assenza di campi elettromagnetici) Caratteristiche dello schermo: DIMENSIONE: IN POLLICI, MISURATI LUNGO LA CURVATURA DELLA DIAGONALE RISOLUZIONE: NUMERO DI PIXEL Il pixel (picture element) è l’elemento in cui viene suddivisa la superficie dello schermo. Ad ogni pixel viene assegnato un indirizzo (bit mapping) che lo individua 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 cui capacità elaborative e di memoria condizionano sia la risoluzione sia il numero di colori. Quantità minima di RAM video per numero di colori 512 kb 2 Mb 4 Mb 8 Mb 16 256 65.000 16.700.000 Altre periferiche di I/O tastiera mouse microfono sintetizzatore vocale Permette la trasformazione di un’informazione digitale in un segnale sonoro. (NAPOLI) È qualcosa di più raffinato di un registratore. 12/35
  • 13. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org I SISTEMI OPERATIVI La macchina da sola non funziona. Ha bisogno dei sistemi operativi ! Il sistema operativo più utilizzato è Windows, quello diffuso dalla Microsoft. 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, basata sulla tecnologia delle valvole termoioniche che facevano passare la corrente in un verso pilotato. Poi si è passati al transistor, di dimensioni ben 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’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Le capacità mnemoniche della memoria di un computer sono vincolate alla presenza di un campo elettrico. Se il campo elettrico è assente, la memoria 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 1 Il computer in quanto tale, acceso, non può funzionare perché gli mancano i comandi (non la capacità di eseguirli). È ovvio, quindi, che il primo passo per il calcolo della soluzione di un problema consiste nel preparare il programma in linguaggio macchina. Il linguaggio macchina viene scritto su un supporto esterno al computer, che poi il computer potesse leggere. Storicamente, uno dei primi strumenti per l’immissione di dati al computer erano le schede perforate: cartoncini perforati in maniera opportuna da macchine perforatrici, codificati secondo il linguaggio macchina. 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’erano macchine elettromeccaniche che funzionavano pilotate da schede meccaniche. Le schede passavano su un foro, attivando o meno un contatto, implicando di fare o non fare certe cose. Passo 2 Fatto questo, il programma deve essere trasferito dal lettore di schede alla memoria del calcolatore. Sorge quindi la necessità di un Programma caricatore (LOADER)      MEMORIA      Programma caricatore  14/35
  • 15. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org            Programma utente C’è una sorta di paradosso. Per poter dare istruzioni al computer devo dare istruzioni al computer di caricarle! A prescindere dal programma utilizzato per la risoluzione di un problema, è necessario disporre di un programma che insegni al computer come caricare le istruzioni. Questo programma deve stare precedentemente in memoria, altrimenti il processore non è in grado di caricare le istruzioni. Passo 3 Una volta eseguito il programma, i risultati rimangono in memoria.        MEMORIA      DATI Passo 4 Bisogna dire al computer, attraverso un altro programma, come estrarre 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’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Esigenza di start-up (il computer dev’essere inizializzato) All’epoca, l’utente caricava “a mano” il loader, ovvero interveniva materialmente su alcune celle di memoria facendo uso di interruttori posti sull’esterno. Ogni singolo utente, per poter caricare il proprio programma in memoria, deve prima memorizzare il programma caricatore         dati             programma caricatore             programma utente    Già all’epoca si era sviluppata la necessità che il programma caricatore fosse una utility comune a tutti i programmi utente. La presenza di un programma caricatore disponibile a tutti gli utenti costituì 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 traduttori FASE 1: caricamento del traduttore 3 Questo termine ha poi assunto una valenza più ampia 16/35
  • 17. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org         Programma traduttore    Prima di caricare il programma MEMORIA utente, è necessario caricare il programma traduttore FASE 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 poteva essere lasciato in memoria, ma doveva essere scaricato su schede e quindi rimesso in memoria All’epoca, il traduttore era di filosofia interprete o i filosofia compilativa ? Compilativa, poiché si ha la traduzione dell’intero pacchetto ! Ciò era molto noioso! In caso di errore, era necessario correggere la scheda ad alto livello, rilanciare il processo ed ottenere un nuovo pacchetto di schede perforate; un’ulteriore traduzione implicava un costo aggiuntivo. SISTEMA OPERATIVO Programma traduttore SISTEMA OPERATIVO 17/35
  • 18. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Programma caricatore HARDWARE Negli anni 50 il sistema operativo si arricchisce di una serie di programmi dedicati alla traduzione (Algor, Cobol, rispettivamente di natura matematica e commerciale, altri…) I passi 2. (input) e 4. (output), eseguiti manualmente e meccanicamente, sono molto più lenti rispetto al passo 3. (esecuzione) Non viene sfruttata in pieno la velocità operativa della CPU e viene rallentato l’intero processo ISTRUZIONE cpu attivazion    DI e   STAMPA   stampante     PROGRAMMA UTENTE MEMORIA CPU I/O t Mentre viene eseguita l’istruzione di stampa, la CPU resta inattiva Per rendere questo processo più efficiente si è corollata la CPU di un”unità pensante” indipendente (il canale di I/O) che gestisca l’I/O, in modo che la CPU esegua un’istruzione successiva. 18/35
  • 19. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org ISTRUZIONE      DI STAMPA Canale   I/  O    PROGRAMMA UTENTE I/ O CPU Il canale può essere visto come un calcolatore indipendente dalla CPU che provvede a gestire l’I/O mentre la CPU esegue il programma utente Il canale è a corredo del computer e non della stampante, perché sono i produttori del computer ad avere maggior potere di mercato. GESTIONE MEDIANTE BUS BUS memoria canale I/O I/O I/O Vantaggio: Flessibilità: posso avere un numero molto elevato di unità I/O che non necessariamente connetto GESTIONE A STELLA I/O memoria canale I/O Vantaggio: 19/35
  • 20. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Le unità di I/O comunicano direttamente con il canale. Su una macchina specializzata il cui unico output è la guida missilistica si utilizza una gestione a stella. Su un PC le cui unità di I/O non sono stabilite 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 60 L’introduzione dei canali di I/O consente l’uso della CPU da parte di più 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’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org t progr. 1 progr. 2 MULTIPROGRAMMAZIONE Capacità del sistema operativo di far condividere a più programmi l’uso della CPU USO EFFICIENTE DELLA CPU Permettere una commutazione solo sulla base delle istruzioni di I/O potrebbe essere non efficiente. I programmi in coda attendono lunghi periodi di tempo nell’attesa dell’istruzione di I/O del programma che sta utilizzando la CPU → il processo mediante il quale si passa da un programma all’altro non segue banalmente una filosofia a interruttore, ma richiede una strategia. Occorre pertanto un programma che gestisce la multiprogrammazione secondo un certo criterio. SOLUZIONE FILOSOFIA DEL TIME SHARING Ad ogni programma viene assegnato un tempo massimo di utilizzo della CPU (time slice). Naturalmente, questo tempo non è costante per ogni programma, ma varia da programma a programma. Ai programmi più importanti vengono assegnati time slice più elevati. Esempio: multiprogrammazione senza time sharing Tempo CPU Tempo I/O Progr. 1 15 1 Progr. 2 2 2 CPU I/O 21/35
  • 22. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org 15 17 Il programma 2 attende 15 unità di tempo Esempio: multiprogrammazione con time sharing (time slice = 3 unità) CPU I/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 assegnato Il programma per la gestione della multiprogrammazione non decide solo se affidare o meno la CPU ad un certo programma, ma decide anche cosa si deve fare di questo programma nel momento in cui si verifica una delle sopraindicate condizioni. Casi 1 e 2: il programma è eliminato dalla memoria Casi 3 e 4: il programma è sospeso, cioè mantenuto in memoria Il mantenimento in memoria è un mantenimento costoso; se la memoria è esageratamente occupata da un programma sospeso, può divenire opportuno scaricarlo per riprenderlo in seguito. 22/35
  • 23. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Per decidere quale programma passare in memoria quando diversi programmi sono in attesa bisogna stabilire un ordine di accesso alla CPU. Il programma incaricato di stabilire tale ordine è lo SCHEDULER I 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 CPU Lo scheduler assegna ad ogni programma un numero che determina il criterio 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 HARDWARE Ogni sistema operativo ha un proprio linguaggio di comando, che consente la comunicazione con l’esterno. 23/35
  • 24. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Ogni frase del linguaggio di comando è una richiesta al sistema operativo 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 richieste Tali azioni sono eseguite da un programma del sistema operativo: l’interprete del linguaggio di comando. Recentemente sono state introdotte delle interfacce grafiche ai comandi del sistema operativo, per facilitarne l’uso. In assenza di queste, l’utente dovrebbe apprendere la sintassi di tutti i comandi; viceversa, egli interagisce con l’interfaccia, ed è quest’ultima che parla con l’interprete, i quali attivano i vari programmi di utilità, …. UTENTE SISTEMA OPERATIVO interfaccia grafica 24/35
  • 25. Appunti d’esame Il 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 dei comandi. Il problema dell’interfaccia è la riduzione della flessibilità connessa alla standardizzazione delle operazioni; per eseguire un’operazione particolare, 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 computer MULTIUTENTE (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’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org    terminali  Evoluzione dei sistemi operativi 1945: primo calcolatore elettronico (ENIAC) 1949: primo calcolatore capace di memorizzare programmi anni 50: primi sistemi operativi 1957: primo linguaggio ad alto livello (FORTRAN) 1960-65: introduzione della multiprogrammazione e del time sharing fine anni 60: introduzione della memoria virtuale anni 80: interfacce grafiche Agli inizi il computer poteva essere utilizzato solo da personale specializzato. L’aspirazione (non raggiunta) dei sistemi operativi è di rendere la macchina qualcosa di estremamente flessibile, disponibile a fronteggiare le esigenze di vari tipi di utente (ricercatori, segreterie, …). Per raggiungere questi obiettivi, sono stati aggiunti molti ortelli circostanti che hanno appesantito il sistema operativo e che contengono degli errori. 26/35
  • 27. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Strumenti 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 con altri computer. Nei collegamenti a forte livello di integrazione, una macchina vede perfettamente quello che succede su altre macchine. Nei casi di integrazione a livello ridotto, le macchine tra di loro fondamentalmente “si parlano” mantenendosi due identità separate. Nelle strutture di calcolo vi sarà una perfetta integrazione tra le macchine in una rete locale (LAN) per cui ben può aversi che l’utente collegato con la 1a macchina utilizza un programma residente su una 2a macchina 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 cittadine 4 WORD E’ UN EDITOR? No! È un programma per l’elaborazione di testo e grafica 27/35
  • 28. Appunti d’esame Il 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 alcuni file di un’altra machina Accensione del computer (29 gennaio) Password Il sistema operativo windows è multiutente, nel senso che più possono operare sulla stessa macchina, in tempi diversi. Vi è un utente privilegiato che ha a disposizione tutte le risorse del sistema, e vari “sottoutenti”, che hanno a disposizione risorse limitate. Una filosofia di questo tipo è legata all’esigenza di tutelare i file del sistema operativo in una struttura dove operano molte persone. Un pezzo del sistema operativo è caricata in RAM 28/35
  • 29. Appunti d’esame Il 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  START Lanciamo 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’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Sviluppo dell’ Implementazione algoritmo risolutivo dell’algoritmo per Mh(P) in uno specifico ambiente di calcolo Noi utilizziamo il computer per risolvere un problema che siamo in grado di formulare e di esprimere in termini matematici. Possibili fonti di errore Non è possibile rappresentare il problema in maniera reale, né tantomeno è possibile approssimarlo correttamente mediante un metodo numerico. I risultati delle nostre operazioni contengono intrinsecamente errori che dobbiamo tenere sotto controllo ↓ Quando otteniamo la stima di un certo risultato, diviene fondamentale essere in grado di misurare l’errore. È inoltre possibile che il modo in cui vengono fatti i calcoli possa produrre un errore che aumenti nel corso del processo di calcolo, inficiando tutta l’elaborazione e conducendo a risposte false. La colpa di tutto questo è dovuto al fatto che il computer elabora non numeri, ma numeri macchina, che sono approssimati. Dobbiamo essere capaci di riconoscere le cause di errore, distinguendo gli errori dovuti all’instabilità dell’algoritmo da quelli dovuti al malcondizionamento del problema. Il passaggio da problema reale P a modello matematico M(P) produce gli errori 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à, non può che rappresentarla con un certo livello di approssimazione. L’approssimazione dei modelli matematici mediante metodi numerici produce gli errori di troncamento analitico. Gli oggetti matematici sono sempre calcolabili? NO. Si pensi a un evento calcolabile attraverso un certo logaritmo, il quale non potrà essere calcolato in modo esatto. 30/35
  • 31. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Gli errori di round-off (i più subdoli) sono quelli che si producono nella fase di calcolo. Dal problema al modello Si consideri una sbarra di lunghezza L con una sola estremità libera, sottoposta ad un carico F applicato alla sola estremità libera, e si voglia calcolarne la deflessione elastica. L x F y x misura la distanza lungo l’asse della sbarra rispetto all’origine del riferimento coincidente con l’estremità fissa. y misura la deflessione della sbarra. La descrizione del problema P mediante un modello matematico M(P) implica l’individuazione di una formula mediante la quale, a partire da un certo input si 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 materiale I → momento di inerzia Si 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 da un modello semplificato, che rappresenta la realtà in maniera minore e che risulta 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 rischio di vita o di morte degli assicurati; tale valutazione fa uso delle tavole di 31/35
  • 32. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org mortalità che indicano la probabilità che una persona con determinate caratteristiche (parametri) viva o non viva di qui a una certa data. La formula che calcola la probabilità è molto simile a quella precedentemente utilizzata 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 con formule simili! Dal modello matematico al modello numerico In entrambi i casi, nella fase di calcolo possono prodursi errori di round-off dovuti al fatto che l’esponenziale è una funzione trascendente, cioè non esprimibile in termini di somme e prodotti, mentre l’uomo (e quindi il calcolatore) sanno fare solo somme e prodotti. Nasce, pertanto, il problema di trasformare il modello matematico (che risolve il problema reale in modo ± corretto) in un modello numerico. In questo caso, il problema consiste nel trovare un modo per approssimare la funzione esponenziale attraverso somme e prodotti. Uno strumento di approssimazione è il polinomio di Newton, che traduce in una funzione (ad esempio l’esponenziale) in un polinomio, esprimibile in termini di somme e prodotti. Introduzione a Matlab Matlab è un linguaggio di programmazione finalizzato al calcolo scientifico. 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’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org Per eseguire un processo complesso è opportuno scrivere un programma, ossia un insieme di istruzioni date in un certo ordine a=3 → a = 3 Ho scritto un numero intero (3) o un numero floating point (3.)? floating point I numeri interi sono usati per contare; sono tutti i numeri interi che vanno da 0 fino a un massimo intero I numeri floating point, invece, sono utilizzati per fare i calcoli; sono costruiti secondo una logica scientifica (mantissa, esponente). Che differenza c’è tra fare calcoli con i numeri interi E 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 reali 3/2 = 1 secondo la logica dei numeri interi Matlab lavora sempre con i numeri floating point; per poter lavorare con i numeri interi, glielo devo chiedere esplicitamente. Esistono altri linguaggi di programmazione nei quali se scrivo 3 viene considerato numero intero, se scrivo 3. viene considerato numero reale. Matlab interpreta i numeri, traducendoli in una logica binaria e spacchettandoli in una parte esponente e una parte mantissa. È molto importante sapere con quante cifre si lavora. Matlab lavora bloccando ogni numero su due voci di memoria di 32 bit; quindi usa complessivamente 64 bit per rappresentare un numero. In altre parole usa la doppia precisione, quindi fa i calcoli con 14 cifre decimali. Ciò significa che i problemi di non rappresentatività non avverranno praticamente mai. Non c’è nessun problema umano, tra quelli che affronteremo, che conduce a risultati superiori a 2 1024 o inferiori a 2-1024. Ovviamente, overflow e underflow potranno essere indotti da errori di calcolo. Se cerchiamo di calcolare una funzione il cui limite è + ∞ , al crescere di x si genera un overflow; ma non si ha alcun reale problema. 33/35
  • 34. Appunti d’esame Il Calcolatore e Matlab Visto su: www.profland.altervista.org In generale, i computer quando vanno in overflow si fermano. Matlab, invece, presenta un controllo e comunica per iscritto il segnale di non errore (NaN) e va avanti. Ovviamente da quel punto in poi i risultati non potranno essere esatti. Matlab puòi elaborare tutte i tipi di dati che si possono usare nel computer, ovvero: - numerici interi - numerici reali - logici - letterali Essenzialmente, opera su dati di tipo numerico reale. Quando, per determinate ragioni, ho l’esigenza di operare con un altro tipo di dati, dobbiamo comunicarlo esplicitamente. 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’esame Il 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