struct PAGE
{
int number;
int offset;
};
class CPage
{
private:
int MAXN ;
int size_of_v ;
int size_of_vp ;
int size_of_m ;
int size_of_mp ;
int max_vp;
int max_mp;
int lacks;
PAGE * vp_adr;
int * mp_flag;
int * v_mem_adr;
int * vp_map_mp;
int * mp_map_vp;
protected:
bool random();
bool if_in_mem( int number );
public:
CPage( );
~CPage();
static int * vp_flag;
bool Init_v( int size_of_v , int size_of_vp );
bool Init_m( int size_of_m , int size_of_mp );
bool VP_TO_MP();
void Show_vm();
void Show_mp();
bool FIFO();
bool OPT();
bool LRU();
struct cmp
{
bool operator()(const int p1, const int p2)