Anteprima
Vedrai una selezione di 10 pagine su 412
Teoria ed Esempi di Sistemi Operativi Pag. 1 Teoria ed Esempi di Sistemi Operativi Pag. 2
Anteprima di 10 pagg. su 412.
Scarica il documento per vederlo tutto.
Teoria ed Esempi di Sistemi Operativi Pag. 6
Anteprima di 10 pagg. su 412.
Scarica il documento per vederlo tutto.
Teoria ed Esempi di Sistemi Operativi Pag. 11
Anteprima di 10 pagg. su 412.
Scarica il documento per vederlo tutto.
Teoria ed Esempi di Sistemi Operativi Pag. 16
Anteprima di 10 pagg. su 412.
Scarica il documento per vederlo tutto.
Teoria ed Esempi di Sistemi Operativi Pag. 21
Anteprima di 10 pagg. su 412.
Scarica il documento per vederlo tutto.
Teoria ed Esempi di Sistemi Operativi Pag. 26
Anteprima di 10 pagg. su 412.
Scarica il documento per vederlo tutto.
Teoria ed Esempi di Sistemi Operativi Pag. 31
Anteprima di 10 pagg. su 412.
Scarica il documento per vederlo tutto.
Teoria ed Esempi di Sistemi Operativi Pag. 36
Anteprima di 10 pagg. su 412.
Scarica il documento per vederlo tutto.
Teoria ed Esempi di Sistemi Operativi Pag. 41
1 su 412
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

SOSTITUZIONE PAGE-FAULT-FREQUENCY (PFF)

Una misura della buona qualità dell'esecuzione di un processo in un sistema paginato è il suo tasso di page fault. Un processo che genera costantemente page fault ha un utilizzo del processo molto basso, poiché i page frame allocati non contengono tutto il suo working set. Un processo che non solleva mai page fault, tuttavia, significa che dispone di troppi page frame e quindi limita il grado di multiprogrammazione del sistema. Idealmente, un processo dovrebbe operare in un qualche punto compreso fra questi due estremi.

L'algoritmo adatta l'insieme delle pagine residenti, cioè quelle pagine che sono al momento in memoria, basandosi sulla frequenza con cui il processo solleva dei page fault. Alternativamente, PFF può adattare l'insieme delle pagine residenti basandosi sul tempo che intercorre fra due page fault, detto tempo di interfault.

La sostituzione PFF comporta un sovraccarico inferiore rispetto alla sostituzione basata sul working set, poiché adatta l'insieme delle pagine residenti solo dopo ciascun page fault; il meccanismo con working set deve operare dopo ogni riferimento in memoria. Con la strategia PFF, quando un processo fa una richiesta che comporta un page fault, la strategia calcola il tempo trascorso dall'ultimo page fault. Se questo intervallo di tempo è più grande di un certo valore limite, il sistema rilascia tutte le pagine non referenziate nell'intervallo. Se l'intervallo è inferiore a un altro valore limite, la pagina entra a far parte dell'insieme delle pagine residenti. Un vantaggio di PFF è che adatta dinamicamente l'insieme delle pagine residenti, in risposta al cambio di comportamento del processo. Se un processo sta passando a un working set più grande, solleverà frequentemente dei page fault e PFF allocherà un

maggior numero di pageframe. Una volta che il processo ha accumulato il suo nuovo working set, il tasso di page faults si stabilizzerà e PFF conserverà il nuovo insieme di pagine residenti, oppure lo ridurrà. Il fattore chiave dell'efficienza di questa sostituzione è assegnare valori appropriati al limite inferiore e superiore dell'intervallo di tempo. Alcuni sistemi possono aumentare le prestazioni adattando il loro algoritmo di scheduling dei processi alla frequenza con cui un processo genera i page faults. Presumibilmente, i processi che generano pochi page faults hanno accumulato il loro working set in memoria principale. I processi che generano un elevato numero di page faults non hanno ancora stabilizzato il proprio working set. Un altro punto di vista è che i processi con tassi di page fault elevati dovrebbero avere la priorità, poiché usano il processo solo per poco tempo prima di generare la richiesta di I/O. Un processo chesolleva molti page fault sembra essere un processo limitato dall'I/O. Una volta caricato il working set, il processo si stabilizza sul proprio comportamento regolare: alcuni processi saranno limitati dal processore e altri saranno limitati dall'I/O. RILASCIO DELLE PAGINE Nei sistemi con working set, un processo indica quali sono le pagine che vuole usare referenziandole esplicitamente. Le pagine non richieste più dal processo dovrebbero essere rimosse dal suo working set. Nei sistemi esistenti, comunque, le pagine non necessarie spesso rimangono in memoria fino a quando la strategia di gestione individua che il processo non ne ha più bisogno. Una strategia alternativa prevede che il processo, per liberare un page frame di cui non ha più bisogno, effettui un rilascio volontario della pagina. Questo eliminerebbe il ritardo dovuto al tempo necessario ad accorgersi dei cambiamenti nel working set. Il rilascio volontario delle pagine può velocizzaresono stati ottenuti utilizzando pagine di dimensioni comprese tra 4KB e 64KB. Tuttavia,è importante considerare che una dimensione di pagina più grande può comportare un maggior spreco di memoria, mentre una dimensione più piccola può aumentare il costo delle operazioni di gestione della memoria. Inoltre, la dimensione delle pagine può influire sulle prestazioni del sistema, ad esempio, una dimensione di pagina più grande può ridurre il numero di fault di pagina, ma può anche aumentare il tempo di accesso alla memoria. Pertanto, la scelta della dimensione delle pagine dipende dalle specifiche esigenze del sistema e richiede una valutazione attenta dei trade-off coinvolti.

puntano sulla necessità di pagine piccole. Poiché sia la memoria sia la dimensione dei programmi sono rapidamente aumentate, vengono privilegiate le pagine grandi. Quali considerazioni determinano se una pagina dovrebbe essere grande o piccola? Riassumiamo le principali:

  • Una pagina grande aumenta l'intervallo di memoria che viene indirizzato con una riga della TLB. Questo accresce la probabilità di TLB hit, migliorando le prestazioni della traduzione dinamica degli indirizzi.
  • In generale, una pagina grande può ridurre il numero delle costose operazioni di I/O che trasferiscono informazioni tra memoria principale e dispositivo secondario. Un sistema che trasferisce queste informazioni usando pagine piccole può richiedere diverse operazioni di I/O separate, che incrementerebbero il prodotto spazio-tempo del processo. Tuttavia, paginazione a previsione e algoritmi di scheduling del disco, possono ridurre questo sovraccarico.
  • I processi tendono a esibire
La località dei riferimenti rispetto a piccole porzioni del loro spazio di indirizzamento; in questo modo pagine più piccole aiuterebbero un processo a stabilire un working set più piccolo e snello, lasciando disponibile agli altri processi una maggiore quantità di memoria. - Le pagine piccole portano a gestire un gran numero di pagine e page frame a cui corrisponde una più grande tabella delle pagine. Queste tabelle possono consumare una porzione significativa di memoria principale, il cosiddetto fenomeno della frammentazione delle tabelle. Le pagine grandi riducono la frammentazione delle tabelle diminuendo il numero delle righe della tabella, al prezzo di un aumento della frammentazione interna. - Poiché le procedure e i dati riempiono raramente un numero intero di pagine, in un sistema con segmentazione/paginazione combinate si può osservare la frammentazione interna; quindi, un segmento avrà probabilmente l'ultima pagina quasi completa.

piena o quasivuota:Ogni segmento contiene in media mezza pagina di frammentazione interna. Livelli piùelevati di frammentazione si traducono per i programmi in una maggiore dimensionemedia del working set. Il sistema può ridurre la frammentazione interna utilizzandopagine di dimensione inferiore.

Benché il supporto a pagine di dimensioni diverse possa risolvere molti limiti non solo dellepagine piccole ma anche di quelle grandi, vi sono diversi svantaggi. Innanzitutto, per fornireun’efficiente traduzione dinamica degli indirizzi il sistema operativo richiede dispositivihardware dedicati per le pagine con più dimensioni.

Questo significa che il dispositivo hardware deve poter favorire pagine piccole e grandi.Spesso questo viene realizzato usando diverse TLB, ciascuna dedicata a memorizzare PTE diuna dimensione di pagina. Tale complessità aggiuntiva aumenta i costi. Inoltre, le pagine conpiù dimensioni introducono la possibilità di

frammentazione esterna simile a quella dei sistemi segmentati, poiché i blocchi sono di dimensione variabile.

COMPORTAMENTO DEI PROGRAMMA CON LA PAGINAZIONE

Studiamo ora due figure che ci permettono di capire come si comportano i processi in funzione delle pagine referenziate.

La figura mostra la percentuale di pagina che sono state referenziate di un ipotetico processo, cominciando dal momento in cui il processo comincia la sua esecuzione. La pendenza pronunciata iniziale indica che un processo tende a referenziare una porzione significativa di pagine immediatamente dopo l'inizio dell'esecuzione. Con il tempo, la pendenza diminuisce, ed il grafico tende asintoticamente al cento percento. Di certo alcuni processi referenziano il 100 percento delle loro pagine, ma il grafico ha la funzione di mostrare che molti processi potrebbero essere eseguiti a lungo senza fare ciò.

La figura di seguito mostra come il (cioè, il tempo tra i page fault) tempo interfault

mediovaria man mano che il numero di page frame allocati al processo aumenta. Il grafico è nondecrescente ciò significa che più page frame ha il processo, più è lungo il tempo tra i pagefault.

Lezione 34

CAPITOLO 13: FILE SYSTEM E DATABASE

INTRODUZIONE

La maggior parte degli utenti ha familiarità con il concetto di file: una raccolta di dati associata a un nome, manipolata come un'unità. I file risiedono solitamente sui dispositivi di memorizzazione secondaria, come dischi, CD o nastri, sebbene siano utilizzati in modo attivo solo quando risiedono nella memoria principale. In questo capitolo si illustrano l'organizzazione e la modalità d'accesso ai file da parte dei sistemi, per permettere il veloce recupero dei dati dai dispositivi di memorizzazione secondaria, che hanno una latenza elevata; si prende inoltre in esame la creazione di un'interfaccia da parte del sistema operativo che faciliti la navigazione tra i

Poiché i dispositivi di memorizzazione secondaria spesso memorizzano file contenenti informazioni sensibili, si vedrà come il File System controlli gli accessi ai file di dati. Molti sistemi usano i file per la memorizzazione di informazioni importanti, per esempio inventari e bilanci: in questo capitolo si spiega come un file system possa proteggere questi dati da eventuali danni o dalla perdita totale, dovuta a eventi gravi quali guasti ai dischi o ai sistemi di alimentazione. Si vedrà infine come i database offrano una valida alternativa ai file per quei sistemi che gestiscono grandi quantità di dati condivisi.

GERARCHIA DEI DATI

Le informazioni sono memorizzate nei calcolatori secondo una gerarchia dei dati. Il livello inferiore di questa gerarchia è composto dai bit; per rappresentare tutti gli elementi d'informazione di interesse per un sistema di elaborazione, i bit vengono raggruppati in pattern. Per una stringa di n bit, vi sono

2" possibili sequenze di bit. sequenze di bit (bitIl livello successivo della g
Dettagli
Publisher
A.A. 2020-2021
412 pagine
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher giusegu di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Palermo o del prof Morana Marco.