memory.h


#ifndef MEMORY_H
#define MEMORY_H

#include "../h/types.h"

typedef struct pgmsg_t {
    pd_t *pd;
    char pageno;
    char segidx;    /* e` l'indice di segmento all'interno dell'area di scambio */
} pgmsg_t;
/*
 * seg_idx:
 * 0 --> segno = SHARSEG, termno = X
 * 1 --> segno = PRIVSEG, termno = 1
 * 2 --> segno = PRIVSEG, termno = 2
 * 3 --> segno = PRIVSEG, termno = 3
 * 4 --> segno = PRIVSEG, termno = 4
 * 5 --> segno = PRIVSEG, termno = 5
 */

typedef struct frame_t {
    struct frame_t *f_next;
    pd_t *f_pd;                 /* puntatore al descrittore della pagina */
    unsigned f_frameno  : 7,    /* numero del frame di pagina */
                        : 1,    /* inutilizzato */
             f_pageno   : 5,    /* numero pagina */
             f_segidx   : 3     /* indice del segmento nell'area di scambio */
} frame_t;

#endif


[INDICE CODICE]