CppCon 2017: Alfred Bratterud “Deconstructing the OS: The devil’s In the side effects”

preview_player
Показать описание


IncludeOS is a library operating system, where your C++ application pulls in exactly what it needs and turns it into a bootable binary. But once you have your standalone program with standard libraries, what do you really need from an operating system? In this talk we’ll show you some exciting developments in unikernel OS- and hypervisor design, ranging from a single-function do-it-all hardware interface for everything needed to run a web server, to a full on object-oriented ecosystem giving your C++ application total control over everything from devices, drivers and plugins, to every protocol in an internet enabled host. We’re running a full IP stack on platforms ranging from full blown server hardware to inside a single unit test in userspace and we still want more. We’ll discuss how minimal can be combined with maximal - giving you lots of modern abstractions while keeping the final binary as lean and mean as possible.

Alfred Bratterud: IncludeOS, CTO

Alfred Bratterud is the creator of IncludeOS, the C++ unikernel. The work on IncludeOS started as a PhD research project but has since evolved into a full time venture for the IncludeOS developer team. Alfred holds BSc and MSc in computer science from the University of Oslo, with focus on logic and computability. He has 10+ years of industrial programming experience.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

This is an incredible achievement. Great work Alfred and team! Loving IncludeOS.

zbjet
Автор

I’ve once read that the classic Mac OS (up to Mac OS 9) was »the last post-modern OS« with its flat organization, many managers on top of hardly any hardware abstraction.
Glad to see that the idea lives on in very impressive projects. Cheers!

dipi
Автор

This is the sort of stuff I am looking for. (More bare metal, than VMs.) Either a micro-OS or c++ framework/library that allows compiling stand alone programs without a bunch of hacks and manual voodoo. My interest is non-commercial though so discarding the ring3/user-mode entirely is fine with me if it simplifies the program and speeds execution. (my security risks are insignificant.)
It's always seemed odd to me that the ability to readily compile straight from normal high level syntax to bootable bare metal isn't seen as a requirement of "systems" languages/compilers, it's kind of what separates systems langs from all the compiled application focused langs[ like Go or Haskell ].

TheDuckofDoom.
Автор

I knew I was no longer in control of my desktop computer the first time M.S. Windows told me, "Welcome" as it was booting up. That still torques my jaw.

JiveDadson
Автор

I like some aspects of the stackexchange model, certainly a useful source of information, but the design of the points system just gives too much power to cocky basement dwellers with fragile egos. Kind of reminds me of the warcraft South Park where they spend weeks killing boars to accumulate enough points to do battle.

TheDuckofDoom.