Briefly explain the difference between byte-addressable memory and block-addressable devices. Discuss from (1) hardware viewpoint and (2) implications for software.
Explain the purpose of a translation lookaside buffer or TLB. What happens on a TLB miss?
What is demand paging? What is a demand zero page?
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.
What is the purpose of direct memory access (DMA) in modern computer systems?
Explain the difference between each of the below.
Physical disk block
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?
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)
Very, very important: Questions on slides 26, 27, 28 of Week 5, part 2 lecture.