La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

COMPUTER: HARDWARE E SOFTWARE

Presentazioni simili


Presentazione sul tema: "COMPUTER: HARDWARE E SOFTWARE"— Transcript della presentazione:

1 COMPUTER: HARDWARE E SOFTWARE
IDUL 2009 COMPUTER: HARDWARE E SOFTWARE Accorciare su varie parti tecniche, aggiornare (dimensioni memoria, multiprocessori, famiglie di processori, problema calore/consumo, desktop vs. portatili, grafica, via floppy, firmware, …), introdurre più esempi di specifiche di computer moderni, esempi di interfaccie per OS moderni.

2

3 Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche

4 Software Componente del calcolatore costituita dai:
Programmi di base per la gestione del sistema (sistema operativo) Programmi applicativi per l’uso del sistema (possono usare i programmi di base)

5 PRIMA PARTE: HARDWARE

6 HARDWARE: IDEE CENTRALI
CICLO DI ESECUZIONE ISTRUZIONI MEMORIA PRINCIPALE E MEMORIA SECONDARIA

7 DI NUOVO LA MACCHINA DI TURING

8 Dalla macchina di Turing alla architettura di von Neumann
Un passo ulteriore, volendoci avvicinare al funzionamento di un vero computer, è costituito dalla ARCHITETTURA DI VON NEUMANN

9 ARCHITETTURA DI VON NEUMANN
CPU Preleva istruzione Esegue Memorizza risultato I/O Memoria BUS

10 UNITA’ CENTRALE E PERIFERICHE
Processore Stampante Periferiche di input/output Memoria secondaria Memoria principale Tasteria e monitor Unità centrale Periferiche

11 Architettura dei computer
Un computer deve: elaborare l’informazione usando il processore (Central Processing Unit - CPU) memorizzare l’informazione usando la memoria principale (RAM) usando la memoria secondaria (DISCHI RIGIDI) fare l’input/output dell’informazione usando i dispositivi localidi input/output Collegandosi in rete con altri computer

12 LA CPU IN DETTAGLIO

13 ARCHITETTURA DI VON NEUMANN: COMPONENTI DELLA CPU
La CPU non è un unico componente ma è costituita da componenti diversi che svolgono compiti diversi REGISTRI Bus Interno Program Counter Registro di Stato Unità di controllo Registro Istruzioni Registri Generali 8 o 16 Unità aritmetico logica Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo

14 UNITA’ DI CONTROLLO REGISTRI Bus Interno Program Counter
Registro di Stato Unità di controllo Registro Istruzioni Registri Generali 8 o 16 Unità aritmetico logica Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo

15 Unità di controllo L’unità di controllo è la parte più importante del processore Esegue le istruzioni dei programmi Coordina le attività del processore Controlla il flusso delle istruzioni tra il processore e la memoria

16 Unità di controllo Svolge la sua attività in modo ciclico
Preleva dalla memoria principale la “prossima” istruzione da eseguire Preleva gli operandi specificati nell’istruzione Decodifica ed esegue l’istruzione Ricomincia

17 Unità di controllo L’esecuzione comporta l’invio di comandi opportuni all’unità relativa Calcoli  Unità aritmetico logica Lettura/scrittura dati  memoria Acquisizione/stampa  dispositivi di I/O

18 COMPONENTI DELLA CPU: UNITA’ ARITMETICO-LOGICA
REGISTRI Bus Interno Program Counter Registro di Stato Unità di controllo Registro Istruzioni Registri Generali 8 o 16 Unità aritmetico logica Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo

19 Unità aritmetico logica
L’Unità aritmetico logica si occupa di eseguire le operazioni di tipo aritmetico/logico Somme, sottrazioni, …, confronti, … Preleva gli operandi delle operazioni dai Registri Generali Deposita il risultato delle operazioni nei Registri Generali Insieme all’unità di controllo collabora al completamento di un ciclo della macchina

20 COMPONENTI DELLA CPU: REGISTRI
Bus Interno Program Counter Registro di Stato Unità di controllo Registro Istruzioni Registri Generali 8 o 16 Unità aritmetico logica Registro Indirizzi Memoria Registro Dati Memoria Registro di Controllo

21 Registri I registri sono delle unità di memoria piccole ed estremamente veloci Sono usate per mantenere le informazioni di necessità immediata per il processore

22 Registri Per esempio: Program Counter Per esempio: i Registri Generali
L’indirizzo della “prossima” istruzione da eseguire è memorizzato nel registro Program Counter Per esempio: i Registri Generali I registri che possono essere utilizzati come memorie temporanee per svolgere le operazioni matematiche

23 ARCHITETTURA DI VON NEUMANN: I BUS

24 Bus Permette la comunicazione tra i vari componenti dell’elaboratore
CPU RAM Interfaccia dati indirizzi controllo

25 ARCHITETTURA DI VON NEUMANN: CLOCK
Abbiamo visto che il processore svolga la sua attività in modo ciclico Ad ogni ciclo corrisponde l’esecuzione di un’operazione elementare (un’istruzione macchina) Il clock fornisce una cadenza temporale per l’esecuzione delle operazioni elementari La frequenza del clock indica il numero di operazioni elementari che vengono eseguite nell’unità di tempo

26 Clock Consideriamo una ipotesi semplificata in cui ogni battito di clock corrisponde esattamente l’esecuzione di una sola istruzione macchina La frequenza del clock indica il numero di operazioni elementari che vengono eseguite nell’unità di tempo Per esempio: il clock che ha circa 66 milione battiti per secondo  il computer può eseguire circa 66 milioni di operazioni per secondo

27 Clock In realtà, questa ipotesi non è sempre vero Per esempio:
L’esecuzione di una istruzione può richiedere più battiti di clock Oppure nello stesso ciclo di clock si possono eseguire (parti) di istruzioni diverse Dipende dal tipo di processore Per esempio: Il processore Intel richiede 20 battiti del clock per calcolare la moltiplicazione di due numeri Il processore Intel può calcolare la moltiplicazione di due numeri usando solo un battito del clock

28 Clock La frequenza del clock si misura in:
MHz (1 MHz corrisponde circa a un milione di istruzioni elementari/battiti al secondo) GHz (1 GHz corrisponde circa a un miliardo di istruzioni elementari/battiti al secondo) Per esempio: se acquistate un calcolatore e vi dicono che ha un processore a 2 GHz Vuol dire che il processore è in grado di eseguire (circa) 3 miliardi di istruzioni al secondo

29 Evoluzione dei processori
Un grafico dell’evoluzione dei processori INTEL

30 CODICE PER I PROGRAMMI: Istruzioni macchina
I programmi: sequenze di istruzioni elementari (somma due numeri, confronta due numeri, leggi/scrivi dalla memoria, ecc.) Per ogni tipo di processore è definito un insieme di istruzioni, chiamate istruzioni macchina Ognuna delle quali corrisponde ad un’operazione elementare Le operazione più complesse possono essere realizzate mediante sequenze di operazioni elementari

31 Istruzioni macchina Le istruzioni possono avere formati diversi - per esempio: Codice istruzione Argomento 1 Argomento 2 oppure cosa fare (“operando”) su cosa operare Codice istruzione Argomento 1

32 Istruzioni macchina Per esempio: ADD R1 R2 LOAD 3568 R2
Operazione aritmetica di somma: prevede la somma del contenuto dei registri R1 e R2 e il caricamento del risultato nel registro R1 LOAD 3568 R2 Operazione di lettura dalla memoria: richiede la lettura del valore contenuto nella cella con indirizzo 3568 e il suo caricamento nel registro R2

33 Istruzioni macchina Per esempio: 01000110 1111000 01010111 00001111
cosa fare (espresso in binario) su cosa operare

34 Linguaggio macchina Il linguaggio in cui si scrivono queste istruzioni prende il nome di linguaggio macchina Una sequenza di tali istruzioni prende il nome di programma in linguaggio macchina Il ruolo del processore: Eseguire programmi in linguaggio macchina N.B. Nessun uomo è in grado di scrivere programmi estesi in linguaggio macchina! (esistono invece linguaggi “ad alto livello”)

35 I programmi e i processori
Ogni tipo di processore è in grado di eseguire un numero limitato di istruzioni Tuttavia il numero di istruzioni specializzate (specialmente per la resa grafica) è cresciuto molto da una generazione di processori alla successiva. Non sempre i programmi utilizzano tutte le istruzioni disponibili sul processore! Combinando in modo diverso sequenze anche molto lunghe di istruzioni si possono far svolgere al computer molti compiti diversi

36 I programmi e i processori
Famiglie di processori: Intel, AMD, MOTOROLA, ecc. Processori della stessa famiglia possono eseguire gli stessi programmi scritti in linguaggio macchina (ma non sempre) Processi di famiglie diverse non possono eseguire gli stessi programmi scritti in linguaggio macchina Le istruzioni che “capiscono” sono diverse Attenzione! Stiamo considerando il livello delle istruzioni macchina

37 Compatibilità Compatibilità all’indietro Compatibilità in avanti
Un processore è in grado di eseguire codice creato per un processore precedente della stessa famiglia. Un programma comprende dati creati da una sua versione precedente Compatibilità in avanti Un processore/programma accetta dati creati per una sua versione futura (eventualmente interpretandoli in modo parziale) Ottenibile tramite l’adozione di standard

38 Architettura dei computer
Un computer deve: elaborare l’informazione usando il processore (Central Processing Unit - CPU) memorizzare l’informazione usando la memoria principale (RAM) usando la memoria secondaria fare l’input/output dell’informazione usando i dispositivi di input/output

39 Architettura dei computer
Un computer deve: elaborare l’informazione usando il processore (Central Processing Unit - CPU) memorizzare l’informazione usando la memoria principale (RAM) usando la memoria secondaria fare l’input/output dell’informazione usando i dispositivi di input/output

40 Componenti principali di un computer
Processore Memoria principale Unità centrale Stampante Periferiche del calcolatore Tasteria e monitor Memoria secondaria Periferiche di input/output

41 UNITA’ CENTRALE: LA MEMORIA PRINCIPALE

42 ORGANIZZAZIONE DELLA MEMORIA
Processore Memoria principale Unità centrale 1 2 3 4 5 N Insieme al processore forma l’Unità Centrale di un elaboratore Conserva i programmi e i dati usati dal processore Sequenza di celle Ad ogni cella è associato un indirizzo (un numero progressivo a partire da 0)

43 Memoria principale (RAM)
Perchè si chiama RAM (Random Access Memory)? Si può accedere direttamente alle varie celle, una volta noto il loro indirizzo Il tempo necessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nella sequenza Il termine “random” (casuale) indica proprio il fatto che non vi sono differenze nell’accesso alle varie celle della memoria

44 Memoria principale (RAM)
Alcune proprietà della memoria principale Veloce: per leggere/scrivere una cella ci vuole un tempo di accesso dell’ordine di poche decine di nanosecondi (millesimi di milionesimi di secondo = 10-9 sec.) Volatile: è fatta di componenti elettronici, togliendo l’alimentazione si perde tutto (Relativamente) costosa

45 Memoria principale (RAM)
Indirizzi Contenuto Tutte le celle hanno la stessa dimensione: 8, 16, 32, o 64 bit Le operazioni che si eseguono sulla memoria sono operazioni di lettura e scrittura Una cella può contenere un dato o un’istruzione 345 1 2 3.890 LOAD 3568 R1 3 LOAD 56 R1 4 5 ADD R1 R2 N

46 Un po’ di terminologia ... bit 1 cifra binaria memorizza 0 oppure 1
byte 8 bit memorizza un carattere parola da 16 a 64 bit numeri e indirizzi di memoria Kilobyte (KB) 1024 byte circa mezza pagina di testo Megabyte (MB) 1024 KB un libro di 200 pagine Gigabyte (GB) 1024 MB alcuni volumi Terabyte (TB) 1024 GB una biblioteca Petabyte (PB) 1024 TB molte biblioteche

47 Memoria principale (RAM)
Ogni calcolatore usa un numero di bit costante per rappresentare gli indirizzi Maggiore è il numero di bit usati, maggiore sarà il numero di celle indirizzabili: spazio di indirizzamento Se si usano 16 bit per codificare gli indirizzi, si potranno indirizzare fino a celle (circa 64 KB di memoria, nell’ipotesi di celle di memoria di 1 byte) Con 32 bit si potranno indirizzare fino a celle (circa 4 GB di memoria)

48 Memoria principale (RAM)
Se acquistate un computer e vi dicono che ha una RAM di 1 GB, vi stanno specificando le dimensioni della memoria principale All’aumentare delle dimensioni della memoria principale aumenta il numero di programmi che possono essere “contemporaneamente” attivi

49 Memoria principale (RAM)
Le unità di misura della memoria RAM variano a seconda del tipo di calcolatore e vengono espresse in MB o GB Nei PC generalmente si va dai 512MB ai 4 GB La RAM, fino ad un certo limite, è espandibile (slot di espansione)

50 ALTRI TIPI DI MEMORIA NELL’UNITA CENTRALE
Memoria di sola lettura (ROM) Memoria cache Buffer

51 Memoria di sola lettura (ROM)
A differenza della RAM non è volatile Veloce quasi come la RAM Contiene le informazioni di inizializzazione usate ogni volta che si accende l’elaboratore (bootstrap)

52 Memoria cache Livello di memoria intermedio tra i registri e la RAM
Memorizza i dati usati più spesso senza doverli recuperare tutte le volte dalla RAM (che è più lenta) Influisce moltissimo sulle prestazioni e sul costo della CPU (e quindi del computer) È molto più costosa della RAM

53 Memoria cache In genere è interna al processore (cache L1)
Esiste anche una cache secondaria (L2) esterna al processore Le sue dimensione tipiche vanno dai 256KB a 1MB

54 LA MEMORIA SECONDARIA Unità centrale Periferiche del calcolatore
Processore Memoria principale Unità centrale Stampante Periferiche del calcolatore Tasteria e monitor Memoria secondaria Periferiche di input/output

55 Architettura dei computer
Un computer deve: elaborare l’informazione usando il processore (Central Processing Unit - CPU) memorizzare l’informazione usando la memoria principale (RAM) usando la memoria secondaria fare l’input/output dell’informazione usando i dispositivi di input/output

56 Memoria secondaria La memoria principale non basta (è volatile, costosa) In grado di memorizzare i programmi e i dati in modo permanente È meno costosa che la memoria principale: le dimensioni della memoria secondaria sono di solito molto maggiori di quelle della memoria principale I supporti di memoria secondaria sono più lenti rispetto alla memoria principale (presenza di dispositivi meccanici)

57 LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA
I programmi e i dati risiedono nella memoria secondaria Processore Memoria principale Stampante Memoria secondaria

58 LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA
I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Processore Memoria principale Stampante Memoria secondaria

59 LA DIVISIONE DEI RUOLI TRA MEMORIA PRINCIPALE E MEMORIA SECONDARIA
I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Il processore è in grado di eseguire le istruzioni di cui sono composti i programmi Processore Memoria principale Stampante Memoria secondaria

60 Ricordiamo: caricamento del programma
Quando si “lancia” un programma questo viene copiato dalla memoria secondaria (di solito un hard disk) nella memoria principale Questa operazione si chiama caricamento del programma e viene eseguita dal sistema operativo

61 Ricordiamo: caricamento del programma
I programmi e i dati risiedono nel memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella memoria principale Il processore è in grado di eseguire le istruzioni di cui sono composti i programmi Processore Memoria principale Stampante Memoria secondaria

62 Memoria secondaria La memoria secondaria deve avere capacità di memorizzazione permanente e quindi per la sua si utilizzano tecnologie basate: sul magnetismo (tecnologia magnetica) dischi magnetici (hard disk e floppy disk) nastri magnetici (pressocché obsoleti) sull’uso dei raggi laser (tecnologia ottica) dischi ottici (CD-ROM, DVD)

63 Caratteristiche della memoria secondaria
La memoria principale permette di indirizzare ogni singola cella (8, 16, 32 o 64 bit) Mentre nel caso della memoria secondaria le informazioni sono organizzate in blocchi di dimensioni più grandi (512 byte, 1 KB, 2 KB) Si riducono le dimensioni degli indirizzi Si velocizzano le operazioni di lettura e scrittura

64 I dischi magnetici Hard disk: sono dei dischi che vengono utilizzati come supporto di memoria secondaria fisso all’interno del computer varie centinaia di GB di memoria

65 La memoria magnetica Sfrutta il fenomeno fisico della polarizzazione
Sul supporto ci sono delle particelle magnetiche I due diversi tipi di magnetizzazione (positiva e negativa) corrispondono alle unità elementari di informazione (0 e 1) La testina di lettura/scrittura cambia la polarizzazione Attenzione ad avvicinare magneti ad un disco rigido

66 I dischi magnetici I dischi magnetici: sono i supporti di memoria più diffusi Nel corso delle operazioni i dischi vengono mantenuti in rotazione a velocità costante e le informazioni vengono lette e scritte da testine del tutto simili a quelle utilizzate nelle cassette audio/video

67 I dischi magnetici I dischi sono suddivisi in tracce concentriche e settori, ogni settore è una fetta di disco I settori suddividono ogni traccia in porzioni dette blocchi Traccia Blocco Testina Settore

68 I dischi magnetici La suddivisione della superificie di un disco in tracce e settori viene detta formattazione Il blocco è dunque la minima unità indirizzabile Il suo indirizzo è dato da una coppia di numeri che rappresentano il numero della traccia e il numero del settore

69 I dischi magnetici I dischi magnetici consentono l’accesso diretto
È possibile posizionare direttamente la testina su un qualunque blocco (noto il numero della traccia e il numero del settore) Per effettuare un’operazione di lettura/scrittura la testina deve “raggiungere” il blocco desiderato Il disco gira; la testina sposta solo in senso radiale

70 I dischi magnetici testina testine piatto piatti briaccio

71 I dischi magnetici Se acquistate un computer e vi dicono che ha un hard disk di 250 GB vi stanno specificando le dimensioni della sua memoria di massa All’aumentare della capacità di memoria di massa, aumenterà il numero di programmi e documenti che potete conservare nel vostro computer

72 La memoria ottica Usa il raggio laser e sfrutta la riflessione della luce Il raggio laser viene riflesso in modo diverso da superfici diverse, e si può pensare di utilizzare delle superfici con dei piccolissimi forellini Ogni unità di superficie può essere forata o non forata L’informazione viene letta guardando la riflessione del raggio laser

73 La memoria ottica 1 1 1 1

74 La memoria ottica 1 1

75 I dischi ottici CD-ROM (CD-ROM ovvero Compact Disk Read Only Memory): consentono solamente operazioni di lettura Poiché la scrittura è un’operazione che richiede delle modifiche fisiche del disco Vengono usati solitamente per la distribuzione dei programmi e come archivi di informazioni che non devono essere modificate CD-R: possono essere scrivibile una sola volta CD-RW: riscrivibili; basati su più strati di materiale

76 I dischi ottici Hanno un capacità circa 650 MB MB (CD) e di fino a 15 GB per i DVD Hanno costo inferiore rispetto ai dischi magnetici, sono più affidabili e difficili da rovinare

77 Memory card/USB flash drive
Diffusi in vari formati e con vari nomi (memory card, compact flash, memory pen, memory stick, USB flash drive, USB stick, …) Nati del mondo delle immagini digitali (per fotocamere e telecamere) come supporto interno estraibile Dimensioni in rapida crescita: da 1 a 16 GB USB flash drive, USB stick: utilizzabile sulle porte USB di un personal computer Resistenti all’acqua e facilmente trasportabili

78 Unità di misura Memory card/USB flash drive: 1 GB – 8 GB
Hard disk, varie centinaia di GB di memoria CD-ROM, 650 MB MB (ormai quasi obsoleto) DVD, da 4.7 fino a 17 GB di memoria (film, dati) Dischi Blu-Ray: 25 o 50 GB (usato per film in alta definizione) Nastri magnetici, usati solo per funzioni di backup

79 Aumenta la capacità memorizzazione
byte Registri 100*picosecondi KB Mem. cache nanosecondi Mem. centrale GB 10*nanosecondi Dischi magnetici e/o ottici 100GB microsecondo/ millisecondi Nastri magnetici >1000 GB 10*millisecondi Aumenta la velocità di accesso

80 Architettura dei computer
Un computer deve: elaborare l’informazione usando il processore (Central Processing Unit - CPU) memorizzare l’informazione usando la memoria principale (RAM) usando la memoria secondaria fare l’input/output dell’informazione usando i dispositivi di input/output

81 Componenti principali di un computer
Processore Memoria principale Unità centrale Stampante Periferiche del calcolatore Tasteria e monitor Memoria secondaria Periferiche di input/output

82 I dispositivi di input/output
Per realizzare l’interazione uomo-macchina, sono necessari i dispositivi di input/output La loro funzione primaria è quella di consentire … l’immissione dei dati all’interno del computer (input) o l’uscita dei dati dal computer (output)

83 I dispositivi di input/output
Tastiera Mouse (e altri strumenti di puntamento) Scanner Microfono Macchine fotografia e telecamera digitale Lettori di codici a barre Output: Videoterminale Stampante Casse acustiche Input/output: Touchscreen Modem / Ethernet

84 I dispositivi di input/output
Solitamente hanno limitato autonomia rispetto al processore centrale Si collegano alle porte (o interfacce) del computer Ad alto livello le porte sono le “prese” cui si connettono i dispositivi Ne esistono di tipi diversi a seconda del tipo di collegamento e della velocità di trasmissione (esempio: porta USB)

85 I dispositivi di input/output
Operano in modo asincrono rispetto al processore (ne sono “schiavi”) Si parla di gestione master-slave: è il processore che deve coordinare le attività di tutti i dispositivi (Input) Il processore non è in grado di prevedere e di controllare il momento in cui un dato di input sarà a disposizione (Output) Il processore non può prevedere il momento in cui un dispositivo in output avrà terminato di produrre i dati in uscita

86 I dispositivi di input/output
Un dispositivo di input deve avvertire il processore quando un dato di input è disponibile Un dispositivo di output deve avvertire il processore quando ha terminato di produrre dati in uscita Al termine di ogni operazione i dispositivi inviano al processore un segnale, detto interrupt, che indica che il dispositivo ha bisogno di attenzione

87 I dispositivi di input/output
Ad ogni ciclo di clock, il processore verifica se sono arrivati dei segnali di interrupt da parte dei dispositivi Se sono arrivati dei segnali, il processore va ad eseguire le operazioni di gestione dei dispositivi che hanno richiesto l’attenzione Se non sono arrivati dei segnali, il processore continua ad eseguire il programma corrente

88 Il collo di bottiglia dell’I/O
Principali rivoluzioni nelle interfacce uomo macchina: Invenzione delle interfacce grafiche+mouse (Macintosh, 1984) Invenzione dei touch screen (schermi sensibili al tocco) Altre innovazioni rilevanti Programmi di dettatura (e.g. Dragon dictate) Schermi persistenti (non richiedono input di corrente per mantenere un’immagine; leggibili alla luce del sole; usati negli E-book readers, p.es. Amazon Kindle, Sony PRS)

89 Il collo di bottiglia dell’I/O
A fronte dello sviluppo di memorie e processori, mancano tuttavia vere novità nel campo delle interfacce. Tensione tra: Computer con schermi sempre più grandi ed applicazioni/pagine web che si aspettano di avere un grande spazio di visualizzazione Diffusione di “cellulari intelligenti” (smartphones e simili) che, dovendo essere tascabili, hanno schermi limitati ma potenza sufficiente per far funzionare applicazioni sviluppate per PC.

90 ASPETTO DEI MICROPROCESSORI MODERNI

91 MICROPROCESSORE E PIASTRA MADRE
Il microprocessore è incastonato nella piastra madre La piastra madre raccoglie in maniera efficiente e compatta altre componenti fondamentali di ogni computer, come la memoria, le porte di comunicazione, ecc.

92 La struttura interna della piastra madre

93 Attorno alla piastra madre
Come abbiamo detto, la RAM è una memoria volatile, che non è in grado di conservare in maniera permanente dati e programmi Per quest’ultimo scopo, è bene disporre di depositi di memoria ancor più grandi; vogliamo infatti conservarvi tutti i programmi e tutti i dati che desideriamo avere a nostra disposizione, e non solo quelli che utilizziamo in un dato momento

94 Attorno alla piastra madre
Attraverso appositi alloggiamenti o slot, alla piastra madre possono essere collegate anche schede di espansione Le schede di espansione permettono in genere di potenziare le capacità del computer in settori specifici (ad es. la grafica), o di collegarvi dispositivi esterni Al corpo centrale (cabinet) del computer sono di norma connessi diversi dispositivi esterni, utilizzati in genere per l’input e l’output dei dati

95 HARDWARE: RIASSUNTO DELLE IDEE PRINCIPALI
Architettura di von Neumann: Divisione in componenti collegate da bus Ciclo di esecuzione istruzioni Divisione della memoria in diversi livelli Funzionamento asincrono dell’input/output Realizzazione fisica dell’architettura di von Neumann: Piastra madre Memorie volatili e non volatili

96 L’accelerazione dell’informatica
Rapidissima crescita della potenza dei computer, misurata in capacità della RAM, velocità della CPU e capienza del disco rigido. RAM: dai 48KB dell'Apple II ai 2GB di un PC medio odierno: un incremento di volte. Al momento risulta che la memoria media di un PC raddoppia ogni 21 mesi. Processore: da 4 MHertz a e più (per macchine monoutente medie): un incremento di circa 650 volte. Di pari passo è aumentata anche la complessità interna del processore, espressa dal numero di transistor che contengono. Finora, si è mantenuta valida la legge di Moore, enunciata nel 1964: "il numero dei transistor nel processore raddoppia ogni 18 mesi". Memorie di massa: Dai 90K su floppy disk dell'Apple II ai 360 GB e più di un PC medio-alto attuale: un incremento di più di 4 milioni di volte.

97 Applicazione pratica Scelta tra vari modelli per l’acquisto di un computer. Vedi ad es.

98 Le domande da porsi Fisso o portatile? Da considerare:
A parità di costo, un computer fisso è più potente. Ma la batteria di un portatile è preziosa in zone con interruzioni di corrente, o se si lavora molto in treno. Se si lavora spesso in due luoghi diversi (p.es. casa-ufficio) può non servire comprare un portatile. Se ognuno è dotato/dotabile di un computer fisso, si possono tenere tutti i propri dati su una chiave USB (8GB o più) e portarla da un computer all’altro. Un computer “portatile” di peso >3Kg non è davvero comodo da portare addosso. Il computer più leggeri hanno schermo più piccolo, ma le batterie durano spesso di più. E’ possibile poi comprare con poca spesa schermo, mouse e tastiera esterni da collegare ad un portatile piccolo, trasformandolo virtualmente in un “fisso”. Esistono applicazioni che sono praticamente inutilizzabili su schermi sotto i 10 pollici (p.es. il programma di posta “Thunderbird”)

99 Le domande da porsi Che capienza di disco? Che uso ne faccio?
Se non si tengono su computer musica o film, 60 GB sono più che sufficienti. Se lo si usa per contenere musica, 100 GB in più sono consigliabili. Ancora più spazio nel caso di film; per tenere film in alta definizione il disco deve avere la massima capienza compatibile col proprio budget. Che velocità? Una velocità alta è richiesta quasi solo da videogiochi e programmi di fotoritocco o per editing di film (oltre ad una memoria >2GB) Non sempre il software è in grado di sfruttare la velocità del processore (o della scheda grafica)

100

101 CHE COSA IL SOFTWARE FA PER VOI

102 TRE TIPI DI SOFTWARE Software APPLICATIVO: programmi che permettono di svolgere funzioni VIDEOGIOCHI, WORD PROCESSING, DATABASE, POSTA ELETTRONICA PROGRAMMI UTENTE veri e propri Software DI SISTEMA: controlla l’hardware, gestisce l’interfaccia con utente, coordina le applicazioni SISTEMA OPERATIVO, INTERFACCIA RETE

103 IL SOFTWARE DI SISTEMA Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà

104 IL SOFTWARE DI SISTEMA LOAD 32 R2 ADD R1 84 Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà L’utente dovrebbe conoscere l’organizzazione fisica dell’elaboratore e il suo linguaggio macchina

105 IL SOFTWARE DI SISTEMA Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà L’utente dovrebbe conoscere l’organizzazione fisica dell’elaboratore e il suo linguaggio macchina Ogni programma dovrebbe essere scritto utilizzando delle sequenze di bit ed ogni piccola differenza hardware comporterebbe una riscrittura del programma stesso

106 IL SOFTWARE DI SISTEMA È necessario fornire un meccanismo per astrarre dall’organizzazione fisica della macchina L’utente deve: usare nello stesso modo (o comunque in un modo molto simile) macchine diverse dal punto di vista hardware avere un semplice linguaggio di interazione con la macchina avere un insieme di programmi applicativi per svolgere compiti diversi

107 IL COMPUTER VIRTUALE Il SOFTWARE DI SISTEMA opera un’ASTRAZIONE mettendo a disposizione dell’utente (programmatore) un set di operazioni più ricco di quello definito dall’hardware (o dai livelli di software di sistema inferiori) Facendo cio’ realizza una macchina virtuale che non esiste fisicamente Quest’operazione di astrazione puo’ essere ripetuta piu’ volte

108 ESEMPI DI ISTRUZIONI ‘VIRTUALI’
STAMPA CARATTERE A Eseguire questa istruzione richiede mettere carattere A in un’area speciale (‘print buffer’), inviare un segnale alla stampante che c’è dell’input, aspettare che la stampante abbia finito e controllare che tutto abbia funzionato OK APRI DOCUMENTO B Un `documento’ è semplicemente una lista di blocchi su tracce probabilmente diverse del disco rigido

109 SISTEMA OPERATIVO Il sistema operativo e’ il software di sistema che gestisce ed interagisce direttamente con il computer, presentando a tutti gli altri tipi di software un’interfaccia che astrae dalle caratteristiche dell’hardware specifico. Esempi: Windows (XP, Vista, 7) Unix (Linux, BSD, Apple System X)

110 Funzioni principali del sistema operativo
All’avvio del computer, viene caricato un “kernel” (il programma principale del SO). Questo (con altri sottoprogrammi si occupa di: Gestire il processore ed programmi in esecuzione (detti processi) Gestire la memoria principale (RAM) Gestire la memoria virtuale (una “RAM” apparente, in realtà salvata su disco) Gestire la memoria secondaria (Disco rigido) Gestire i dispositivi di input/output Interagire con l’utente, gestendo il sistema a finestre (quest’ultimo compito è spesso separato dal S.O. vero e proprio; ciò è particolarmente visibile in Linux, vedi ad es. )

111 LA STRUTTURA A CIPOLLA DEL SISTEMA OPERATIVO
Hardware Utente Avvio Gestione: i processi, la memoria, i disp. di input/output Interfaccia utente

112 Funzioni principali del sistema operativo
Gestione del processore e dei programmi in esecuzione (detti processi) Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con l’utente

113 Esecuzione dei programmi
Quando si scrive un comando (oppure si clicca sull’icona di un programma), il sistema operativo: Cerca il programma corrispondente sulla memoria secondaria Copia il programma in memoria principale Processore Memoria principale Stampante Memoria secondaria

114 Esecuzione dei programmi
Quando si scrive un comando (oppure si clicca sull’icona di un programma), il sistema operativo: Cerca il programma corrispondente sulla memoria secondaria Copia il programma in memoria principale Imposta il registro Program Counter con l’indirizzo in memoria principale della prima istruzione del programma

115 Sistemi mono-utente, mono-programmati
Un solo utente può eseguire un solo programma alla volta È forzato a “sequenzializzare” i programmi Il programma viene lanciato, eseguito e quindi terminato Ma il processore viene sfruttato al meglio?

116 Sistemi mono-utente, mono-programmati
No, il processore non viene sfruttato al meglio: si spreca molto tempo Il processore è molto più veloce dei supporti di memoria secondaria e delle altre periferiche Passa la maggior parte del suo tempo in attesa Durante l’attesa si dice che il processore è un uno stato inattivo (idle)

117 Esecuzione sequenziale
Supponiamo che il nostro sistema sia un bar in cui il barista serve diversi clienti Il barista è corrispondente del processore, i clienti sono l’equivalente dei processi da eseguire Esecuzione mono-programmati: Client 1 Client 2 Ordinare Preparare il caffé Consumare Ordinare Preparare il caffé Consumare Pagare Pagare

118 Soluzione In realtà: Client 1 Client 2 Ordinare (C1) Ordinare (C2)
Pagare (C1) Preparare il caffé (C1) Preparare il caffé (C2) Pagare (C2)

119 Soluzione: sistemi multiprogrammati
Quando il processore è nello stato di idle può eseguire (parte di) un altro processo Quando un processo si ferma (per esempio in attesa di un dato dall’utente) il processore può passare ad eseguire le istruzione di un altro processo Il sistema operativo si occupa dell’alternanza tra i processi in esecuzione (“multitasking”) In un PC (personal computer) tutti i processi saranno relativi ad un singolo utente (o all’attività del SO); in sistemi collegati in rete i processi possono riguardare anche utenti diversi.

120 IL TASK MANAGER

121 Funzioni principali del sistema operativo
Avvio del computer Gestione del processore e dei processi Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con l’utente

122 IL FILE SYSTEM

123 IL FILE SYSTEM: alcune caratteristiche di base
Possibilità di impedire/permettere la scrittura/lettura/esecuzione di file/cartelle di un particolare utente da parte di altri (concetto di utente privilegiato, superuser) Possibilità di accesso ad un medesimo file sotto nomi diversi (“collegamenti”, da non confondersi con i “link” su web) Possibilità di “journaling” (per preservare l’integrità del filesystem) e di “indexing” (per facilitare la ricerca di contenuti)

124 SISTEMI OPERATIVI PER PC
MS-DOS (MicroSoft Disk Operating System -1980) Apple Mac: primo sistema operativo ad utilizzare il nuovo tipo di interfaccia a finestre sviluppato da Xerox Windows (1985) Windows 95, Windows 98, Windows Me Windows NT, Windows 2000 (5th version of NT), Windows XP, Windows Vista (2007), Windows 7 (2010) UNIX per PC: Minix (1987) Linux (1991/94)

125 Sistemi operativi e Open Source
Movimento “Open Source” Differenza tra beni materiali (uno a uno) e software (uno a molti) Sviluppo di codice come servizio: diffusione di software “libero” creato dalla comunità dei programmatori Con lo sviluppo di internet, possibilità di raccogliere ed organizzare attorno ad un progetto software un largo gruppo di programmatori volontari

126 Sistemi operativi e Open Source
Progetto GNU (Richard Stallman) Scopo: creazione di un SO derivato da UNIX ma completamente libero per arrivare a questo risultato, all'interno del progetto vengono creati programmi per coprire ogni necessità informatica: compilatori, lettori multimediali, programmi di crittografia, ecc. Il software del progetto viene distribuito con una particolare licenza, la GNU GPL, costruita per garantirne la libertà di diffusione e di modifica.

127 Sistemi operativi e Open Source
Il codice prodotto dal lavoro dei volontari organizzati tramite rete viene diffuso completo di “codice sorgente” (“source”): il programma scritto in un linguaggio ad alto livello e commentato dai suoi creatori. Chiunque abbia l’esperienza tecnica necessaria ha la possibilità di modificare, adattare ed espandere il programma. Al contrario, i programmi “proprietari” (Photoshop, Excel, ma anche programmi gratuiti come Acrobat Reader o Explorer) vengono distribuiti solo nel formato eseguibile, quasi impossibile da modificare.

128 Sistemi operativi e Open Source: Il caso Linux
Linux: un sistema operativo “open source” basato su UNIX, sviluppato tra il 1994 ed oggi sotto l’impulso e la direzione di Linus Torsvalden Ambiente GNU/Linux: kernel Linux più programmi di gestione e sviluppo presi del progetto GNU Diffuso gratuitamente in varie “distribuzioni” (varianti), che contengono sistemi linux più o meno “completi” (SO + sistema a finestre + applicativi open source per i compiti più comuni)

129 Linux: caratteristiche di base
Multiutente; multitasking; filesystem con protezione lettura/scrittura per i vari utenti, link Vari ambienti grafici (KDE, GNOME, ecc.), installabili a scelta dell’utente Installabile su una varietà di hardware diversi, anche se poco potenti Stabile, altamente personalizzabile, gratuito Può convivere con Windows sullo stesso disco rigido: all’accensione l’utente sceglie quale S.O. attivare “Pacchetti” applicativi extra installabili da web in modo semiautomatico

130 Linux: distribuzioni Varietà di distribuzioni, fornite gratuitamente su Web o su DVD. Ciascuna distribuzione aggiunge di suo un sistema semiautomatico di installazione ed aggiornamento del software, più una particolare scelta di programmi applicativi e di configurazioni. Vedi: per una panoramica. Esistenza di distribuzione “live” su CD/DVD (consentono di provare un sistema linux sul proprio computer senza installare nulla sul disco rigido)

131 Linux: limiti Compatibilità con dati in uso nel mondo Windows? (mancanza di Microsoft, Office; presenza di OpenOffice) Funzionamento con hardware recenti (specialmente portatili)? Molteplicità eccessiva degli strumenti software? Innovatività dell’impostazione generale (S.O. originali o “cloni” dell’ambiente windows?)

132 Per conoscere Linux “Linux Day” a Trento: 24 ottobre 2009, al Liceo Scientifico Galilei di Trento

133 LETTURE Architettura: Sistema operativo: Open source


Scaricare ppt "COMPUTER: HARDWARE E SOFTWARE"

Presentazioni simili


Annunci Google