MEMORIA VIRTUALE. Programma: Processore: Memoria fisica: Caso più semplice:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MEMORIA VIRTUALE. Programma: Processore: Memoria fisica: Caso più semplice:"

Transcript

1 MEMORIA VIRTUALE Programma: utilizza indirizzi che prendono il nome di indirizzi logici: l insieme degli indirizzi logici costituisce il cosiddetto spazio logico. Processore: utilizza indirizzi che prendono il nome di indirizzi fisici, emessi utilizzando un certo numero di piedini: l insieme degli indirizzi fisici costituisce il cosiddetto spazio fisico. Memoria fisica: quella effettivamente presente in un calcolatore; sottoinsieme dello spazio fisico (non coincide con lo spazio fisico principalmente per problemi di costo). Caso più semplice: indirizzo logico coincidente con indirizzo fisico; in questo caso un programma può utilizzare al massimo uno spazio di memoria avente una dimensione uguale a quella della memoria fisica. G. Frosini Slide 1

2 PAGINAZIONE (1) Programmi di lunghezza superiore alla dimensione della memoria fisica: opportuno rendere differenti gli indirizzi logico e fisico; meccanismo di virtualizzazione della memoria (memoria virtuale), con utilizzo, oltre che della memoria fisica, anche della memoria di massa. Paginazione: indirizzo logico (indirizzo virtuale) pensato suddiviso in due parti: un indirizzo virtuale di pagina (a bit) e un indirizzo virtuale di riga all interno della pagina (b bit). memoria virtuale suddivisa in 2**a pagine, ciascuna di ampiezza 2**b byte. memoria fisica suddivisa in pagine di ampiezza 2**b byte. Associazione tra pagine virtuali e pagine fisiche: realizzata mediante una tabella di corrispondenza. G. Frosini Slide 2

3 PAGINAZIONE (2) Memoria virtuale Memoria fisica Tabella... Memoria di massa G. Frosini Slide 3

4 PAGINAZIONE (3) Indirizzo virtuale di pagina: utilizzato per accedere a una riga di questa tabella (descrittore di pagina), che dà l indirizzo fisico di pagina. Indirizzo virtuale di riga: inalterato, e rappresenta anche l indirizzo fisico di riga. Memoria virtuale: può contenere fino a 2**a pagine. Memoria fisica: in genere, è in grado di contenere un numero di pagine assai inferiore, per cui viene utilizzata per la memorizzazione temporanea delle pagine anche la memoria di massa. G. Frosini Slide 4

5 PAGINAZIONE (4) Programma che genera un indirizzo di memoria: la Memory Management Unit (MMU) provvede ad effettuare (via hardware) la traduzione di indirizzo da virtuale a fisico. Tabella di corrispondenza: bit P (Present) contenuto in ogni descrittore, specifica se una pagina virtuale è presente o meno in memoria fisica; in caso di non presenza, la MMU genera un eccezione di page-fault: memorizzazione (in un registro speciale del processore) dell indirizzo virtuale non tradotto, e in pila dell indirizzo dell istruzione attuale. Routine che va in esecuzione (routine di trasferimento): utilizza le informazioni contenute nel registro speciale per completare a livello software la gestione della memoria virtuale; provvede a trasferire la pagina dalla memoria di massa alla memoria fisica e ad aggiornare la tabella di corrispondenza. G. Frosini Slide 5

6 PAGINAZIONE (5) Campo del descrittore di pagina normalmente riservato all indirizzo fisico: può essere utilizzato dalla routine di trasferimento per identificare la pagina nella memoria di massa. Termine della routine: il ritorno avviene all istruzione che aveva dato luogo a fault, che viene quindi rieseguita. Trasferimento di una pagina da memoria di massa a memoria fisica: può rendere necessario un trasferimento inverso, da memoria fisica a memoria di massa; in questo caso si ha un rimpiazzamento. G. Frosini Slide 6

7 PAGINAZIONE (6) Memoria virtuale: dimensioni non legate a quelle della memoria fisica, ma a quelle della memoria di massa. completamente trasparente al programmatore: indirizzi generati dal programma si riferiscono tutti allo spazio di indirizzamento virtuale; corrispondenza tra pagine virtuali e pagine fisiche gestita, utilizzando il meccanismo di page-fault, da routine del sistema operativo. Fase di rilocazione di un programma: non necessaria in presenza di memoria virtuale: predisponendo per ogni programma un opportuna tabella di corrispondenza, la memoria virtuale può risultare sempre disponibile a partire dall indirizzo 0. G. Frosini Slide 7

8 RIESECUZIONE DELLE ISTRUZIONI Eccezione per assenza di pagina in memoria fisica (page_fault): programma interrotto perché non è stato possibile tradurre un indirizzo da virtuale a fisico (prelevare o eseguire per intero l istruzione corrente). Gestione dei fault: i registri del processore hanno copie di lavoro; i registri vengono aggiornati solo quando l istruzione è stata completamente eseguita; l interruzione di page-fault memorizza in pila il valore di EIP non ancora aggiornato, ossia l indirizzo dell istruzione attuale. Pagina mancante: la routine di trasferimento termina con una IRET; il programma ricomincia con il prelievo e l esecuzione dell istruzione interrotta (l istruzione interrotta viene rieseguita); i registri del processore non sono stati modificati dalla precedente esecuzione parziale della stessa istruzione. G. Frosini Slide 8

9 MEMORIA FISICA IN MEMORIA VIRTUALE (1) Memoria fisica: per poter essere letta o scritta via software, deve trovarsi anche in memoria virtuale; è opportuno che la posizione sia quella iniziale: in tal modo, quando viene attivata la paginazione, si ha continuità nell indirizzamento, in quanto l indirizzo fisico (prima dell attivazione) e l indirizzo virtuale (dopo l attivazione) della memoria fisica coincidono. Memoria fisica in memoria virtuale: nella tabella di corrispondenza vi sono descrittori che hanno come indirizzi fisici quelli delle pagine fisiche, con il bit di presenza sempre uguale a 1 (queste pagine non devono essere rimpiazzabili). G. Frosini Slide 9

10 MEMORIA FISICA IN MEMORIA VIRTUALE (2) Memoria virtuale Memoria fisica Memoria fisica tabella di corrispondenza it l G. Frosini Slide 10

11 PAGINAZIONE NEL PROCESSORE PC (1) Meccanismo di paginazione nel processore PC: 4 registri speciali CR0, CR1, CR2 e CR3; Abilitazione della paginazione: messa a 1 del bit PG (PaGing) del registro speciale CR0. Numero massimo delle pagine (virtuali e fisiche): 1 M. Ampiezza di pagina: 4 Kbyte (a=20 e b=12). Tabella di corrispondenza: realizzata in due livelli : direttorio delle pagine e tabelle delle pagine; descrittore (di tabella o di pagina): contiene un bit di presenza P: la MMU, quando effettua la traduzione di indirizzo, se P vale 0 (la tabella delle pagine o la pagina non è presente in memoria fisica), genera un eccezione (page_fault): in quest ultimo caso l indirizzo virtuale che non è stato tradotto viene memorizzato nel registro speciale CR2, e l indirizzo dell istruzione attuale (contenuto in EIP) viene memorizzato in pila. G. Frosini Slide 11

12 PAGINAZIONE NEL PROCESSORE PC (2) Direttorio delle pagine: pagina sempre presente in memoria fisica, il cui indirizzo fisico (12 bit meno significativi uguali a 0) si trova nel registro speciale CR3; costituito da 1024 descrittori di tabella (ognuno lungo 4 byte), ciascuno contenente l indirizzo fisico (20 bit) di una tabella delle pagine (1024). Tabella delle pagine: pagina costituita da 1024 descrittori di pagina (ognuno lungo 4 byte), ciascuno dei quali contiene l indirizzo fisico (20 bit) di una pagina. Indirizzo virtuale: i 10 bit più significativi individuano un descrittore di tabella (all interno del direttorio delle pagine); i 10 bit adiacenti individuano un descrittore di pagina (all interno di una tabella delle pagine). G. Frosini Slide 12

13 PAGINAZIONE NEL PROCESSORE PC (3) Processore Memoria fisica CR3 Direttorio Indirizzo fisico Descrittore 31 Tab. pagine Descrittore Indirizzo virtuale 0 G. Frosini Slide 13

14 PAGINAZIONE NEL PROCESSORE PC (4) Tabella di corrispondenza: paginata e costituita al più da 1K+1 pagine (4 Mbyte + 4 Kbyte); dimensioni effettive in genere inferiori, in quanto nel direttorio alcuni descrittori possono avere permanentemente P=0. Page-fault: la routine di trasferimento deve esaminare due descrittori, nel direttorio e nella tabella delle pagine coinvolta, e attraverso l esame software dei due bit P determina se trattasi di mancanza di tabella delle pagine o di pagina. Direttorio e tabelle delle pagine: per poter essere modificati via software devono risiedere in memoria virtuale; la paginazione della tabella delle pagine, con trasferimenti tra memoria di massa e memoria centrale di tabelle delle pagine, rende necessario che questa risieda a indirizzi virtuali diversi da quelli in cui risiede la memoria fisica, le cui pagine devono essere sempre presenti. G. Frosini Slide 14

15 PAGINAZIONE NEL PROCESSORE PC (5) Memoria virtuale Memoria fisica direttorio direttorio tab. pagine tab. pagine Tabella di corrispondenza tab. pagine tab. pagine tab. pagine G. Frosini Slide 15

16 FORMA DI UN DESCRITTORE (1) Descrittore di pagina (nel direttorio delle pagine per una tabella delle pagine, o in una tabella delle pagine per una pagina vera e propria): indirizzo accesso D A PCD PWT S/U R/W P G. Frosini Slide 16

17 FORMA DI UN DESCRITTORE (2) Campo indirizzo: specifica l indirizzo fisico (della tabella delle pagine o della pagina),. Byte di accesso: bit di presenza P, due bit utili per il rimpiazzamento (D e A), due bit per la gestione della memoria cache (PCD e PWT), due bit per la protezione (S/U e R/W). Bit A (Accessed) e D (Dirty): posti a 1 dalla MMU, rispettivamente, ogni qual volta avviene una accesso alla pagina (traduzione di indirizzo), o un accesso in scrittura. Bit PCD (Page Cache Disable) e PWT (Page Write Through): specificano, rispettivamente, se per quella pagina la memoria cache deve essere disabilitata (determinando lo stato di un apposito piedino CD del processore), e se per quella pagina la memoria cache deve essere gestita in modalità write-through (determinando lo stato di un apposito piedino WT del processore). G. Frosini Slide 17

18 FORMA DI UN DESCRITTORE (3) Bit S/U (System/User) e R/W (Read/Write): specificano, rispettivamente, il livello di privilegio della pagina, e se la pagina è solo leggibile o anche scrivibile. Descrittori di tabelle delle pagine (che si trovano nel direttorio delle pagine): sono significativi solo i bit A e P; il bit D non è significativo, in quanto accessi in scrittura a una tabella delle pagine possono avvenire solo se la tabella delle pagine considerata è anche una pagina in memoria virtuale: in questo caso viene gestito il bit D del descrittore di pagina che si trova in una tabella delle pagine; i bit PCD e PWT non vengono utilizzati perché la memoria cache riguarda le pagine; il bit S/U vale sempre System; il bit R/W vale sempre Write. G. Frosini Slide 18

19 TRASFERIMENTO DELLE PAGINE Situazione iniziale: sono presenti in memoria fisica solo il direttorio e le tabelle delle pagine che consentono di posizionare il direttorio, quelle stesse pagine e la memoria fisica in memoria virtuale. Trasferimento da memoria di massa a memoria fisica di una nuova tabella delle pagine o di una pagina: avviene su domanda del programma, ossia quando viene generato un indirizzo che genera un page fault. Routine di trasferimento: esamina il contenuto di CR2 e quindi i descrittori coinvolti nel direttorio e nella tabella delle pagine appropriata; determina dove si trova in memoria di massa la pagina da trasferire in memoria fisica. G. Frosini Slide 19

20 RIMPIAZZAMENTO (1) Quando si ha necessità di avere un rimpiazzamento: la routine sceglie la pagina da trasferire da memoria fisica a memoria di massa in base al valore di variabili associate alla rispettive pagine, che contengono una determinata statistica di utilizzo; tipicamente, o la pagina meno frequentemente utilizzata o quella non riferita da più tempo (LRU: Least Recently Used); la routine rimpiazza la pagina la cui variabile associata ha il valore minimo; se viene selezionata una pagina che non è stata modificata (D = 0), questa non viene ricopiata nella memoria di massa (la copia esistente è valida). Statistica di utilizzo delle pagine: si basa su un meccanismo che coinvolge il bit A; interruzione prodotta da un timer: a intervalli regolari di tempo va in esecuzione una routine di timer che esamina il bit A di ogni descrittore, effettua la statistica appropriata e quindi riporta tale bit a zero. G. Frosini Slide 20

21 RIMPIAZZAMENTO (2) Frequenza di utilizzo delle pagine: si associa ad ogni pagina una variabile contatore: la routine di timer incrementa la variabile per quelle pagine per le quali il bit A vale 1. Pagina non riferita da più tempo: si associa ad ogni pagina una variabile registro a scorrimento: la routine di timer inserisce nella variabile (nella posizione più significativa) il valore del bit A. Variabile associata a una tabella delle pagine: non può mai avere un valore inferiore rispetto a quello delle variabili associate alle pagine riferite dalla tabella delle pagine stessa: la routine di trasferimento, a parità di condizioni, sceglie una pagina e non una tabella delle pagine. G. Frosini Slide 21

22 RIMPIAZZAMENTO DI TABELLE DELLE PAGINE Selezione, per il rimpiazzamento, di una tabella delle pagine: non viene ricopiata in memoria di massa (è come se il bit B del suo descrittore, bit peraltro non significativo, valesse sempre 0); vengono perdute eventuali modifiche hardware o software; questo non produce alcun danno: nel momento in cui una tabella delle pagine viene trasferita dalla memoria di massa in memoria fisica, non vi sono pagine da essa riferite; per ogni descrittore, nel byte di accesso i bit P, A e D vengono posti a 0 e l indirizzo fisico non è significativo. Nota: il rimpiazzamento di una tabella delle pagine richiede che venga messo a 0 il bit P sia nel descrittore che si trova nel direttorio sia nel descrittore che si trova nella tabella delle pagine che la fa risiedere in memoria virtuale. G. Frosini Slide 22

23 BUFFER DEI DESCRITTORI DI PAGINA (1) Meccanismo di corrispondenza tra indirizzo virtuale e indirizzo fisico: richiede due accessi in memoria fisica (al direttorio delle pagine e a una tabella delle pagine); comporta un tempo inaccettabilmente lungo. Buffer interno (TLB: Translation Lookaside Buffer); funge da memoria cache dei descrittori di pagina (non dei descrittori di tabella delle pagine) ; memorizza i descrittori di pagina utilizzati più di recente; la MMU, nel tradurre un indirizzo da virtuale a fisico, prima accede al TLB, e, in caso di fallimento, al direttorio e alla tabella delle pagine coinvolta. G. Frosini Slide 23

24 BUFFER DEI DESCRITTORI DI PAGINA (2) Translation Lookaside Buffer : associativo a insiemi; costituito otto insiemi, ciascuno dei quali ha un campo R e quattro gruppi, ognuno con un campo Ti (Tag) e un campo Di (Dati). composto da tre banchi di memoria, ciascuno di otto righe: ogni riga contiene per il primo banco il campo R, per il secondo banco i quattro campi tag e per il terzo banco i quattro banchi dati. MMU: considera l indirizzo virtuale di pagina (20 bit) suddiviso in due componenti, un etichetta E (i 17 bit più significativi) e un indice I (i 3 bit meno significativi); l indice seleziona l insieme all interno del TLB; l etichetta E è destinata a essere confrontata con le etichette Ec presenti in ognuno dei 4 campi tag dell insieme selezionato. G. Frosini Slide 24

25 BUFFER DEI DESCRITTORI DI PAGINA (3) Indirizzo virtuale E 3 2 I 0 R T1 T2 T3 T4 D1 D2 D3 D4 Indirizzo fisico G. Frosini Slide 25

26 BUFFER DEI DESCRITTORI DI PAGINA (4) Campo Tag di ciascun blocco (T1, T2, T3 e T4): contiene il bit di validità V, l etichetta Ec, il bit D, i bit S/U e R/W; produce successo se: V vale 1; E è uguale a Ec; D vale 0 e l accesso è in lettura, oppure D vale 1 (l accesso può essere qualunque); sono soddisfatte le regole di protezione (bit S/U e R/W). Campo dati di ciascun blocco (D1, D2, D3 e D4): Contiene l indirizzo fisico della pagina e i bit PCD e PWT. Fallimento se dovuto a V uguale a 0, a non uguaglianza tra E e Ec, oppure a valore non appropriato di D produce un accesso in memoria al direttorio e alla tabella delle pagine coinvolta; se dovuto ai bit S/U e R/W genera una eccezione di protezione. G. Frosini Slide 26

27 BUFFER DEI DESCRITTORI DI PAGINA (5) Memoria riferita tramite TLB: 32 pagine, 128 Kbyte di memoria; stime attendibili: nel 98-99% dei casi la MMU trova direttamente nel buffer le informazioni di corrispondenza. Descrittori presenti nel TLB: nelle tabelle delle pagine hanno il bit A uguale a 1. Accesso in scrittura con bit D uguale a 0: la MMU effettua un accesso in memoria al direttorio e alla tabella delle pagine coinvolta; avviene la traduzione di indirizzo, il descrittore di pagina viene modificato (il bit D passa da 0 a 1) e di nuovo trasferito nel TLB. L aggiornamento del bit D non avviene direttamente nel TLB: la routine di trasferimento esamina il bit D nella tabella delle pagine coinvolta (non può accedere al TLB perché non esistono istruzioni). G. Frosini Slide 27

28 BUFFER DEI DESCRITTORI DI PAGINA (6) Modifica (via software), in una tabella delle pagine, di un descrittore di pagina presente anche nel TLB: il gruppo del TLB che contiene il descrittore deve essere invalidato; esempio: in seguito a un rimpiazzamento (trasferimento della pagina da memoria fisica a memoria di massa), il bit P passa da valore 1 a valore 0. istruzione INVLPG (INVaLidate PaGe): richiede la specifica dell indirizzo virtuale della pagina; provoca l invalidazione del blocco, nell insieme selezionato, in cui E è uguale a Ec. Modifica che interessa più descrittori di pagina: conveniente invalidare il contenuto di tutto il buffer; esempio: il bit A di tutti i descrittori di pagina viene riportato a 0 dalla routine di timer. scrittura di una nuova quantità nel registro CR3 (eventualmente la stessa già presente nel registro stesso). G. Frosini Slide 28

29 RIMPIAZZAMENTO NEL TLB (1) Algoritmo di rimpiazzamento: pseudo LRU (segue la regola LRU in modo non preciso). Campo R di 3 bit, B0, B1 e B2: viene esaminato se si ha fallimento per tutti i 4 blocchi, con bit di validità uguali a 1 e non uguaglianza tra etichette; avviene la sostituzione di uno dei blocchi L0, L1, L3 o L3 in base alla seguente regola: B0 = 0 (L0 o L1 non riferiti da più tempo): se B1 = 0 (L0 non riferito da più tempo), allora sostituire L0; se B1 = 1 (L1 non riferito da più tempo), allora sostituire L1. B0 = 1 (L2 o L3 non riferiti da più tempo): se B2 = 0 (L2 non riferito da più tempo), allora sostituire L2; se B2 = 1 (L3 non riferito da più tempo), allora sostituire L3. G. Frosini Slide 29

30 RIMPIAZZAMENTO NEL TLB (2) Se un blocco produce successo o avviene un rimpiazzamento di quel blocco: il campo R viene aggiornato; B0 cambia valore (se l accesso interessa L0 o L1, i blocchi non riferiti da più tempo divengono L2 o L3; se l accesso interessa L2 o L3, i blocchi non riferiti da più tempo divengono L0 o L1); B1 cambia valore se B0 valeva 0 (il blocco non riferito da più tempo fra L0 e L1 passa da L0 a L1 o viceversa) B2 cambia valore se B0 valeva 1 (il blocco non riferito da più tempo fra L2 e L3 passa da L2 a L3 o viceversa) L algoritmo non è precisamente un LRU: la sostituzione interessa a turno L0 o L1, oppure L2 o L3. G. Frosini Slide 30

31 CONTROLLORE DMA E INDIRIZZI FISICI Controllore DMA: in ogni canale, il registro MAR (Memory Address Register) contiene l indirizzo della locazione di memoria coinvolta nel trasferimento ; in presenza di memoria virtuale, tale indirizzo è quello fisico; il controllore DMA non deve effettuare nessuna trasformazione di indirizzo, con una conseguente maggior velocità di operazione; la possibilità che il controllore DMA operi su indirizzi fisici deriva dal fatto che sono coinvolti indirizzi consecutivi: la consecutività (all interno della pagina) si mantiene nel passaggio da indirizzo virtuale a indirizzo fisico. Primitive che inizializzano un canale: devono accedere alle tabelle delle pagine. Pagine su cui opera il controllore DMA: devono risiedere in memoria fisica, e quindi non possono essere soggette al meccanismo di rimpiazzamento. G. Frosini Slide 31

32 SISTEMI MULTIPROGRAMMATI Sistema di elaborazione con un solo processore: può eseguire un solo programma alla volta; a divisione di tempo, può portare avanti in concorrenza l esecuzione di più programmi Pa, Pb, Pc, (i diversi programmi possono appartenere sempre allo stesso utente (come in Windows), ovvero a utenti diversi (come in Unix). si hanno in tal modo i sistemi di elaborazione multiprogrammati. Pc Pb Pa t G. Frosini Slide 32

33 VIRTUALIZZAZIONE DEL PROCESSORE Supporti alla multiprogrammazione (virtualizzazione del processore); a ogni programma corrisponde una tabella di stato, che contiene (oltre ad altre informazioni) una copia dei registri del processore (registri virtuali); quando il processore reale passa dall esecuzione di un programma Pa a quella di un altro programma Pb, avviene una commutazione di contesto; i valori attuali dei registri del processore vengono salvati nella tabella di stato relativa al programma Pa, e nei registri stessi vengono caricate nuove quantità prelevate dalla tabella di stato relativa al programma Pb; quando un programma va nuovamente in esecuzione, procede a partire dal punto di arresto precedente (il valore di EIP salvato individua l istruzione successiva). si hanno tanti processori virtuali quanti sono i programmi che devono essere eseguiti, e ogni processore virtuale è caratterizzato dalla tabella di stato del relativo programma; un processore virtuale alla volta ha il possesso del processore reale. G. Frosini Slide 33

34 PROCESSI Programma in esecuzione su un processore virtuale: prende il nome di processo (o task), e la sua tabella di stato prende il nome di descrittore di processo (o di task).... EAXv EBXv... ESPv EIPv EFLAGv... G. Frosini Slide 34

35 SPAZIO DI INDIRIZZAMENTO DI UN PROCESSO (1) Processo: ha un proprio spazio di indirizzamento; questo può coincidere con lo spazio di indirizzamento del processore, oppure essere un suo sottoinsieme. Presenza di memoria virtuale: i processi hanno tutti lo stesso spazio virtuale, differenti spazi fisici di memoria (memoria centrale e di massa), e stesso spazio fisico di I/O (questo non è virtualizzato). Commutazione di contesto: commutazione di spazio fisico di memoria; tabelle di corrispondenza diverse da processo a processo; i descrittori dei processi hanno ciascuno un proprio registro CR3v che individua un proprio direttorio (i vari direttori sono tutti presenti in memoria fisica); a parità di indirizzi virtuali, si hanno indirizzi fisici diversi. G. Frosini Slide 35

36 SPAZIO DI INDIRIZZAMENTO DI UN PROCESSO (2) Situazione tipica: i processi hanno in comune la zona di memoria dove risiede il sistema operativo, e una zona di memoria per le comunicazioni fra i processi; queste zone hanno (comunemente) gli stessi indirizzi virtuali, a cui corrispondono gli stessi indirizzi fisici: nelle tabelle delle pagine dei singoli processi deve comparire, per uno stesso indirizzo di pagina virtuale, lo stesso indirizzo di pagina fisica. Oltre che singole pagine, i processi possono condividere un intera tabella delle pagine, e quindi tutte le pagine individuate da quella tabella: nei direttori dei vari processi compare lo stesso indirizzo di tabella delle pagine. G. Frosini Slide 36

37 GESTIONE DELLA MULTIPROGRAMMAZIONE Gestione dei processi effettuata dal sistema operativo; quando si ha una commutazione di contesto, in CR3 viene caricato un nuovo valore CR3v, con un conseguente cambio di memoria fisica; tutti i processi hanno nel loro spazio di indirizzamento, agli stessi indirizzi virtuali, le pagine relative al sistema operativo, per cui il cambio del valore di CR3 non è influente ai fini del sistema operativo stesso. Pagine per il Sistema Operativo Pagine per la comunicazione Pagine Processo Pa Pagine Processo Pb Pagine Processo Pc G. Frosini Slide 37

38 PAGINE CONDIVISE (1) Pagina fisica condivisa: potrebbe anche corrispondere a una pagina virtuale avente indirizzo virtuale differente da processo a processo (nei descrittori di pagina dei vari processi, a indirizzi virtuali diversi, compare lo stesso indirizzo di pagina fisica); Ipotesi: i processi Pa e Pb riferiscono la stessa pagina fisica, il primo con indirizzo virtuale (di pagina) aaa e il secondo con indirizzo virtuale (di pagina) bbb; Contraddizione: se la pagina contiene al suo interno un indirizzo (virtuale) assoluto che si riferisce, per esempio, alla stessa pagina, questo deve essere allo stesso tempo sia aaa che bbb, Conclusione: una pagina condivisa, quando ha al suo interno degli indirizzi assoluti, deve avere necessariamente lo stesso indirizzo virtuale per tutti i processi. G. Frosini Slide 38

39 PAGINE CONDIVISE (2) aaa Pagina fisica bbb Processo b Processo a Ipotesi: una pagina condivisa, sia che contenga codice che dati, ha sempre lo stesso indirizzo virtuale per tutti i processi. G. Frosini Slide 39

40 DESCRITTORE DI PROCESSO NEL PROCESSORE PC Descrittore di processo: individuato da un identificatore ID di 16 bit (multiplo di 8, con i 3 bit meno significativi uguali a 0), che costituisce anche l identificatore del rispettivo processo. Identificatore di processo: utilizzato come indice all interno di una apposita tabella (GDT: Global Descriptor Table); seleziona un entrata di 64 bit (4 byte) che contiene l indirizzo virtuale iniziale (base, di 32 bit) e lo spiazzamento relativo alla base dell ultimo byte (limite, di 20 bit) del descrittore del processo (oltre ad altre informazioni). Base e limite della tabella GDT: contenuti nel registro GDTR del processore. G. Frosini Slide 40

41 TABELLA GDT Memoria virtuale GDT ID*8 Processore base GDTR limite base limite descrittore di processo G. Frosini Slide 41

42 REGISTRO TR (1) Processore PC: presente un registro TR (Task Register), con una parte visibile che contiene l identificatore del processo attualmente in esecuzione, e una parte nascosta, che contiene la base e il limite del descrittore di tale processo. Sistema operativo: quando effettua una commutazione di contesto, provvede a caricare in TR l identificatore del nuovo processo tramite l istruzione di caricamento LDTR; l esecuzione di questa istruzione effettua anche il trasferimento nella parte nascosta di TR della base e del limite del descrittore del nuovo processo, prelevandoli dalla tabella GDT. Dscrittore di processo: oltre a registri del rispettivo processore virtuale (registri generali, registro CR3, eccetera), contiene altre informazioni utili ai fini della gestione dei processi da parte del sistema operativo. G. Frosini Slide 42

43 REGISTRO TR (2) Memoria Virtuale Processore GDT GDTR ID*8 base limite ID base limite TR descrittore di processo G. Frosini Slide 43

44 COMUTAZIONE HARDWARE (1) Commutazione fra processi: può essere ottenuta in modo efficiente via hardware, utilizzando il meccanismo di interruzione. Gate: ha un proprio tipo, specificato da un apposito campo del byte di accesso. tipo Interrupt/Trap; tipo Task (contiene l identificatore ID di un processo) Accesso ID G. Frosini Slide 44

45 COMUTAZIONE HARDWARE (2) Interruzione con selezione (in base al tipo) di un gate di tipo Task: commutazione automatica fra processi; il processo attuale (processo uscente) viene sostituito con un nuovo processo (processo entrante), il cui identificatore è specificato dal gate. Descrittore di processo; deve avere una struttura prefissata, essendo manipolato interamente via hardware; la prima parola lunga contiene il cosiddetto campo link, in cui viene memorizzato un identificatore di processo; gli altri campi corrispondono, ordinatamente, a contenuti di ben determinati registri del processore (sono compresi i registri di controllo EIP ed EFLAG e non il registro CR3). G. Frosini Slide 45

46 COMUTAZIONE HARDWARE (3) Azioni compiute: salvataggio in un registro di appoggio dell identificatore del processo uscente, contenuto nella parte visibile di TR; salvataggio dei contenuti dei registri del processore nel descrittore del processo uscente, individuato dal contenuto della parte nascosta di TR; caricamento nella parte visibile di TR dell identificatore del processo entrante, prelevato dal gate, e nella parte nascosta di TR della base e limite del descrittore del processo entrante stesso (prelevati dalla GDT); caricamento dei registri del processore con i nuovi valori prelevati dal descrittore del processo entrante, individuato dal contenuto della parte nascosta di TR; salvataggio dell identificatore del processo uscente, contenuto nel registro di appoggio, nel descrittore del processo entrante (campo Link); messa a 1 del bit NT (Nested Task) del registro EFLAG; microsalto alla fase di chiamata. G. Frosini Slide 46

47 COMUTAZIONE HARDWARE (4) Processo entrante: diventa attivo a partire dalla situazione iniziale o dalla stessa situazione nella quale era stato precedentemente sospeso. Processo uscente: potrà di nuovo diventare attivo a partire dalla situazione in cui viene attualmente sospeso. Istruzione IRET: se il bit NT vale 1, provoca la commutazione inversa fra processi; il processo uscente è quello attualmente attivo e il processo entrante è quello il cui descrittore ha l identificatore memorizzato nel descrittore del processo attualmente attivo (campo Link); la commutazione viene effettuata con una sequenza di azioni analoga a quella prevista per il meccanismo di interruzione; il bit NT viene azzerato prima che il contenuto del registro EFLAG del processore venga memorizzato nel descrittore del processo uscente. G. Frosini Slide 47

48 COMUTAZIONE HARDWARE (5) Il meccanismo automatico consente l annidamento dei processi. Processore TR Descrittore processo B (entrante) Descrittore processo A (uscente) EFLAG EFLAG NT=1 NT=0 Processore TR Descrittore processo C (entrante) Descrittore processo B (uscente) Descrittore processo A (uscente) EFLAG EFLAG EFLAG NT=1 NT=1 NT=0 G. Frosini Slide 48

49 COMUTAZIONE HARDWARE (6) Meccanismo di interruzione: se il gate coinvolto è di tipo Interrupt/Trap, pone a 0 il bit NT del registro EFLAG. Esecuzione di un processo per il quale il bit NT vale 1 (nel registro EFLAG del processore) : arriva un interruzione di tipo Interrupt/Trap; la routine che va in esecuzione, pur terminando con un istruzione IRET, non provoca una commutazione di contesto; l istruzione IRET stessa, ripristinando il vecchio valore del registro EFLAG, pone nuovamente il bit NT ad 1. G. Frosini Slide 49

50 COMUTAZIONE HARDWARE (7) Entrata della tabella GDT: contiene un bit B (busy); viene gestito dal meccanismo automatico di commutazione fra processi; ogni processo ha un solo descrittore, e quindi non può esservi ricorsione (diretta o mutua) dei processi stessi. Processo in esecuzione e processi sospesi per effetto di un interruzione: hanno i rispettivi descrittori in una coda; se uno di tali processi venisse riattivato per effetto di una nuova interruzione, nel campo link del suo descrittore verrebbe scritta una nuova informazione, spezzando il collegamento della coda; al termine dell esecuzione del processo, l istruzione IRET provocherebbe la scrittura di nuove informazioni nel descrittore di tale processo (uscente), con conseguente distruzione delle informazioni esistenti. G. Frosini Slide 50

51 COMUTAZIONE HARDWARE (8) Processo attivato dal meccanismo di interruzione: deve essere libero (bit B a 0), e nel momento in cui viene attivato viene anche marcato come occupato (bit B a 1). Processo in esecuzione (e quindi occupato): rimane occupato quando viene sospeso per effetto di una nuova interruzione. Processo sospeso (e quindi occupato): se il suo identificatore è memorizzato nel campo link del processo in esecuzione, torna in esecuzione rimanendo occupato quando quest ultimo esegue una istruzione IRET. Processo in esecuzione: viene marcato come libero dall istruzione IRET, quando termina la sua esecuzione. G. Frosini Slide 51

52 LIVELLI DI PRIVILEGIO Processore: a seconda della configurazione di uno specifico registro, può trovarsi in due diversi stati di funzionamento (o livelli di privilegio), stato sistema e stato utente; lo stato sistema è superiore allo stato utente. Tutte le istruzioni Stato sistema Programmi di sistema Pila di sistema Tutti i dati Istruzioni non privilegiate Stato utente Programmi utente Pila utente Dati utente G. Frosini Slide 52

53 ISTRUZIONI PRIVILEGIATE Stato sistema: il processore può eseguire tutte le istruzioni. Stato utente: il processore può eseguire solo un sottoinsieme di istruzioni, quelle non privilegiate, e non può eseguire le altre istruzioni, quelle privilegiate. Programma in cui compare un istruzione privilegiata: se il processore, quando si appresta ad eseguirla e si trova in stato utente, genera un eccezione di protezione. Esempi di istruzioni privilegiate: istruzioni che coinvolgono i registri speciali del processore; istruzione di alt. Registro che memorizza lo stato del processore: rientra fra quelli speciali, e può essere modificato solo con istruzioni privilegiate. G. Frosini Slide 53

54 DIRITTI DI ACCESSO Descrittore di pagina: specifica, nel byte di accesso, il livello di privilegio per quella pagina (bit S/U). Accesso per prelevare istruzioni (fetch): lecito solo se il processore ha lo stesso livello di privilegio di quella pagina. Accesso per trattare operandi (read o write): lecito solo se il processore ha un livello di privilegio maggiore o uguale di quello della pagina; consistente con i diritti di accesso alla pagina (R/W); Regole di protezione violate: il processore genera un eccezione di protezione. G. Frosini Slide 54

55 PILE E LIVELLI DI PRIVILEGIO Pile differenti per gli stati sistema e utente: una sola pila che si trovasse a livello sistema non sarebbe accessibile da stato utente; una sola pila che si trovasse a livello utente non sarebbe utilizzabile, per motivi di protezione, per informazioni concernenti lo stato sistema (il prelievo dalla pila, operazione di pop, non è distruttivo). Istruzioni che operano sulla pila in quanto tale (operazioni di push, pop, eccetera): livello di privilegio del processore uguale a quello della pagina (o delle pagine) utilizzata per la realizzazione della pila. Conseguenza: pagine private di ciascun processo si possono avere, oltre che a livello utente, anche a livello sistema. G. Frosini Slide 55

56 CAMBIAMENTO DI PRIVILEGIO Processo: livello di privilegio memorizzato nel suo descrittore; quando va in esecuzione, il suo livello di privilegio viene trasferito nel registro relativo allo stato del processore; si hanno processi sistema e processi utente. Livello di privilegio di un processo: può venir modificato per mezzo del meccanismo di interruzione. Processo utente: può portarsi volontariamente a livello sistema, eseguendo un istruzione di interruzione software, poiché intende mandare in esecuzione una routine di sistema operativo (primitiva) che fornisca servizi che l utente non può (o non deve) effettuare autonomamente; può venir interrotto da una interruzione hardware, che manda in esecuzione un driver che, per le azioni che compie, deve avere livello di privilegio sistema. G. Frosini Slide 56

57 PROTEZIONE NEL PROCESSORE PC (1) Stato di funzionamento del processore: rappresentato dal valore di un particolare registro CPL (Current Privilege Level): se questo vale vale 1 il processore si trova nello stato sistema, se vale 0 nello stato utente. Livello di privilegio di una pagina: byte di accesso: valore del bit S/U: 1 stato sistema, 0 stato utente.; valore del bit R/W: pagina solo leggibile o anche scrivibile. Direttorio e tabelle delle pagine, tabella GDT e descrittori di processo: si trovano in pagine che hanno livello di privilegio sistema. G. Frosini Slide 57

58 PROTEZIONE NEL PROCESSORE PC (2) Istruzioni di ingresso/uscita: possono essere o meno privilegiate; questo viene stabilito scrivendo un opportuna configurazione nel campo IOPL (I/O Privilege Level) del registro EFLAG; ogni modifica di questo campo può essere effettuata solo se il processore si trova in stato sistema. Istruzioni di abilitazione o disabilitazione delle richieste di interruzione mascherabili: stesso livello di privilegio delle istruzioni di I/O (I/O sensitive) IOPL O F D F I F T F S F Z F P F C F G. Frosini Slide 58

59 INTERRUZIONI E PROTEZIONE (1) Descrittore di processo: contiene, in posizione prefissata (dopo una prima parola lunga relativa a un identificatore di processo) il puntatore ESPSv per la pila sistema (il puntatore per la pila utente è costituito dal valore ESPv). Registro TR: specifica base e limite del descrittore del processo attualmente in esecuzione, per cui la quantità ESPSv è accessibile dal meccanismo hardware di interruzione. Registro IDTR: contiene base e limite della tabella IDT. G. Frosini Slide 59

60 INTERRUZIONI E PROTEZIONE (2) Descrittore del processo in esecuzione Processore Identificatore ESPSv ID BASE LIMITE TR... ESPv EIPv... Memoria virtuale G. Frosini Slide 60

61 INTERRUZIONI E PROTEZIONE (3) Gate di interruzione, contenuto in ognuna delle entrate (massimo 256) della tabella IDT: può essere di tipo Interupt/Trap (bit I/T) o di tipo Task; nel primo caso contiene l indirizzo virtuale della routine di interruzione; nel secondo caso contiene l identificatore del nuovo processo. Byte di accesso: vi compaiono, in ogni caso, un bit di presenza P e un bit di privilegio PL Indirizzo Accesso ID P PL Tipo IT G. Frosini Slide 61

62 INTERRUZIONI E PROTEZIONE (4) Interruzione: via hardware, viene esaminata l entrata della tabella IDT specificata dal tipo dell interruzione e vengono compiute sempre le seguenti azioni preliminari: esame del bit P: se questo vale 0 generazione di una eccezione per tipo di interruzione non implementato; esame del bit PL: se trattasi di interruzione software o di eccezione, PL deve essere minore o uguale a CPL, altrimenti viene generata una eccezione di protezione; se trattasi di interruzione hardware PL può essere qualsivoglia. G. Frosini Slide 62

63 INTERRUZIONI E PROTEZIONE (5) Elenco delle azioni per gate di tipo Interrupt/Trap. Prelievo dell indirizzo virtuale della routine, sia VA, ed esame del bit S/U del descrittore di pagina corrispondente a tale indirizzo. Se S/U è minore di CPL viene generata una eccezione per cambiamento di stato non lecito. Se S/U uguale a CPL (nessun cambiamento di stato): memorizzazione in pila dei valori attuali di EFLAG, CPL ed EIP; caricamento di CPL con S/U (operazione superflua) e di EIP con VA; azzeramento del flag TF se trattasi di un gate di Trap, o di entrambi i flag TF e IF se trattasi di un gate di Interrupt; azzeramento del flag NT; microsalto alle microoperazioni di chiamata. G. Frosini Slide 63

64 INTERRUZIONI E PROTEZIONE (6) Se S/U maggiore di CPL (passaggio da stato utente a stato sistema): salvataggio in un registro di appoggio del valore attuale del registro ESP; caricamento in ESP del valore ESPSv prelevato dal descrittore del processo in esecuzione, tramite il registro TR; memorizzazione nella nuova pila di una prima parola lunga (non significativa) e del valore del registro ESP momentaneamente salvato; memorizzazione nella nuova pila dei valori attuali dei registri EFLAG, CPL ed EIP; caricamento di CPL con S/U e di EIP con VA; azzeramento del flag TF se trattasi di un gate di trap, o di entrambi i flag TF e IF se trattasi di un gate di interrupt; azzeramento del flag NT. G. Frosini Slide 64

65 INTERRUZIONI E PROTEZIONE (7) Cambiamento di livello di privilegio: forma della nuova pila. EIP CPL ESP (valore attuale) EFLAG Vecchio ESP (Non Significativa) Nuovo ESP G. Frosini Slide 65

66 INTERRUZIONI E PROTEZIONE (8) Istruzione IRET: Se NT = 0 avvengono le azioni di seguito specificate. Estrazione dalla pila attuale dei vecchi valori di EIP, CPL ed EFLAG. Se il vecchio valore di CPL è uguale al valore attuale di CPL, allora: trasferimento dei vecchi valori di EIP, CPL (operazione superflua) ed EFLAG nei corrispondenti registri; altrimenti (il vecchio valore di CPL deve essere minore del valore attuale di CPL): trasferimento dei vecchi valori di EIP, CPL ed EFLAG nei corrispondenti registri, con conseguente ripristino del livello di privilegio utente; estrazione dalla pila attuale di due doppie parole e trasferimento della prima in ESP, con conseguente ripristino della pila utente. G. Frosini Slide 66

67 INTERRUZIONI E PROTEZIONE (9) Interruzione (hardware o software): nuova quantità nel registro CPL,; può provocare il passaggio da stato utente a stato sistema (e non viceversa). Ritorno da stato sistema a stato utente: può avvenire, alla fine della routine di interruzione, con l esecuzione dell istruzione IRET. Interrupt (hardware o software) IRET Stato sistema Stato utente G. Frosini Slide 67

68 INTERRUZIONI E PROTEZIONE (10) Processo utente: non può darsi da solo un livello di privilegio superiore; può invocare solo routine di sistema (primitive) attraverso il loro numero d ordine (ossia il tipo dell interruzione); può essere interrotto da cause esterne, con una conseguente modifica automatica del livello di privilegio Tabella delle interruzioni; deve essere posta a livello sistema. Routine di interruzione: per poter essere eseguita, deve trovarsi in pagine che hanno tutte un livello di privilegio uguale a quello in cui si è portato il processore. Incongruente con il principio di protezione: meccanismo di interruzione consenta di abbassare il livello di privilegio; sistema operativo invoca una routine utente. G. Frosini Slide 68

69 INTERRUZIONI E PROTEZIONE (11) Processo utente: richiama una primitiva di sistema, passandogli come parametri, tramite i registri generali o la pila utente, indirizzi di variabili (buffer di memoria). Indirizzo trasmesso: potrebbe riferirsi a una pagina con livello di privilegio sistema; in stato utente il processo non può accedervi, ma, per dolo, intende accedervi con una primitiva di sistema, danneggiando i dati del sistema. Verifiche software da parte della primitiva: tramite la pila sistema, livello di privilegio CPL del chiamante; tramite le tabelle di corrispondenza, livello di privilegio della pagina a cui si riferisce l indirizzo trasmesso; in caso di non consistenza, negare l accesso. Situazione tipica: le pagine sistema hanno indirizzi virtuale che cominciano con 1, e non è quindi necessario accedere alle tabelle di corrispondenza. G. Frosini Slide 69

MULTIPROGRAMMAZIONE E PROTEZIONE. G. Frosini Multiprogrammazione e Protezione Slide 1

MULTIPROGRAMMAZIONE E PROTEZIONE. G. Frosini Multiprogrammazione e Protezione Slide 1 MULTIPROGRAMMAZIONE E PROTEZIONE G. Frosini Multiprogrammazione e Protezione Slide 1 SISTEMI MULTIPROGRAMMATI Sistema di elaborazione con un solo processore: può eseguire un solo programma alla volta;

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale) Memoria Virtuale Anche la memoria principale ha una dimensione limitata. Possiamo pensare di superare questo limite utilizzando memorie secondarie (essenzialmente dischi) e vedendo la memoria principale

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio

Dettagli

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Gestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Varie tipologie di memoria

Varie tipologie di memoria Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file. ESERCIZIO 1 Si consideri un hard disk formattato la cui memoria è suddivisa in 16 blocchi (numerati da 0 a 15). Si supponga che sull hard disk sia memorizzato un unico file, contenuto, nell ordine, nei

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

File system II. Sistemi Operativi Lez. 20

File system II. Sistemi Operativi Lez. 20 File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco

Dettagli

Strutture di Memoria 1

Strutture di Memoria 1 Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi. 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

FrerEnergy: PROGRAMMA PER LA SUPERVISIONE DEI CONSUMI DI ENERGIA ELETTRICA

FrerEnergy: PROGRAMMA PER LA SUPERVISIONE DEI CONSUMI DI ENERGIA ELETTRICA FrerEnergy: PROGRAMMA PER LA SUPERVISIONE DEI CONSUMI DI ENERGIA ELETTRICA Descrizione Generale E un programma di supervisione in grado di comunicare, visualizzare, memorizzare e stampare i consumi dell

Dettagli

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Struttura interna del sistema operativo Linux CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Architettura del sistema operativo shell Programmi utente Modo utente Interfaccia delle chiamate

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Capitolo 11 La memoria cache

Capitolo 11 La memoria cache Capitolo 11 La memoria cache Gerarchie di Memoria Dati sperimentali mostrano che i riferimenti alla memoria godono della proprietà di località spaziale e temporale. Località spaziale: tendenza a generare

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistemi Operativi Il Sistema Operativo Windows (parte 3) Sistemi Operativi Il Sistema Operativo Windows (parte 3) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Architettura di NTFS 1 NTFS file system adottato

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

Manuale Terminal Manager 2.0

Manuale Terminal Manager 2.0 Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Il descrittore di processo (PCB)

Il descrittore di processo (PCB) Il descrittore di processo (PC) Il S.O. gestisce i processi associando a ciascuno di essi un struttura dati di tipo record detta descrittore di processo o Process Control lock (PC) Il PC contiene tutte

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

Dettagli

Procedura SMS. Manuale Utente

Procedura SMS. Manuale Utente Procedura SMS Manuale Utente INDICE: 1 ACCESSO... 4 1.1 Messaggio di benvenuto... 4 2 UTENTI...4 2.1 Gestione utenti (utente di Livello 2)... 4 2.1.1 Creazione nuovo utente... 4 2.1.2 Modifica dati utente...

Dettagli

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale Funzioni principali del sistema operativo Il software la parte contro cui si può solo imprecare Avvio dell elaboratore Gestione del processore e dei processi in Gestione della memoria principale Gestione

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

ACCESSO AL SISTEMA HELIOS...

ACCESSO AL SISTEMA HELIOS... Manuale Utente (Gestione Formazione) Versione 2.0.2 SOMMARIO 1. PREMESSA... 3 2. ACCESSO AL SISTEMA HELIOS... 4 2.1. Pagina Iniziale... 6 3. CARICAMENTO ORE FORMAZIONE GENERALE... 9 3.1. RECUPERO MODELLO

Dettagli

Gruppo Buffetti S.p.A. Via F. Antolisei 10-00173 Roma

Gruppo Buffetti S.p.A. Via F. Antolisei 10-00173 Roma SOMMARIO VERSIONI CONTENUTE NEL PRESENTE CD... 2 MODALITA DI AGGIORNAMENTO...... 2 AVVERTENZE... 2 INTERVENTI EFFETTUATI CON L UPD 007_2011 DI LINEA AZIENDA...... 3 CREAZIONE NUOVI CODICI IVA... 4 CAMBIO

Dettagli

SIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale

SIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale SIRTEL Sistema Informativo per la Rendicontazione Telematica degli Enti Locali Schema di funzionamento del processo per l Ente Locale Sommario del documento Acronimi...3 FASE 1: REGISTRAZIONE ED ABILITAZIONE

Dettagli

Architettura hw. La memoria e la cpu

Architettura hw. La memoria e la cpu Architettura hw La memoria e la cpu La memoria centrale e la CPU Bus controllo Bus indirizzi Bus dati Bus di collegamento con la cpu indirizzi controllo dati Bus Indirizzi 11 Bus controllo Leggi/scrivi

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine. Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Materiali per il modulo 1 ECDL. Autore: M. Lanino Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

La Memoria Virtuale Ottimizzazione della memoria centrale

La Memoria Virtuale Ottimizzazione della memoria centrale La Memoria Virtuale Ottimizzazione della memoria centrale 1) Introduzione- Gerarchia della memoria Da un punto di vista funzionale, ogni dispositivo di memorizzazione elettronica di informazioni presenta

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale AXO Architettura dei Calcolatori e Sistemi Operativi memoria virtuale concetto di memoria virtuale Separare il concetto di: spazio di indirizzamento di un programma eseguibile e dimensione effettiva della

Dettagli

ISTRUZIONI PER LA GESTIONE BUDGET

ISTRUZIONI PER LA GESTIONE BUDGET ISTRUZIONI PER LA GESTIONE BUDGET 1) OPERAZIONI PRELIMINARI PER LA GESTIONE BUDGET...1 2) INSERIMENTO E GESTIONE BUDGET PER LA PREVISIONE...4 3) STAMPA DIFFERENZE CAPITOLI/BUDGET.10 4) ANNULLAMENTO BUDGET

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di

Dettagli

2 - Modifica. 2.1 - Annulla 2.2 - ANNULLA TOPOGRAFICO 2.3 - ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1

2 - Modifica. 2.1 - Annulla 2.2 - ANNULLA TOPOGRAFICO 2.3 - ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1 2 - Modifica FIGURA 2.1 Il menu a tendina Modifica contiene il gruppo di comandi relativi alla selezione e alla gestione delle proprietà delle entità del disegno e alla gestione dei layer. I comandi sono

Dettagli

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU Il sistema operativo Sistema operativo Gestione della CPU Primi elaboratori: Monoprogrammati: un solo programma in memoria centrale Privi di sistema operativo Gestione dell hardware da parte degli utenti

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni Prerequisiti Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni L opzione Produzione base è disponibile per le versioni Azienda Light e Azienda Pro. Introduzione

Dettagli

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale 1 (es. 1) Consideriamo un processo con m frame inizialmente vuoti. La stringa di riferimento è lunga p e contiene riferimenti a n pagine diverse. Per un qualsiasi algoritmo di rimpiazzamento: a) qual è

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15 WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli