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)

well at least we can agree on microkernels being good, mister lisp meanie!

zero of course!

OwO

microkernels are nice

gas the jews with mk-powered robots

6 gorillion

Why are microkernels so consistently unpopular in server and desktop use? Other than being the ME botnet OS (Minix) they haven't really taken off. The idea sounds good to me, but it it also seems like it's universally hard to implement (see HURD).

Because they are slow.

See the thingy I wrote about Fuchsia. As botnet as it’s likely to be given its creator being Jewgle, the fact that one of its platforms will be mobile phones is proof to me that the performance decrease can’t be that bad. Also see what others in this thread mentioned about QNX.

I’d attribute it to Windows, MacOS, and GNU/Linux getting popular first, and also the FUD about performance.

Alex, is that you.

Attached: RZdTwK6X_400x400.jpeg (400x400, 35.82K)

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

UwU who's alex?

Yeah ive seen that. Tried HURD already and like I said its kinda not great in terms of usability for full-time.

HAHAHAHA retarded faggotposter can't into du -s
protip: du -k counts the size of the directory entry, not the files inside LOL

...

Remember guys anything thats shit about your favorite thing is always FUD. Everything is free, they are better in every way.

Do you not understand the FUD going around that's directed towards microkernels? The FUD says that microkernel overhead is too large to be usable. That is the definition of fear, uncertainty and doubt.

You tell him!! ^_^

I won't deny they are slower, but not to the point of it actually mattering, at least with modern ones.

Attached: 59529b2300e54e77ce2951dc0750efb0.jpg (361x373, 37.5K)

kill yourself, obnoxious tripfag

don't forget about MirageOS, HalVM, and OSv. They're excellent.

sage

umm those are the exact opposite of what im talking about. Those are unikernels, silly!

jump in

Attached: Snowing-being-sucked-through-jet-engine-h4k8.jpg (640x400, 39.01K)

microkernels are 50% slower than monolithic. let that sink in
50%

1. [Citation needed]
2. This is offset quite a bit by increased modularity. If you look at HURD they have filesystem translators for all kinds of protocols like ftp/gopher/xml/etc. Having standard components like this allows user applications to be far less bloated. Instead of having a dozen monolithic applications each using their own libraries you can have a couple translators and a dozen thin client programs served by the translators.

really makes you think

You're a moron.

Remember guys modular means good. Increased modularity in no way means more bloat.

Yes and no, the hurds way of doing things reduces a lot of needs that ask for their own project, for example most of the mess that is docker isn't necessary anymore thanks to subhurds and neighborhurds isolation, same thing for debugging you can live debug the microkernel thanks to that system, init systems becomes trivial etc...

Ah yes if there is something GNU code is known for its not bloating shit up for supporting random shit no one uses.

Nope more like 10~20% and that was a understandable to not want that in the 90s but nowadays it's stupid.
To completely remove the performance problem hardware must be adapted to support the hurds microkernels design.

Yes because other OS are known to no insert the blob bloat or support proprietary software.
If it's in there then someone used it at some point.

Yes user if literally anyone ever used it, it should be included forever on everyones system and never deleted from the source.

*giggles* you're silly! Modularity doesn't make stuff bloated at all! ^.^
After all, if it did, then poetteringd would be the most /minimal/ thing out there, but clearly its not.

Ive probably said this before, but microkernel design takes the most memorable and loved part of the unix philosophy, "do one thing and do it well", and takes it even further than the people who came up with that intended, expanding the concept to the kernel itself.
I mean if you're gonna have a super-modular and separated out toolset, why not do that to the kernel too?
OwO it makes me excited that this OS design may get popular soon!

idk about hurd, I think its a dead meme, but I agree that the performance thing is FUD and you're right that it's probably more like 10% these days. Things have gotten a lot better since the days of mach.

Attached: UwU.jpg (600x600, 49.58K)

The "eunuch philosophy" for software design is an abject failure, as is the C language.

hi mister lisp meanie!

...

...

Thats what you said!
You sarcastically said "Remember guys modular means good. Increased modularity in no way means more bloat."
which to me implies that you believed that reduced modularity means less bloat. But clearly thats not the case.

Only if you are an idiot and interpret what I said as "If you make something non modular it cannot also be bloated".

Why do you keep posting?, we don't need you to post anymore, we can already predict with precision where you are going to post and what you're going to post an hour before you do it, you're like that one guy who insist in blurting out the obvious joke that is so obvious noone wated to say it because they knew everyone was thinking of the same thing. Keep lurking if you want, but there's no point in you to keep posting anymore when we already know exactly what you're thinking.

I see the block quote and don't even read them at this point

But it works today. Wake me up when I can buy a multi-user, multi-processing general purpose computer that doesn't rely on either a Unix-like or C.

This.