Microkernel Love Thread!

Hi! ^.^

This is a happy little thread about microkernels OSes!
I love them so much conceptually but sadly they aren't really usable full time yet. ;_;
I can see them getting more popular soon though! We'll definitely see a paradigm shift.

Ok so theres Minix3 which has a cute raccoon logo and was also used by (((Intel))) for the ME.
It has coreutils and a lot of stuff taken from NetBSD. Same pkgsrc too!
It could a l m o s t be used as a little server OS, as it supports ftp, httpd, bind dns, dhcpd, and could even be an email server, but it has no packet filtering firewall like pf or iptables so it lacks security in that sense. I couldn't get most graphical environments to compile nor could I get a browser (outside of w3m or links) or sound, so definitely not desktop-capable. Also only 32-bit.

HURD is a similar story, only it can actually filter packets. Also it's a dead project that will never get anywhere at this point >_<

Anyway those are the old ones that are just kinda dead/dying. Theres 3 big new ones that are really exciting OwO

First is Genode OS. This is an "OS Framework" that supports pretty much the entire L4 series of microkernels, including seL4. They have been talking big about this thing based on it called sculpt, and I heard from some user that QtWebkit or something like that got ported to it, so it seems it's progressing nicely. Can't wait to see more from this! Maybe they'll release an iso at some point? they stopped doing those years ago.

Next is Redox. Its made in Rust, and apparently takes inspiration from Plan9. They already have a GUI system which is amazing for how new this is. Sadly you can't do much with it yet but hopefully soon as it develops.

Finally, Google is making one called Fuchsia. I dont like this already because (((Google))) but it does mean a lot of things. First since they apparently want this to be put on phones, that kinda disproves the "microkernels have bad performance" maymay. If it's good enough for phones it's good enough for desktops or anything else. second is that it means we are definitely gonna see a rise of microkernels no matter what. Just kinda sucks that it had to be Jewgle that caused it. Hopefully we get a debotneted fork.

OMG I typed so much! Anyway what do u guys think? Long live the superior microkernel design!!

Attached: l4-microkernel-design-overview-9-638.jpg (600x720 47.39 KB, 393.57K)

Other urls found in this thread:

draketo.de/english/free-software/howto-hurd-140-chars
twitter.com/SFWRedditGifs

What's the smallest practical kernel size possible on a modern (((x86))) desktop?
AmigaOS' Exec got by with 13kb in the late 80s.

idk about compiled size, but minix3's kernel according to them is 12k lines. seL4 is probably even less.

ok heres what I got for minix3.

Attached: ClipboardImage.png (378x262, 14.61K)

Yes they are. They are used commercially all the time. The big one is called QNX.

Microkernels are slower because of context switching cost. Having to go through 3 or 4 different programs for one task is very slow. Note that this is NOT the same thing as IPC limits which have gotten much faster.

Microkernels are good for some things that require stability and security but not speed.

Attached: AbsolutelyProprietary.jpg (431x437, 57.27K)

QNX was pretty fast though. And most computationally expensive stuff isn't syscall bound (see what was and what wasn't impacted by the spectre fixes).

How many little boys have your greasy fat hands touched?

Microkernels are generally a good thing, but microkernels written in C and/or emulate UNIX all suck. Microkernels are supposed to reduce costs and development time, but C and UNIX increase costs and development time instead. If the Hurd didn't have to emulate UNIX, it would have been completed the same year it started and it would have been faster than UNIX and use much less code overall. Even better is not needing a kernel.

Anyway, you have to have hard links to your kernel file inboth root directories. Then since mach is not a kernel buta microkernel (the micro kernel binary with symbol tables,debugger, etc is a svelte 950k on a MIPS box, unix emulationis only another 1500k; I actually *needed* the extra 10 megson the root partition) you have to create a mach_serversdirectory and populate it with various programs that machuses to emulate unix.

Try the case where the interpreter specified on the #! line is *itself* implemented by an interpreted script. Now if a reasonable person were implementing this, it would just work. Recursion is a concept understood by most 18-year-old CS majors. Apparently this notion escaped the notice of the BSD/SunOS guys, because on my Unix, one level is all you get.You Just Don't Understand. Writing Code To Run InsideKernels Is A Hard Problem. (That's why we havemicrokernels; so you can have programmers of average abilitywriting system software and not necessarily crashingeverything when it breaks.) You can't just allow unboundedrecursion inside the Kernel. You might overflow your Kernelstack which is of course set at some small wired in constantin keeping with unix tradition (Simple!). And of course, NoOne Would Ever Want To Specify Another Shell Script In The#! Line.I have a machine named EXXON-VALDEZ on my desk. This wasfrom when I nominally worked in fault tolerant computing; Ifigured it would be good karma to name the machine after ahuge disaster as a precautionary measure. (I'm quitesuperstitious in strange ways.) Now the hardware has beenreplaced and I'm about to name the machine something else.I'm thinking of the name MBUF. I suppose it wouldn't besuch a big change; the machine would still be named after ahuge disaster...

HAHAHAHAHAA

Attached: DX3ptTgXUAEHoG3.jpg (410x498, 45.53K)