int FUNCTION(unsigned int process_id) { task_t processes[MAX_PROCESSES]; task_
process = &processes[process_id]; unsigned int pagesfreed = 0 ; (...) (...) (...) } Complete the
above function (in C) to deallocate page table memory (page replacement) used by a process in
termination (e.g. due to a segmentation or protection fault). (Structs for Reference): task: int:
process_id, pagecount pde_t: "pagetable } task_t pte: unsigned int: is_frame_in_use, ref, dirty,
op, frame, page } pte_t pde: pte_t ptepage; } pde_t Hint: You can travel the page directory and
find allocated pages (stored in ptepage) for freeing.

int FUNCTION(unsigned int process_id) -{ task_t processes-MAX_PROCESSE.docx

  • 1.
    int FUNCTION(unsigned intprocess_id) { task_t processes[MAX_PROCESSES]; task_ process = &processes[process_id]; unsigned int pagesfreed = 0 ; (...) (...) (...) } Complete the above function (in C) to deallocate page table memory (page replacement) used by a process in termination (e.g. due to a segmentation or protection fault). (Structs for Reference): task: int: process_id, pagecount pde_t: "pagetable } task_t pte: unsigned int: is_frame_in_use, ref, dirty, op, frame, page } pte_t pde: pte_t ptepage; } pde_t Hint: You can travel the page directory and find allocated pages (stored in ptepage) for freeing.