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.