Question 1#

Briefly explain the difference between byte-addressable memory and block-addressable devices. Discuss from (1) hardware viewpoint and (2) implications for software.

Question 2#

Explain the purpose of a translation lookaside buffer or TLB. What happens on a TLB miss?

Question 3#

What is demand paging? What is a demand zero page?

Question 4#

In most contemporary systems, a special piece of hardware called the memory management unit (MMU) performs the page table walk on a TLB miss. On the other hand, the page fault is handled in software by the operating system via the well-known exception mechanism. Explain why most existing systems use hardware support for page table walks but software support for page fault handling.

Question 5#

What is the purpose of direct memory access (DMA) in modern computer systems?

Question 6#

Explain the difference between each of the below.

  • Virtual page

  • Physical page

  • Disk sector

  • Physical disk block

  • Filesystem block

Question 7#

Why does the operating system kernel maintains a page cache? What is the motivation for user-level buffering in the presence of a page cache?

Question 8#

Briefly explain how each of the following mechanisms work in a modern computer system. What are the tradeoffs involved in the use of each of the two mechanisms. List the key overheads in each of the two mechanisms.

  • System call I/O (Syscall I/O)

  • Memory mapped file I/O (MMIO)

Question 9#

Very, very important: Questions on slides 26, 27, 28 of Week 5, part 2 lecture.

bars search times arrow-up