└── paging /paging: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | main() 4 | { 5 | int ms, ps, nop, np, rempages, i, j, x, y, pa, offset; 6 | int s[10], fno[10][20]; 7 | clrscr(); 8 | printf("\nEnter the memory size -- "); 9 | scanf("%d",&ms); 10 | printf("\nEnter the page size -- "); 11 | scanf("%d",&ps); 12 | nop = ms/ps; 13 | printf("\nThe no. of pages available in memory are -- %d ",nop); printf("\nEnter 14 | number of processes -- "); 15 | scanf("%d",&np); 16 | rempages = nop; 17 | for(i=1;i<=np;i++) 18 | { 19 | printf("\nEnter no. of pages required for p[%d]-- ",i); 20 | scanf("%d",&s[i]); 21 | if(s[i] >rempages) 22 | { 23 | } 24 | printf("\nMemory is Full"); break; 25 | rempages = rempages - s[i]; printf("\nEnter 26 | pagetable for p[%d] --- ",i); for(j=0;jnp || y>=s[i] || offset>=ps) 33 | printf("\nInvalid Process or Page Number or offset"); 34 | else 35 | { 36 | } 37 | pa=fno[x][y]*ps+offset; 38 | printf("\nThe Physical Address is -- %d",pa); 39 | getch(); 40 | } 41 | --------------------------------------------------------------------------------