La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sistemi Operativi Marco D. Santambrogio – Ver. aggiornata al 12 Aprile 2013.

Presentazioni simili


Presentazione sul tema: "DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sistemi Operativi Marco D. Santambrogio – Ver. aggiornata al 12 Aprile 2013."— Transcript della presentazione:

1 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sistemi Operativi Marco D. Santambrogio – Ver. aggiornata al 12 Aprile 2013

2 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEAgenda Intro e un po di storia Qualche curiosità Accenni sul funzionamento di un SO 2

3 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Cosa vediamo adesso… Intro e un po di storia Qualche curiosità Accenni sul funzionamento di un SO 3

4 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Le generazioni 40: Prima generazione E in realtà difficile parlare di SO 50: Seconda generazione La General Motors Research Laboratories crea il 1mo SO per lIBM : Terza generazione Multiprogramming, più programmi simultaneamente nella memoria centrale Time-sharing 70-90: Quarta generazione Circuiti LSI (Large Scale Integration) Nascita dei Personal Computer 00: Quinta generazione Sistemi multicore 4

5 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEUNIX 1969: La storia di UNIX inizia nei laboratori Bell della AT&T 1973: La svolta, UNIX viene scritto in C. 1975: Viene scritta la Versione 6 di UNIX Divenne largamente utilizzata anche fuori dai laboratori Bell Il problema/il vantaggio: Essendo allora UNIX libero, ogni venditore di macchine si faceva una versione proprietaria esclusiva, un po' diversa ed spesso incompatibile con le versioni degli altri venditori 5

6 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 6

7 *NIX 7

8 GNU Operating System 1984: Nasce il progetto GNU GNUs Not Unix GNU è un sistema operativo tipo Unix distribuito come SW libero Il Kernel di GNU è Hurd Kernel in continuo sviluppo GNU/Linux Nota: il kernel (nucleo) è un programma che si occupa di dare le funzionalità di base per il funzionamento di un computer 8

9 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONELinux 1991: Nascita di Linux Linus Torvalds Si scontra in un newsgroup Usenet con il professor Andrew Tanenbaum Tanenbaum è linvetore di Minix Divieto di modifcare il codice per fini non educational e sotto approvazione dellautore Kernel monolitici Vs microkernel 9

10 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE microkernel Vs kernel modulare microkernel kernel minimale con lo stretto indispensabile ad utilizzare lhardware si scrivono tutti i servizi (chiamate di sistema) in user- space comunicano direttamente con il kernel minimale le altre applicazioni in user-space possono decidere di utilizzare le chiamate di sistema o riferirsi direttamente al microkernel. kernel monolitico Tutto quanto necessario ad usare il sistema e a fornirne un utilizzo ai programmi che vi girano è programmato in un unico programma (monolitico) che gira in kernel-space 10

11 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Linux e la sua comunità I LUG: Linux User Group Associazioni senza fine di lucro Diffondere luso del SW Libero Diffondere luso dei SO basati sul kernel di Linux Il Linux DAY Evento per la promozione del SW libero e dei sistemi basati su Linux 11

12 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE shell di DOS 12

13 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEDOS CP/M Control Program for Microcomputers Gary Kildall della Digital Research 1980: 86-DOS/QDOS Quick and Dirty Operating System Tim Paterson della Seattle Computer Products 1981: Luglio: Microsoft compra per$50K(?) l86-DOS Agosto: Microsoft Disk Operating System MS-DOS

14 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEWindows Nov. 1983: Annuncio di Windows Nov. 1955: Windows 1.0 rilasciato 1998: Windows : Windows : Windows XP 2007: Windows Vista 2009: Windows 7 kernel ibrido microkernel fatto comunicare tramite messaggi con i restanti servizi, tutto in kernel-space 14

15 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Mac OS e Mac OS X 1984: Mac OS Macintosh Operating System Primo OS ad usare con successo una GUI 86-95: NextSTEP (98 Rhapsody) kernel Mach (microkernel) Objective-C Gestione orientata agli oggetti Diventerà Cocoa Mac OS X Rhapsody + Mac OS 15

16 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 16 Time #Cores Quad core cores Dual core 1000 cores Intel Sun N Cores 8-24 cores Il mondo dellinformatica è pronto per una rivoluzione Larrabee Calcolo parallelo

17 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sistemi Operativi per multicore Barrelfish Operating ETH K42/Tornado IBM/Uniersity of Toronto fos: Factored Operating MIT groups.csail.mit.edu/carbon/fos Tessellation Berkeley 17

18 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Cosa vediamo adesso… Intro e un po di storia Qualche curiosità Accenni sul funzionamento di un SO 18

19 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE In Italia…Alessandro Rubini Co-autore di Linux Device Drivers Pagina personale Intervista: Il kernel? Non è vecchio, solo complicato dombra.blogspot.com/2010/04/il-kernel- non-e-vecchio-solo-complicato.html 19

20 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE RTAI: RealTime Application Interface Patch Real Time per Linux DIAPM: Dipartimento di Ingegneria Aerospaziale https://www.rtai.org/ AcOS: Autonomic Operating System for Adaptive Computing Patch Self-Aware per Linux e FreeBSD DEI: Dipartimento di Elettronica e Informazione morphone.OS Patch Self-Aware per Android DEI: Dipartimento di Elettronica e Informazione … il Politecnico di Milano

21 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Cosa vediamo adesso… Intro e un po di storia Qualche curiosità Accenni sul funzionamento di un SO 21

22 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 22 Il sistema Operativo Il sistema operativo (SO) è uno strato software che nasconde agli utenti i dettagli dellarchitettura hardware del calcolatore Fornisce diverse funzionalità ad alto livello che facilitano laccesso alle risorse del calcolatore Supporta lesecuzione dei programmi applicativi definendo una macchina virtuale, cioè un modello ideale del calcolatore, sollevando il software applicativo dal compito di gestire i limiti delle risorse disponibili

23 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 23 Il SO e la macchina reale CPU A, B, C, D RAM A B C D bus utilizzo a rotazionesuddivisione in blocchi Periferiche A, B, C, D utilizzo a rotazione

24 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 24 Il SO e le macchine virtuali Il sistema operativo può gestire più processi simultaneamente Rende quindi visibile ad ogni processo una macchina virtuale ad esso interamente dedicata e quindi con risorse proprie nella figura OD = other devices (altri dispositivi) CPU ARAM A OD A HD A Rete AI/O A proc. A CPU BRAM B OD B HD B Rete BI/O B proc. B CPU DRAM D OD D HD D Rete DI/O D proc. D CPU CRAM C OD C HD C Rete CI/O C proc. C bus

25 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 25 Architettura del SO Il SO è tipicamente organizzato a strati Ciascun strato costituisce una macchina virtuale che gestisce una risorsa del calcolatore Le principali funzionalità offerte sono: La gestione dei processi La gestione della memoria La gestione delle periferiche (tra cui la rete) La gestione del file system La gestione dellinterfaccia utente Le prime tre funzionalità sono indispensabili per il funzionamento del sistema e pertanto costituiscono il nucleo del SO (Kernel) Programmi utente Interprete comandi File system Gestione delle periferiche Gestione della memoria Gestione dei processi Macchina fisica Kernel

26 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 26 Tipi di Sistema Operativo Esistono diversi tipi di sistema operativo, ma in generale si possono dividere in: Monoutente e monoprogrammato Esecuzione un solo programma applicativo alla volta Viene utilizzato da un solo utente per volta Esempio: DOS Monoutente e multiprogrammato (multitasking) Consente di eseguire contemporaneamente più programmi applicativi Esempio: Windows 95 Multiutente Consente lutilizzo contemporaneo da parte di più utenti E inerentemente multiprogrammato Esempio: Linux

27 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 27 Gestione dellinterfaccia utente Il SO fornisce un interprete dei comandi inseriti dallutente attraverso la tastiera o il mouse Linterfaccia utente può essere Testuale (esempio: DOS) Grafica (esempio: Windows) Consente linserimento di diversi comandi: Esecuzione di programmi applicativi Operazioni sulle periferiche Configurazione dei servizi del SO Operazioni sul file system (creazione, rimozione, copia, ricerca, ecc.)

28 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 28 Gestione del file system Il SO si occupa di gestire i file sulla memoria di massa: Creare un file Dargli un nome Collocarlo in un opportuno spazio nella memoria di massa Accedervi in lettura e scrittura Gestione dei file indipendente dalle caratteristiche fisiche della memoria di massa I file vengono inclusi allinterno di directory (o cartelle, o cataloghi) In genere, le directory sono organizzate ad albero

29 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 29 La struttura ad albero

30 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 30 Organizzazione dei file A ciascun utente è normalmente associata una directory specifica, detta home directory Il livello di protezione di un file indica quali operazioni possono essere eseguite da ciascun utente Ciascun file ha un pathname (o nome completo) che include lintero cammino dalla radice dellalbero Il contesto di un utente allinterno del file system è la directory in cui correntemente si trova

31 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 31 Gestione delle periferiche Sono meccanismi software a cui è affidato il compito di trasferire dati da e verso le periferiche Consentono ai programmi applicativi di leggere o scrivere i dati con primitive di alto livello che nascondono la struttura fisica delle periferiche e.g., nel sistema Unix le periferiche sono viste come file speciali

32 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 32 Gestione dei processi Il SO multiprogrammato e multiutente si occupa di gestire lesecuzione concorrente di più programmi utente La CPU del calcolatore (o le CPU nei sistemi multiprocessore) deve essere distribuita in maniera opportuna fra i programmi da eseguire Ogni programma eseguito ha a disposizione una macchina virtuale realizzata dal SO che ne consente lesecuzione come se la CPU del calcolatore fosse interamente dedicata a esso

33 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ma prima… PAUSA!!!

34 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 34 Che cosa è un processo per il SO? Processo programma ! Processo = esecuzione di un programma, composto da: codice eseguibile (il programma stesso) dati Lo stesso programma può essere associato a più processi: Un programma può essere scomposto in varie parti e ognuna di esse può essere associata a un diverso processo Lo stesso programma può essere associato a diversi processi quando esso viene eseguito più volte, anche simultaneamente

35 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Processi e strutture dati Ad un processo sono associate le seguenti strutture dati: Uno o più segmenti di codice Uno o più segmenti di memoria dati I descrittori di eventuali risorse in uso (file, finestre, periferiche, ecc.) Uno o più thread Un processo consta di tre zone di memoria chiamate regioni: dati, codice e stack 35

36 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ricordate la… visibilità Livello globale main f1 g1,g2,g3 a,b a,c a,d d blocco1 blocco2 blocco3 char g1, g2, g3; main() { int a, b; … {/*blcco1*/ double a,c; } … } void f1(){ … {/*blocco2*/ char a,d; } … {/*blocco3*/ float d … }

37 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ambiente di esecuzione Lambiente di esecuzione di una funzione (variabili e parametri formali) viene creato al momento della chiamata e rilasciato quando la funzione termina In una sequenza di chiamate, lultima chiamata è la prima a terminare La zona di memoria di lavoro che contiene lambiente di esecuzione di un sottoprogramma è gestito con la logica di una pila (stack) Lultimo elemento inserito nello stack è il primo ad essere estratto Logica LIFO (Last In First Out) 37

38 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ambiente di esecuzione: esempio 38 void a (); void b(); void c(); main(){ … a(); … } void a (){ printf(Esecuzione di a\n); b(); printf(Termine di a\n); } void b(){ printf(Esecuzione di b\n); c(); printf(Termine di b\n); } void c(){ printf(Esecuzione di c\n); … printf(Termine di c\n); } Esecuzione di a Esecuzione di b Esecuzione di c Termine di c Termine di b Termine di a Ambiente a Ambiente b Ambiente c

39 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Record di attivazione Alla chiamata di una funzione si alloca uno spazio di memoria (record di attivazione) in cima allo stack per contenere i parametri formali e le variabili locali lo spazio viene rilasciato quando la funzione termine (ricordate la funzione swap senza puntatori?) Il record di attivazione contiene: Lambiente locale della funzione Lindirizzo di ritorno al chiamante Funzionamento: Ad ogni attivazione viene allocato un record di attivazione Al termine dellattivazione il record viene rilasciato (larea di memoria è riutilizzabile) La dimensione del record di attivazione è già nota in fase di compilazione Il numero di attivazioni della funzione non è noto Il primo record di attivazione è destinato al main() 39

40 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lo stack Nello stack, i record vengono allocati uno sopra laltro; il primo record dello stack è relativo allultima funzione attivata e non ancora terminata Lo stack cresce dal basso verso lalto Stack pointer: registro della CPU che contiene lindirizzo della cima della pila Una parte della RAM è destinata a contenere lo stack Stack overflow: quando larea della RAM destinata allo stack viene superata (troppi annidamenti di chiamate) Operazione di inserimento: -incremento SP -scrittura in parola indirizzata da SP Operazione di estrazione: -lettura da parola indirizzata da SP -decremento SP SP

41 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEProblema Si scriva un programma in C che, preso un Cubo di char, lo stampa a video La dimensione del cubo è 2x2x2 41

42 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Soluzione: cubo di caratteri 42

43 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Ma se… Si scriva un programma in C che, preso un Cubo di char, lo stampa a video La dimensione del cubo è 1000x1000x Stack Overflow: 10 3 x10 3 x10 3 =10 9

44 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 44 Lo stato di un processo Lo stato del processo può essere distinto fra stato interno e stato esterno. Lo stato interno indica: la prossima istruzione del programma che deve essere eseguita; i valori delle variabili e dei registri utilizzati dal processo. Lo stato esterno indica se il processo è: in attesa di un evento, ad es. la lettura da disco o linserimento di dati da tastiera; in esecuzione; pronto per lesecuzione, e quindi in attesa di accedere alla CPU.

45 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stato di un processo (1) In esecuzione: assegnato al processore ed eseguito da esso Pronto: può andare in esecuzione, se il gestore dei processi lo decide In attesa: attende il verificarsi di un evento esterno per andare in stato di pronto 45 Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore

46 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stato di un processo (2) I processi appena creati sono messi in stato di pronto Il kernel decide quale processo pronto mettere in stato di esecuzione Il kernel assegna il processore a un processo per un quanto di tempo Coda dei processi pronti Round-robin Priorità dei processi 46 Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2

47 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stato di un processo (3) Il processo in esecuzione passa in stato di attesa se richiede operazioni di I/O (interruzione interna) Corrisponde alla esecuzione dellistruzionechiamata supervisore (SuperVisor Call, SVC) 47 Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2

48 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stato di un processo: cambio contesto Cambiamento di contesto: Salvare il contesto di P1 nel suo descrittore di processo Il processore è ora libero, un altro processo passerà in esecuzione 48 Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2

49 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stati di un processo (5) Quando loperazione di I/O è finita viene generata una interruzione esterna Il processo in esecuzione viene interrotto Il kernel esegue il gestore delle interruzioni che esegue le azioni opportune P1 può tornare pronto Il kernel sceglie quale processo mandare in esecuzione 49 Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2

50 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stato di un processo: Preemption Preemption: quando il quanto di tempo è scaduto, il kernel interrompe il processo in esecuzione Si cerca di garantire un uso equo della CPU a tutti i processi 50 Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto - Fine quanto di tempo - Interruzione esterna Interruzione interna Evento esterno atteso - Fine esecuzione - Abort per errore P1P2

51 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 51 Gestione della memoria La gestione concorrente di molti programmi applicativi comporta la presenza di molti programmi in memoria centrale Il SO offre a ogni programma applicativo la visione di una memoria virtuale, che può avere dimensioni maggiori di quella fisica Per gestire la memoria virtuale il SO dispone di diversi meccanismi: Rilocazione Paginazione Segmentazione

52 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 52 E un modello lineare La memoria è una sequenza di celle numerate da 0 fino a un valore massimo M Il numero che identifica ogni cella è detto indirizzo La dimensione della cella dipende dal tipo di calcolatore (per noi sarà di 8 bit, ossia un byte) MEMORIA M Il SO e la gestione della memoria

53 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 53 Spazio di indirizzamento Lo spazio di indirizzamento è il numero massimo di indirizzi possibili della memoria Dipende dalla lunghezza in bit degli indirizzi Se gli indirizzi sono lunghi N bit, lo spazio di indirizzamento è di 2 N celle Tutte le celle devono essere indirizzabili (cioè devono avere un indirizzo), quindi Dimensione memoria Spazio indirizzamento Le dimensioni della memoria sono generalmente espresse in: KB (Kilobyte) = 2 10 byte MB (Megabyte) = 2 20 byte GB (Gigabyte) = 2 30 byte

54 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 54 Memoria virtuale vs. fisica La memoria virtuale e quella fisica non coincidono per i seguenti motivi: nella memoria fisica risiedono contemporaneamente il SO e i diversi processi conviene mantenere nella memoria fisica una sola copia di parti di programmi che sono uguali in diversi processi (memoria condivisa) Per evitare la frammentazione della memoria (spazi vuoti in memoria inutilizzabili) è utile allocare i programmi suddividendoli in pezzi La memoria fisica può essere insufficiente a contenere la memoria virtuale di tutti processi Gli indirizzi contenuti in un programma eseguibile sono indirizzi virtuali e fanno riferimento alla memoria virtuale La memoria effettivamente presente nel calcolatore è la memoria fisica e i suoi indirizzi sono detti indirizzi fisici

55 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MEMORIA Processo P Problema della frammentazione Sistema Operativo Processo Q Processo R Processo S MEMORIA Sistema Operativo Processo P Processo Q Processo R Processo S (1) Processo S (2)

56 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 56Paginazione Si rinuncia ad avere una zona contigua della memoria fisica per ciascun processo La memoria virtuale del programma viene suddivisa in porzioni (pagine virtuali) di lunghezza fissa (pot. di 2, e.g., 4K) La memoria fisica viene divisa in pagine fisiche della stessa dimensione Le pagine virtuali di un programma vengono caricate in altrettante pagine fisiche, non necessariamente contigue

57 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE MEMORIA VIRTUALE Q MEMORIA VIRTUALE P MEMORIA FISICA dimensione pagina Paginazione: esempio

58 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 58 Memory Management Unit Per accelerare la traduzione da NPV (Numero Pagina Virtuale) a NPF (Numero Pagina Fisica) si ricorre allora alla MMU La MMU è una memoria particolarmente veloce (memoria associativa) dalle dimensioni ridotte, contenente le informazioni per la traduzione da NPV a NPF delle pagine più utilizzate Visto che gli NPV e gli NPF si riferiscono alle pagine di un processo, ogni volta che il processo in esecuzione cambia la MMU dovrebbe essere tutta riscritta Per evitare ciò si aggiunge una colonna che dice a quale processo appartengono le pagine e un registro che dice qual è il processo attualmente in esecuzione

59 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Gerarchiadi memoria 59

60 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 60 Pagine residenti e non Durante lesecuzione di un programma solo un certo numero delle sue pagine virtuali è caricato in altrettante pagine fisiche Tali pagine sono dette pagine residenti A ogni accesso alla memoria si controlla che allindirizzo virtuale corrisponda una pagina residente, altrimenti si produce un interrupt di segnalazione di errore detto page-fault Il processo viene sospeso in attesa che la pagina richiesta venga caricata in memoria, eventualmente scaricando su disco una pagina già residente per liberare lo spazio necessario

61 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 61 La memoria cache Obiettivo: fornire agli utenti una memoria grande e veloce fornire al processore i dati alla velocità con cui è in grado di elaborarli Problema: Il tasso di crescita nella velocità dei processori non è stato seguito da quello delle memorie Tempo di accesso alle SRAM (Static Random Access Memory): ns al costo di $100 - $250 per Mbyte. Tempo di accesso alle DRAM (Dynamic Random Access Memory): ns al costo di $5 - $10 per Mbyte. Tempo di accesso al disco: da 10 a 20 million ns al costo di $ $0.20 per Mbyte. Il problema della memoria: costo vs. prestazioni

62 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Fonti per lo studio + Credits Fonti per lo studio Il Sistema di elaborazione, Slide Info B, M. D. Santambrogio Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill Capitolo 2 Introduzione ai sistemi informatici, D. Sciuto, G. Buonanno, L. Mari, 4a Ed, McGrawHill Capitolo 1, 2, 5 The Art & Craft of Computing, S. Ceri, D. Mandrioli, L. Sbattella, Addison-Wesley Capitolo 2 Approfondimenti Struttura e progetto dei calcolatori, D. A. Patterson, J. Hennessy, 3a Ed, Zanichelli Capitolo 1, 2 Credits Prof. G. Buonanno e D. Sciuto, LIUC 62


Scaricare ppt "DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sistemi Operativi Marco D. Santambrogio – Ver. aggiornata al 12 Aprile 2013."

Presentazioni simili


Annunci Google