34C3 - library operating systems

34C3 - library operating systems


reject the default reality^W abstractions and substitute your own

Traditional models of application development involve talking to an underlying operating system through abstractions of its choosing. These abstractions may or may not be a good fit for your language or application, but you have no choice but to use them - you can only layer more abstractions on top of them, to try to lessen the pain of a bad match. Library operating systems let you write applications that use better abstractions in your own language - either someone else's abstractions, or your own.

This talk is an overview of library operating systems that focuses on the benefits to application developers. Interfacing with lower-level systems using familiar abstractions, rather than alien ones, is a thing of joy -- in testing, reasoning, modification, and participation. Operating systems programming doesn't have to be an arcane black art requiring a totally different set of skills from your day-to-day application development. It can be comprehensible, documentable, testable, and hackable with your everyday tools. Operating systems hacking is in reach!

Examples (when appropriate) will be given using the MirageOS library operating system, which is written in OCaml, but principles discussed are applicable to other library operating systems projects including IncludeOS in C++, HaLVM in Haskell, and many others.

Mindy Preston


more » « less
Video Language:
C3Subtitles edited English subtitles for 34C3 - library operating systems
C3Subtitles added new URL for 34C3 - library operating systems
C3Subtitles added new URL for 34C3 - library operating systems
C3Subtitles added a video: 34C3 - library operating systems
Format: Youtube Primary Original
Format: Youtube
Format: Youtube
This video is part of Amara Public.

Subtitles download

Incomplete subtitles (1)