<< Chapter < Page
  Operating systems     Page 3 / 4
Chapter >> Page >

 

b.      2. Show the binary tree representation following Return B.

 

          

 

 

Consider a buddy system in which a particular block under the current allocation has an address of 011011110000.

 

a.       If the block is of size 4, what is the binary address of its buddy?

            If the block is of size 4, the binary address of its buddy is 011011110100

 

b.      2. If the block is of size 16, what is the binary address of its buddy?

If the block is of size 16, the binary address of its buddy is 011011100000.

 

Consider a simple paging system with the following parameters: 232 bytes of physical memory; page size of 210 bytes; 216 pages of logical address space.

 

a.       How many bits are in a logical address?

The number of bytes in the logical address space is (216 pages) * (210 bytes/page) = 226 bytes. Therefore, 26 bits are required for the logical address.

 

b.      How many bytes in a frame?

A frame is the same size as a page, 210 bytes.

 

c.       How many bits in the physical address specify the frame?

The number of frames in main memory is (232 bytes of main memory)/(210 bytes/frame) = 222 frames. So 22 bits is needed to specify the frame.

d.      How many entries in the page table?

There is one entry for each page in the logical address space. Therefore there are 216 entries.

 

e.       How many bits in each page table entry? Assume each page table entry includes a valid/invalid bit.

In addition to the valid/invalid bit, 22 bits are needed to specify the frame location in main memory, for a total of 23 bits.

 

Consider a paged virtual memory system with 32-bit virtual addresses and 1kb pages. each page table entry requires 32 bits. it is desired to limit the page table size to one page.

a.       How many levels of page tables are required?

Virtual memory can hold (232 bytes of main memory)/( 210 bytes/page) = 222 pages, so 22 bits are needed to specify a page in virtual memory. Each page table contains (210 bytes per page table)/(4 bytes/entry) = 28 entries. Thus, each page table can handle 8 of the required 22 bits. Therefore, 3 levels of page tables are needed.

 

b.      What is the size of the page table at each level? Hint: One page table size is smaller.

Tables at two of the levels have 28 entries; tables at one level have 26 entries. (8 + 8 + 6 = 22).

 

c.       The smaller page size could be used at the top level or the bottom level of the page table hierarchy. Which strategy consumes the least number of pages?

 Less space is consumed if the top level has 26 entries. In that case, the second level has 26 pages with 28 entries each, and the bottom level has 214 pages with 28 entries each, for a total of 1 + 26 + 214 pages = 16,449 pages. If the middle level has 26 entries, then the number of pages is 1 + 28 + 214 pages = 16,641 pages. If the bottom level has 26 entries, then the number of tables is 1 + 28 + 216 pages = 65,973 pages.

 

A process has four page frames allocated to it. (all the following numbers are decimal, and everything is numbered starting from zero.) the time of the last loading of a page into each page frame, the last access to the page in each page frame, the virtual page number in each page frame, and the referenced (r) and modified (m) bits for each page frame are as shown (the times are in clock ticks from the process start at time 0 to the event -- not the number o fticks since the event to the present).

      Virtual Page Number          Page Frame      Time Loaded    Time Referenced          R Bit    M Bit

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Operating systems. OpenStax CNX. Aug 13, 2009 Download for free at http://cnx.org/content/col10785/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Operating systems' conversation and receive update notifications?

Ask