Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Page replacement algorithm Program code in python using the skeleton code provid

ID: 3765142 • Letter: P

Question

Page replacement algorithm Program code in python using the skeleton code provided below.

'''
Simple FIFO page replacement algorithm
'''
def FIFO(size, pages):
    f = -1
    faults = 0 # just a value used in skeletal code to make it execute
    page = []
    for i in range(pages):
        page.append(-1)
    return faults

'''
LRU algorithm
'''
def LRU(size, pages):
    faults = 0 # just a value used in skeletal code to make it execute
    return faults


def main():
    pages = (7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1)

    size = int(input('Enter number of frames: '))

    print('The FIFO algorithm had', FIFO(size,pages), 'page faults.')

    print('The LRU algorithm had', LRU(size,pages), 'page faults.')

main()

Explanation / Answer

|-----------|--------|------------------------------------|

0           p        p+e                                  P-1

So assume the above the the virtual memory of size P. To generate reference strings, the following algorithm is used:

·         Repeat until reference string generated

·         pick m numbers in [p, p+e]. m simulates or refers to number of times page is referenced

·         pick random number, 0 <= r < 1

·         if r < t

·         generate new p

·         else (++p)%P