Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

Exercises

Theory Questions

  1. Thrashing and Excessive Context Switching are both concepts that can lead to livelock. What is meant by livelock, and how do these two concepts lead to it?

  2. Which of the following programming techniques and data structures are “good” for a demand-paged environment, and which are “bad” (performance-wise)? Explain your answers. • Stack • Hash table • Sequential search of array • Sequential search of linked list • Binary search of array • Vector operations (such as vector addition or computing dot products)

  3. How might TLB interactions make context-switching between different processes be less efficient than context-switching between threads within the same process?

  4. Use 'top' to investigate how many processes. You may also wish to use 'htop' which may have a more easily read UI, or a higher level application such as the Windows Task Manager. Investigate how many processes are running, even when you only have your process monitoring application is open, how many are open when you start your regular browser/music player/social media apps etc.

Memory Translations

Using the page tables, memory system and example translation in the lecture from slide 50 onwards, tranlate the following virtual addresses into physical addresses. Some of these may have page faults or misses

  1. Virtual Address: 0x03D4 Physical Address: Byte:

  2. Virtual Address: 0x0020 Physical Address: Byte:

  3. Virtual Address: 0x036B Physical Address: Byte:

  4. Virtual Address: 0x0735 Physical Address: Byte:

  5. Virtual Address: 0x0916 Physical Address: Byte:

  6. Virtual Address: 0x0ACB Physical Address: Byte: