© 2001 William Fornaciari© 2001 William Fornaciari
CEFRIELCEFRIELConsorzio per la Formazione e la RicercaConsorzio per la Formazione e la Ricercain Ingegneria dell’Informazionein Ingegneria dell’Informazione
PolitecnicoPolitecnicodi Milanodi Milano
Architetture di calcolo e sistemi operativiArchitetture di calcolo e sistemi operativi
IntroduzioneIntroduzione
Docente:Docente:
William FornaciariWilliam Fornaciari
Politecnico di MilanoPolitecnico di [email protected]@elet.polimi.it
www.elet.polimi.it/~fornaciawww.elet.polimi.it/~fornacia
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 22 - -
Sistema informaticoSistema informatico
I sistemi informatici sono gli esecutori degli algoritmi (programmi)
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 33 - -
Sistema di elaborazioneSistema di elaborazione
Hardware per elaborazione sistemi embedded workstation/PC main-frame reti di calcolatori
Sistema Operativodedicato alla gestione dell’elaboratore e all’esecuzione dei programmi
Software applicativodedicato alla realizzazione di specifiche esigenze applicative
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 44 - -
I vari livelli di astrazioneI vari livelli di astrazione
Il SW introduce livelli di astrazione dell’hardwareTramite il sistema operativo il calcolatore diventa un sistema in grado di eseguire programmiTramite le applicazioni il calcolatore diventa un sistema in grado di svolgere un compito specifico
SW applicativo
Sistama Operativo
Hardware
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 55 - -
Organizzazione del softwareOrganizzazione del software
Software Applicativo
Sistema Operativo
Strumentidi
Produttività
Software Personale
Ambientedi
Programmaz.
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 66 - -
Architettura di un calcolatoreArchitettura di un calcolatore
Modello di Von Neumann (anni ‘50)Quattro elementi fondamentali
Unità diElaborazione
MemoriaCentrale
InterfaccedellePeriferiche
Bus di sistema
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 77 - -
Elementi Von NeumannElementi Von Neumann
Memoria CentraleInformazioni necessarie all’esecuzione di un programma: istruzioni e dati
Unità di Elaborazione (CPU)Acquisisce, interpreta ed esegue le istruzioni di un programma
Interfacce delle PerifericheLe periferiche consentono l’interazione con il mondo esternoFanno parte della macchina di Von Neumann solo le interfacce verso le periferiche
Bus di sistemaOpera il collegamento fra i vari elementi
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 88 - -
Memoria centraleMemoria centrale
La memoria centrale accoglie il “materiale di lavoro” su cui opera l’elaboratore: dati e programmiLe informazioni sono memorizzate in forma binaria: sequenze di “zeri” e “uni”La memoria centrale è una sequenza di celle di memoria, ognuna delle quali contiene una insieme di bit (8 o 16 o 32 o 64 o...)Tipi di memoria
RAM (Random Access Memory)ROM (Read Only Memory)....
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 99 - -
Componenti di una CPUComponenti di una CPU
ALUALU
Registro IndirizziRegistro Indirizzi
ClockClock
ProgramCounter
ProgramCounter
Registro datiRegistro dati
Unità di Controllo
Unità di ControlloReg. Istruz.
Corrente
Reg. Istruz.Corrente
RegistroInterruz.
RegistroInterruz.
AA
BB
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1010 - -
Componenti di una CPUComponenti di una CPU
Unità di controllopreleva, decodifica ed esegue le istruzioni
Clocksincronizza tutte le operazioni
ALU - Arithmetic Logic Unitesegue operazioni aritmetiche
Registrielementi di memoria interni alla CPU
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1111 - -
Componenti di una CPUComponenti di una CPU
Registro istruzione correnteContiene l’istruzione in esecuzione
Program CounterContiene l’indirizzo della prossima istruzione
Registro Indirizzi e DatiTrasferimento dati da/verso memoria o perif.
Registro interruzioniColloquio con le periferiche
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1212 - -
Interfacce verso le perifericheInterfacce verso le periferiche
Elementi circuitali per collegare l’elaboratore alle perifericheContengono i registri per
inviare comandi alla perifericaregistro comando
scambiare datiregistro dati periferica
controllo funzionamentoregistro informazioni
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1313 - -
Il bus di sistemaIl bus di sistema
Collega tutte le unità del sistemaIn ogni istante collega 2 unità
una trasmetteuna riceve
Il bus è sempre sotto il controllo della CPU che seleziona le unità che devono collaborare (master e slave)Tre categorie
bus datiTrasporta i dati
bus indirizziSpecifica una cella di memoria o una periferica per trasferimento di dati
bus controlloSpecifica l’operazione da eseguire (lettura o scrittura)
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1414 - -
Le perifericheLe periferiche
Le periferiche sono esterne all’elaboratore, ma sono un componente fondamentaleAnalizzeremo due tipi di periferiche
I terminaliLe stampanti
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1515 - -
TerminaliTerminali
Un terminale è costituito dauna tastiera e un (eventuale) mouse (input)un video e scheda grafica relativa (output)
Caratteristiche importanti video:numero coloririsoluzione (pixel - picture element)dimensione (pollici)capacità grafica (immagini o solo testo)
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1616 - -
StampantiStampanti
Parametri caratteristici:velocitàrisoluzione (dpi)set di caratteri (font)rumorosità
Tecnologiead aghia getto d’inchiostrolaser
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1717 - -
Estensioni all’architetturaEstensioni all’architettura
Principale limite di Von Neumannsequenzialità delle operazioni
Tutte le estensioni tendono a superare questo limite o, in generale, a migliorare le prestazioni
uso di processori dedicatiprocessore intrinsecamente paralleloarchitetture multi-processoregerarchie di memoria
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1818 - -
Architettura di un ambiente Architettura di un ambiente PCPC
Concepito per applicazioni generiche e uso personale
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 1919 - -
Architettura di un PC (1)Architettura di un PC (1)
Tradizionalmente il PC è il Personal Computer IBM compatibile
stesso sistema operativostessa famiglia di CPU (o compatibili)
Oggi il termine PC si riferisce a svariati tipi di macchine
diversi sistemi operativi (DOS, Windows 98/NT, OS/2, MacOS, Linux?, ...)diversi tipi di CPU (Pentium, PowerPC,…)
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2020 - -
Architettura di un PC (2)Architettura di un PC (2)
Gli elementi che costituiscono un PC sono:
RAMCPUMotherboardSchede di espansione
scheda videoscheda audio...
Memorie di massa
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2121 - -
CCentral entral PProcess rocess UUnit - CPUnit - CPU
Le CPU tipiche di un PC sono prodotte da Intel e hanno la caratteristica di mantenere la compatibilità con il loro antenato 8086 (inizio anni ‘80)In ordine di potenza
80x86 (286, 386, 486)PentiumPentium ProPentium MMXPentium II (Pentium Pro + MMX)Pentium III...
-
+
Potenza di calcolo
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2222 - -
Caratteristiche delle CPUCaratteristiche delle CPU
Le CPU si differenziano innanzitutto per l’architettura interna
Esempio: possibilità di eseguire più istruzioni in parallelo
Un’altra importante distinzione è la frequenza di funzionamento
Attualmente si va da 500 Mhz a 1.2 GHz
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2323 - -
RAMRAM
E’ la memoria centrale del sistemaValori tipici
minimo: 32 MBmassimo: 256x3 MB
La RAM si differenzia per la velocitàSIMM: tempi di accesso dell’ordine di 60 nsDIMM: tempi di accesso di 10 ns
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2424 - -
MotherboardMotherboard
La motherboard è una scheda su cui sono montati tutti i componenti del sistema
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2525 - -
Caratteristiche Caratteristiche MotherboardMotherboard
Alloggiamento della CPUEsempi: Socket 7 (Pentium), Slot 1 (Pentium II)
Alloggiamento della RAMSIMM o DIMM
Slot di espansioneDifferenti standard: ISA, EISA, VESA, PCISi differenziano per le prestazioni e il tipo di connessione (novita’: USB)Esempi di schede di espansione: Scheda video, Scheda audio, Controller memorie di massa
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2626 - -
Memorie di MassaMemorie di Massa
Le memorie di massa di un PC comprendono:Dischetti removibili
Dischi da 1,44 Mega o dischi ZIP da oltre 100 MBHard Disk Drive:
Si differenziano per prestazioni e capacità, 10-20 GB sono tipici
Unità nastroElevata capacità. Es. Unità DAT da 2 GB
CD-ROM DriveSi differenziano prestazioni. Esempio: 52x
CD-R e CD-RW DriveConsentono la scrittura e riscrittura di un CDPrezzi: meno di mezzo milione di lire
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2727 - -
Schede videoSchede video
Lo standard video di base per i PC è denominato VGA (Video Graphics Array)Nella versione base consente risoluzioni di 640x480 a 16 coloriLe schede video si diferenziano per:
Memoria video (legato al parametro precedente)Tipo di connessione (ISA, VESA, PCI, AGP)Risoluzioni e numero di colori supportatiVelocità (eventuale presenza di processori dedicati)
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2828 - -
Il Sistema OperativoIl Sistema Operativo
Il sistema operativo è un insieme di programmi che operano direttamente sulla macchina fisica, mascherandone le caratteristiche e fornendo agli utenti un insieme di funzionalità di alto livello
Protezione delle risorseCondivisioneGestione del sistema e sviluppo applicazioni in maniera modulare e flessibile
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 2929 - -
Il Sistema OperativoIl Sistema Operativo
Il sistema operativo migliora le caratteristiche della macchina realizzando una macchina virtualeIl SO operativo può, per esempio, rendere lo stesso hardware
Monoutente e monoprocesso Monoutente e multiprocesso Multiutente e multiprocesso
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3030 - -
Architettura di un SO Architettura di un SO (1)(1)
Architettura a buccia di cipolla Facilita la concezione Garantisce la modularità del sistema
Ciascun strato realizza una macchina virtuale
ovvero rende disponibili al livello superiore funzionalità non presenti nel livello sottostante
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3131 - -
Architettura di un SO Architettura di un SO (2)(2)
MACCHINA FISICA
PROGRAMMI UTENTE
Interprete Comandi
File System
Gestione delle periferiche
Gestione della memoria
Gestione dei processi (nucleo)
SistemaOperativo
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3232 - -
Gestione dei processi (1)Gestione dei processi (1)
Il Nucleo è responsabile dell’esecuzione dei programmi da parte della CPUProcesso
unità di esecuzione, ad ogni programma è associato un processo che evolve con i suoi dati
Esecuzione di un programmamandare in esecuzione il corrispondente processo
In un sistema esistono in genere più processi in esecuzione quasi-parallela
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3333 - -
Gestione dei processi (2)Gestione dei processi (2)
Compiti del nucleoGestione della CPU (anche fra molti utenti e/o processi)Segnalazione e gestione di eventi provenienti da unità periferiche
Macchina virtuale a strati superioriCiascun programma opera come se avesse a disposizione un’unità di elaborazione dedicata
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3434 - -
Gestione della memoriaGestione della memoria
Il Gestore della memoria ha il compito di allocare la memoria e partizionarla fra i processi che la richiedono
Maschero condivisione regolando accessoFornisco spazio di indirizzamento superiore alla capacità fisica della memoria centrale
Macchina virtuale a strati superioriCiascun programma opera come se avesse disponibile una memoria dedicata
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3535 - -
Gestione delle perifericheGestione delle periferiche
Il Gestore delle periferiche è responsabile delle operazioni di I/O che coinvolgono le periferiche
Tutto il software di gestione delle periferiche è detto driver e deve essere “caricato” nel sistema operativo
Macchina virtuale a strati superioriCiascun programma opera come se avesse a disposizione una periferica dedicata
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3636 - -
Gestione dei fileGestione dei file
Il file system è responsabile della gestione dei file in memoria di massa
Consente una strutturazione dei dati tramite file e contenitori di fileConsente operazioni di alto livello per leggere e scrivere datiConsente di definire dei diritti di uso/visibilità per vari utenti
Macchina virtuale a strati superioriGestione strutturata delle memorie di massa
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3737 - -
Interprete dei comandi Interprete dei comandi (1)(1)
Consente all’utente di attivare i programmi
Consente di accedere al programma tramite il file systemalloca memoria e carica il programmaattiva il processo
L’interprete sfrutta tutti gli strati del Sistema Operativo
Architetture Informatiche e sistemi operaArchitetture Informatiche e sistemi operativitivi
© 2001 William Fornaciari© 2001 William Fornaciari- - 3838 - -
Interprete dei comandi Interprete dei comandi (2)(2)
L’interprete è quello che ha il maggior impatto sull’utente finale poichè costituisce ciò che l’utente vedeEsempi
DOS: interprete dei comandi a carattereC:\>Windows: interprete dei comandi a finestre grafiche