Whether it’s video and keyboards, disks and network interfaces, or touch screens and cellular modems all computers do some form of input and output. The ways in which I/O happens have changed massively over the years though.
On the hardware side we’ve gone from paper tape to punch cards to tape to many generations of hard drives and now various forms of solid-state storage. We’ve also gone from serial lines and modems to 2.5Mbps Ethernet all the way up to 100Gbps and beyond not to mention Wi-Fi. On the software side there have been many different ways to communicate with the POSIX file APIs and Berkeley socket APIs looming over much of it.
This session will give you an overview of historical hardware I/O mechanisms and how they’ve evolved into the mechanisms we have today. It will also look at the software side of things starting with mainframe I/O mechanisms and looking at the progression from there to the modern POSIX APIs. Lastly it will look at some of the ways I/O is changing and what the future of I/O may hold.
Benno is a longtime FreeBSD committer and, more recently, Core Team member. He’s also been part of the Python community for a fair old while. He kicked off FreeBSD’s port to the PowerPC architecture a long time ago and co-created Python’s behave project. Lately he’s been working with FreeBSD’s Core Team to improve FreeBSD’s community processes.