Starting from:

$25

CPE434-Homework 6 Solved

1. Multi-level page tables.  Assume a virtual address machine with a 32bit address. Assume the address is divided into 4 parts a,b,c,d with the first three parts used to index into a three level page table and the fourth is used to index into the location on the page.  Assume the values for a,b,c,d are 4,6,6,16 respectively resulting in a 64 KB  sized page

 

a-      what is the total size in bytes of the page tables for the smallest program, which is a program containing a single page of  text and heap, starting at location 0, and a separate  page for the stack, starting at location 0xFFFFFFFF and running downwards.  Assume all page table entries are 4 byes each.

 

b-     what is the total size in bytes of the page tables for the largest program, which is a program containing text, heap and stack which fill the entire 32bit address space.

 

c-      which page table entries are used to access address 0xffff0000

 

2. Inverted Page tables.  Assume a virtual address machine with a 64 bit address.  Assume a page is 64K bytes long, indexed by the lowest 16 bits.  Assume the system used inverted page tables because of the large size of the address.

 

a-       How many bits of the address are used to hash into the inverted page table

 

b-      Assume the machine has 16 GB of memory available.  How big is the inverted page table size, in bytes, assuming each entry is 128  bits which includes 64 address bits and 64 control bits Do not include any linked lists that might be necessary for resolving collisions.

 

c-      how many bits of the address are used for the comparison operation used to disambiguate addresses that map into the same page table entry..

 

d-      What is the maximum number of virtual pages that might be mapped into the first page table entry. Explain your answer.

 

 3. Posix Shared Memory 

 

a-     points – Should posix shared memory be cachable or non-cachable. Explain your answer.

 

b-      When three programs share a block of memory, when is the memory returned to the system

   when the first program exits

   when the last program exits

   when returned explicitly by a program

   when the system reboots.

 

c-     Can we create a linked list in shared memory that is shared between two processes and if so what are the constraints, if any?

More products