Need someone to write a system call named pageAccess(), that reports this.
prototype of this system call for user programs will be:
int pageAccess(char* buf, unsigned int npages, unsigned int* bitmap);
buf points to the start address of the virtual address space that needs to be checked for access.
npages gives the number of pages that should be examined. It should be not larger than 64.
bitmap is the pointer to an unsigned integer that acts as a bitmap indicating if a page has been accessed. Each bit
of the unsigned integer corresponds to a page. Since an unsigned integer is 64 bits in size, npages is limited to
It should return a negative value if unsuccessful (for any reason). Any other returned value indicates success.
If pages 1, 2, and 30 have been accessed, the lower 32 bits of this integer should have 1’s only for bits 1, 2 and 30
(the rest are 0’s), giving a decimal value of 230+22+21 = 1073741830