Skip to content

lirazr25/os172-Assignment3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Assignment3

proc.h: uint p_pages; // Current amount of pages for process (in RAM) uint v_pages; // Current amount of pages for process (in DISK)

proc.c: in fork: if (proc != initproc) createSwapFile(np); // creates a swap file for proccess so he can use pages in exit: removeSwapFile(proc); // delete the process change_pages file in growproc: if (n/PGSIZE > MAX_TOTAL_PAGES - (proc->p_pages + proc->v_pages)){ return -1; // no more space to allocate pages }

mmu.h: #define MAX_PSYC_PAGES 15 //max process pages in RAM #define MAX_TOTAL_PAGES 30 //max process pages #define PTE_PG 0x200 // Page moved to secondary storage

proc.h: uint p_pages; char * pages_RAM[15]; // Data structe for pages in RAM char * pages_Disk[15]; // Data structe for pages in Disk

proc.c: in growproc: p_pages=p_pages + n/PGSIZE; if(p_pages>=MAX_TOTAL_PAGES) return 0;

vm.c: in allocuvm: if(proc->p_pages == MAX_PSYC_PAGES){ change_page(0); // 0 = LIFO } proc->pages_RAM[i]=a; if (proc->p_pages < MAX_PSYC_PAGES){ proc->p_pages++; } else{ proc->v_pages++; }

About

os172 ass3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published