Riferimenti per il file vmbo/src/mmu.h

#include <pthread.h>
#include "vm_types.h"
#include "queue.h"
#include "proc.h"
#include "io_device.h"

Questo grafo mostra quali altri file includono direttamente o indirettamente questo file:

Vai al codice sorgente di questo file.

Strutture dati

struct  mmu_data
 Parametri di configurazione del modulo MMU. Continua...
struct  frame
 Struttura per la rappresentazione di un frame di memoria. Continua...
struct  active_page
 Struttura per rappresentare una pagina associata ad un frame. Continua...

Definizioni

#define IS_PAGE_PRESENT(p)   ((p).present)
 Restituisce 1 se la pagina e' presente in memoria.
#define IS_PAGE_REFERENCED(p)   ((p).reference)
 Restituisce 1 se la pagina e' stata referenziata.
#define IS_PAGE_DIRTY(p)   ((p).dirty)
 Restituisce 1 se la pagina e' "sporca".
#define PAGE_CLEAR_DIRTY(p)   ((p).dirty = 0)
 Imposta a zero il bit dirty della pagina.
#define PAGE_CLEAR_REFERENCED(p)   ((p).reference = 0)
 Imposta a zero il bit reference della pagina.
#define PAGE_CLEAR_PRESENT(p)   ((p).present = 0)
 Imposta a zero il bit present della pagina.
#define PAGE_CLEAR_FRAMEID(p)   ((p).frame_id = (uint16_t) -1)
 Imposta a zero il frame-id della pagina.
#define PAGE_SET_DIRTY(p)   ((p).dirty = 1)
 Imposta a uno il bit dirty della pagina.
#define PAGE_SET_REFERENCED(p)   ((p).reference = 1)
 Imposta ad uno il bit reference della pagina.
#define PAGE_SET_PRESENT(p)   ((p).present = 1)
 Imposta ad uno il bit present della pagina.
#define PAGE_SET_NUM(p, num)   ((p).id = num)
 Imposta l'identificatore della pagina.
#define PAGE_SET_FRAMEID(p, fid)   ((p).frame_id = fid)
 Imposta il frame-id per la pagina "p".
#define PAGE_NUM(p)   ((p).id)
 Restituisce l'identificatore della pagina.
#define FRAME_ID(p)   ((p).frame_id)
 Restituisce il frame-id della pgina.
#define ASSIGN_FRAME_TO_PROC(f, p, n)
 Assegna il frame "f" alla pagina "n" del processo "p".
#define NUM_OF_REQUESTS()   (mmu.page_hits+mmu.page_faults)
 Restituisce il numero di richieste effettuate all'MMU.

Ridefinizioni di tipo (typedef)

typedef struct active_page active_page_t
 Definizione del tipo di dato active_page_t da struct active_page.
typedef struct frame frame_t
 Definizione del tipo di dato frame_t da struct frame.

Funzioni

pthread_t * mmu_init (int, int, int)
 Inizializzazione MMU.
uint32_t memory_access (int, uint32_t, int)
 Funzione per la lettura/scrittura di una zona di memoria.

Variabili

struct mmu_data mmu


Descrizione dettagliata

Autore:
Ferruccio Vitale (unixo@devzero.it)
Data:
21/04/2009
Nota:
Universita' degli studi di Urbino "Carlo Bo"
Sistemi Operativi
Professore Emanuele Lattanzi
Anno Accademico 2008 - 2009

Definizione nel file mmu.h.


Documentazione delle definizioni

#define ASSIGN_FRAME_TO_PROC ( f,
p,
 ) 

Valore:

do {\
f->debug_info.pid = p->pid; \
f->debug_info.page_id = n; \
} while (0)
Assegna il frame "f" alla pagina "n" del processo "p".

Definizione alla linea 70 del file mmu.h.

#define FRAME_ID (  )     ((p).frame_id)

Restituisce il frame-id della pgina.

Definizione alla linea 69 del file mmu.h.

#define IS_PAGE_DIRTY (  )     ((p).dirty)

Restituisce 1 se la pagina e' "sporca".

Definizione alla linea 58 del file mmu.h.

#define IS_PAGE_PRESENT (  )     ((p).present)

Restituisce 1 se la pagina e' presente in memoria.

Definizione alla linea 56 del file mmu.h.

#define IS_PAGE_REFERENCED (  )     ((p).reference)

Restituisce 1 se la pagina e' stata referenziata.

Definizione alla linea 57 del file mmu.h.

 
#define NUM_OF_REQUESTS (  )     (mmu.page_hits+mmu.page_faults)

Restituisce il numero di richieste effettuate all'MMU.

Definizione alla linea 74 del file mmu.h.

#define PAGE_CLEAR_DIRTY (  )     ((p).dirty = 0)

Imposta a zero il bit dirty della pagina.

Definizione alla linea 59 del file mmu.h.

#define PAGE_CLEAR_FRAMEID (  )     ((p).frame_id = (uint16_t) -1)

Imposta a zero il frame-id della pagina.

Definizione alla linea 62 del file mmu.h.

#define PAGE_CLEAR_PRESENT (  )     ((p).present = 0)

Imposta a zero il bit present della pagina.

Definizione alla linea 61 del file mmu.h.

#define PAGE_CLEAR_REFERENCED (  )     ((p).reference = 0)

Imposta a zero il bit reference della pagina.

Definizione alla linea 60 del file mmu.h.

#define PAGE_NUM (  )     ((p).id)

Restituisce l'identificatore della pagina.

Definizione alla linea 68 del file mmu.h.

#define PAGE_SET_DIRTY (  )     ((p).dirty = 1)

Imposta a uno il bit dirty della pagina.

Definizione alla linea 63 del file mmu.h.

#define PAGE_SET_FRAMEID ( p,
fid   )     ((p).frame_id = fid)

Imposta il frame-id per la pagina "p".

Definizione alla linea 67 del file mmu.h.

#define PAGE_SET_NUM ( p,
num   )     ((p).id = num)

Imposta l'identificatore della pagina.

Definizione alla linea 66 del file mmu.h.

#define PAGE_SET_PRESENT (  )     ((p).present = 1)

Imposta ad uno il bit present della pagina.

Definizione alla linea 65 del file mmu.h.

#define PAGE_SET_REFERENCED (  )     ((p).reference = 1)

Imposta ad uno il bit reference della pagina.

Definizione alla linea 64 del file mmu.h.


Documentazione delle ridefinizioni di tipo (typedef)

Definizione del tipo di dato active_page_t da struct active_page.

Definizione alla linea 148 del file mmu.h.

struct frame frame_t

Definizione del tipo di dato frame_t da struct frame.

Definizione alla linea 153 del file mmu.h.


Documentazione delle variabili

struct mmu_data mmu

Università degli studi di Urbino "Carlo Bo"