I/O 3 Facts
Microcontroller
Device’s CPU
Command Registers
PCI
Peripheral Component Interconnect
Character device
get/put character
BAR
Base Address Registers
Memory Mapped IO
Part of host physical memory dedicated for device interactions
IO Port Model
Dedicated in/out instructions fro device access
PIO
Programmed I/O
DMA
Direct Memory Access
Typical Device Access
indoe
persistent representation of file “index”
list of all data blocks
dentry
directory entry
superblock
filesystem-specific information regarding the FS layout
superblock contents
inode blocks
data blocks
free blocks
Direct Access Optimizations
Caching/Buffering
I/O Scheduling
Prefetching
Journaling/Logging