When a page is accessed, if the valid/invalid bit is set to valid, then the page is simply accessed in main memory via the logical address entry in the table. If the page is not contained in physical memory, then a page fault is generated. This causes the program to try and load the page into memory. The system first checks if the requested address is valid. If not, then the process is terminated. If the address is valid, then the system checks for free frames. If a free frame is found, then the system loads the requested data from the disk and places it in the free frame. The valid/invalid bit is set to valid in the paging table, the logical address is set to the previously free frame, and the program can continue executing. If no free frames are present, then the system must swap out a currently used frame and place the requested data in the frame. The system, an algorithm such as LRU, MRU, etc. to determine which page to swap out. The system swaps out the old page, loads in the new page and then returns control to the process.
If a statement within the body of a function calls the same function, the function is called recursive function. Actually, recursion is a process by which a function calls itself repeatedly until some specified condition has been satisfied. This process is used for repetitive computations in which each action is stated in term of previous result. Many iterative or repetitive problems can be written in this form. To solve a problem using recursive method, two conditions must be satisfied. They are: 1) Problem could be written or defined in term of its previous result. 2) Problem statement must include a stopping condition. /* An example of recursive function to calculate factorial of a number.*/ #include<stdio.h> #include<conio.h...
Comments
Post a Comment