Processor:- 32 bit with 4 KB page size.
RAM: - 4 GB with 220 frames in the RAM.
Process:-
> Process Name - MOTO GP
> Process Size - 1GB
> Frame Size - 4 KB // As frame size is always equal to page size.
> Number of pages - 218 Pages
Now, when I double click on the short cut icon of MOTO GP on the desktop it will invoke the process and load it into the main memory. It will require 1GB of space in RAM. As we are using the concept of paging the page table of the process MOTO GP will be created in the RAM itself.
Specification of Page Table:-
> Number of entries in page table - 218
> Page table entry size - 20bit // I am not considering other required bits like a valid-invalid bit, modified bit, etc.
> Content of page table - frame number of 20 bits, thus page table entry size is 20 bit.
> Page Table Size = No of pages * PTE size.
218*20 bit= 5120 Kbit = 640 KB.
So, this process consumed in total 1 GB + 640 KB space in memory,
Now,
Q1> from here I want to use the concept of Multi level paging, how we will do that?
Q2> We will have 4 KB of block size in Cache memory also (True or False) // Concept of CO
Q3> While executing the process if any miss occurs in cache it will fetch the entire block of 4 KB from RAM and therefore the concept of Locality of Reference will be introduced here (True or False)
Q4> Now I have read the concept of Page Fault how it will be related here as all the pages of the process(MOTO GP) have already been in the RAM?
Q5> After allocating space we are left with space less than 3GB, which is not sufficient for other processes like NFS Shift 2 which is approx of 7 GB, I think which introduces the concept of virtual memory but don't know how?