2 ms·
> Usually applications use Port mapped I/O. This is not true. On a Linux system run "cat /proc/ioports" to see the Port mapped I/O space. There are no network
by stefanha 6y ago
> Usually applications use Port mapped I/O.
This is not true. On a Linux system run "cat /proc/ioports" to see the Port mapped I/O space. There are no network card or storage controller registers in Port mapped I/O space on my machine so network and disk I/O does not involve Port mapped I/O. Modern devices tend to use Memory Mapped I/O registers (see "cat /proc/iomem").
Is the author confusing MMIO vs PIO with mmap vs syscalls? They are two different things. Using mmap can be more efficient than using syscalls because the application has direct access to the page cache, no syscall overhead, and no memory copies.