// vm.cpp Dave Reed 4/1/05 // // Virtual Memory Simulator: currently uses FCFS page replacement ////////////////////////////////////////////////////////////////// #include #include "PageTable.h" using namespace std; int main() { int logSize; cout << "Enter number of pages in logical memory: " << endl; cin >> logSize; int physSize; cout << "Enter number of frames in physical memory: " << endl; cin >> physSize; PageTable PT(logSize, physSize); // CREATE THE PAGE TABLE cout << "Enter the page-reference string: " << endl; int pageNum; cin >> pageNum; while (pageNum != -1) { // REPEAT UNTIL END OF INPUT if (PT.isValid(pageNum)) { // IF PAGE IS IN MEMORY, PT.accessPage(pageNum); // THEN ACCESS IT } else { // OTHERWISE, PT.storePage(pageNum); // SWAP THE PAGE IN PT.accessPage(pageNum); // THEN ACCESS IT } cin >> pageNum; // READ NEXT INPUT VALUE } return 0; }