LinuxCon + CloudOpen + ContainerCon NA 2015 has ended
Back To Schedule
Wednesday, August 19 • 10:25am - 11:15am
Everything's a File Descriptor - Josh Triplett

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

The classic UNIX philosophy, "everything's a file", allows tools and system calls that operate on files to work on devices, /proc, and other objects. This doesn't mean everything has a filename; /dev, /proc, and /sys expose devices and kernel structures with filenames, but many new system calls offer file descriptors that serve as userspace handles for kernel structures without any corresponding filename, including signalfd, timerfd, and eventfd. The resulting file descriptors can be used with event loops using poll, epoll, or select.

Thiago Macieira and I implemented "clonefd", which turns processes into file descriptors and turns waitpid() into poll or read. These descriptors serve as race-free, container-safe process identifiers.

This talk will present clonefd, fd-based API design, and discuss other kernel APIs that would benefit from file descriptors.

avatar for Josh Triplett

Josh Triplett

Principal Engineer, Intel
Josh Triplett hacks on system software, including Rust, the Linux kernel, BITS, X, Git, Sparse, Debian, Chrome OS, and firmware. Josh enjoys using software for unconventional purposes, such as running Python in GRUB2 to test BIOS (https://biosbits.org). Josh has previously presented... Read More →

Wednesday August 19, 2015 10:25am - 11:15am PDT
Willow B

Attendees (0)