illumos day 2014: The Dream is Alive! Running Linux containers on an illumos kernel
Why Hacker News recommends it
HN points to it as an entertaining deep dive on Linux emulation on SmartOS and on how the Solaris kernel and libc are tightly coupled.
What it is
Bryan Cantrill's illumos Day 2014 talk on running Linux containers on an illumos kernel via LX-branded zones. He covers emulating Linux syscalls on SmartOS and compares Linux and Solaris-derived systems.
Recommended by 2 HN commenters across 2 different months, 2014 to 2019.
What Hacker News said
Strong rec ketralnis · 2016-02 · on “Show HN: Htop 2.0 released, now cross-platform”
I really enjoyed this talk[1] by Bryan Cantrill, part of which is about what it took to emulate Linux's syscalls from within SmartOS. It's lengthy, but enjoyable. One of the applications that they tried to port directly to before the emulation layer was htop, and he has a good rant about what that took because of its use of /proc and how that made porting it very difficult. Given that, I'm sure this wasn't easy. Kudos! [1] [this video]
Recommends AnbeSivam · 2015-10 · on “Running Linux containers on an illumos kernel”
Video of this talk. [this video] Though it is from 2014, it is interesting on comparison between linux and smartos(solaris). There is also a recent, shorter video [LINK]
Cites helper · 2014-11 · on “SmartDataCenter and Manta are now open source”
Not sure what in the announcement you are referring to. The only thing it says about Docker is that it has brought move visibility to OS-virtualization. But, Joyent is infact working on docker support for SmartOS. They have revived an old Solaris feature called LX-branded zones that allows running linux binaries directly in SmartOS. Bryan Cantrill gave a talk on it at SurgeConf this year: video: [this video] slides: [LINK]
Cites bcantrill · 2014-12 · on “Fin – Keith Wesolowski retires”
Assuming the last question is earnest: while I think "amateur" is a tad strong, I do think that Linux suffers enormously from NIH; it remains the first system (or first Unix system, anyway) for many of its contributors, who seem to know no other way -- and this shows up all over the system.[1] In terms of how this has changed over time: if anything, it used to be much, much worse. For example, Linus' attitude on kernel debugging circa 2000[2] is not merely amateurish, and not merely irresponsible, but actively dangerous. While his attitudes have soften over the years, there still remain striking differences of engineering principle between Linux and other systems -- of which systemd is merel
Cites bcantrill · 2015-01 · on “Show HN: Jetpack, a FreeBSD Jail/ZFS-based container runtime”
We have put (and are putting) a bunch of work into LX branded zones[1], and are at the point that they are working on an incredibly broad class of apps (64-bit and with on-the-metal performance). A concrete case in point: we recently ran the (amazing!) hundred language quine relay[2] in an LX branded 64-bit Ubuntu 14.04 zone on SmartOS.[3] As for ZFS support and Docker, it will be via sdc-docker[4], our (emerging) end-point for the Docker Remote API. The progress there has been swift and everything is being done in the open; expect to see something in production from us in this first calendar quarter. [1] [this video] [2] [LINK] [3] [LINK] [4] [LINK]
Cites the_why_of_y · 2015-01 · on “Interview: Lennart Poettering”
Of course you can get more specific - for example, the Solaris kernel/libc combination is so tightly coupled that it is described as a "welded unit" [this video] OpenBSD solved the Year 2038 problem by incompatibly changing the kernel and libc ABI in lockstep, which broke every single existing binary application using time_t - how's that for tight coupling... [LINK]
Cites bcantrill · 2015-03 · on “Triton: Docker and the “best of all worlds””
Funny you should mention that one in particular -- from our (SmartOS's) epoll(5) man page: While a best effort has been made to mimic the Linux semantics, there are some semantics that are too peculiar or ill-conceived to merit accommodation. In particular, the Linux epoll facility will -- by design -- continue to generate events for closed file descriptors where/when the underlying file description remains open. For example, if one were to fork(2) and subsequently close an actively epoll'd file descriptor in the parent, any events generated in the child on the implicitly duplicated file descriptor will continue to be delivered to the parent -- despite the fact that the parent itself no long
Cites mwcampbell · 2015-07 · on “Announcing ASLR Completion”
I don't understand. If bcantrill's description of VDSOs (buried in this presentation: [this video] ) is accurate, then they're just a way to make certain syscalls faster, when syscalls are already fast enough.