Introduces two lightweight approaches for accessing the physical memory of devices from user space: direct access through the dev/mem virtual device and the user space I/O framework. Also covers the role and usage loadable kernel modules. {Lecture, Lab}