-
Welcome
-
Subscribe to
Everything's a File Descriptor
Session information has not yet been published for this event.
One Line Summary
This talk will present clonefd, fd-based API design, and discuss other kernel APIs that would benefit from file descriptors.
Abstract
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.
Speaker
-
- Website: http://joshtriplett.org/
- Twitter: josh_triplett
Biography
Josh Triplett hacks on system software, including Linux, X, Git, systemd, BITS, libffi, and Debian. Josh enjoys using software for unconventional purposes, such as porting Python to GRUB2 to test BIOS. Josh has previously presented at Kernel Summit, linux.conf.au, Linux Plumbers Conference, and the USENIX Annual Technical Conference. Josh Triplett is Intel’s Chrome OS architect. He still finds himself typoing “Haswell” as “Haskell” and vice versa. (Speaking only for myself.)