Write a program that implements the FIFO, LRU, and optimal page-replacement algorithms presented in chapter 9. First, generate a random page-reference string where page numbers range from 0 to 9. Apply the random page-reference string to each algorithm, and record the number of page faults incurred by each algorithm. Implement the replacement algorithms so that the number of page frames can vary from1 to 7. Assume that demand paging is used.