Hello Jow Forumsentlemen, do you have a moment to discuss our Lord and Savior, the microkernel?
>What's a monolithic kernel? Linux is a common monolithic kernel, as well as MS-DOS and the Solaris kernels. These kernels run as one program, handling resource allocation, file system stuff, networking, and device drivers. All of these features of the OS are bundled into one program that acts sort of as the base of the system. Then on top of that you run other programs such as the Bash shell, a login manager, a window manager, a desktop environment, a browser, etc. But under it all you have this one program acting as a kernel.
>What the advantages/disadvantages? Patching something or making changes means recompiling the whole kernel. It's not a big deal for most users that will just update to a newer binary, but it's a pain in the ass for the devs, be they the kernel maintainers themselves, or someone making drivers or other modifications, or the kinds of freetards that like source based systems like Gentoo. If the kernel runs into an error, the only way to recover it is often to reboot the machine. The kernel is also not isolated from potentially malicious botnet drivers. The only real advantage of this kind of kernel is the small resource usage and the speed. It's pretty fast.
>What is a microkernel? It does the same kinds of things that a monolithic kernel does, except these tasks are done by separate processes, which are basically mini kernels that each handle one or more specific things. One mini kernel handles memory management while another handles networking, and another handles device drivers. There can also be mini kernels that exist only to restart another crashed mini kernel.
>What are the advantages/disadvantages? When one kernel fails it won't bring down the whole system. You get amazing stability and you can basically hotplug pieces of the kernel. You literally never have to reboot your system. You can slowly update every piece of the OS one at a time and bring the new kernels online as they're needed, and stop and delete the old ones. They offer better security by allowing parts of the kernel like device drivers to be run in user space and isolated from the other parts of the kernel. The only bad part about microkernels is that they're a little bit slower due to the communications between separate kernel processes.
>What about hybrid kernels? It's modular like a microkernel, but it runs everything in kernel space. This allows you to swap out modules on the fly like a microkernel, and is a little bit faster than a pure microkernel. The trade off is that they're a little less secure because you don't get all the benefits of isolating kernel processes outside of kernel space. Examples of good hybrid kernels are the Windows NT and React OS kernels, the Haiku OS kernel, Plan9/9front kernels, and IBM OS/2 (cousins with Windows NT). A bad hybrid kernel is XNU, because Apple devs are fucking retarded. Hybrid kernels are a huge step in the right direction, but full microkernels are the best option for the future of computing.
Ayden Morris
>It does the same kinds of things that a monolithic kernel does, except these tasks are done by separate processes, which are basically mini kernels that each handle one or more specific things. So microkernels follow the Linux philosophy (do one thing, and do it well) more closely than Linux itself does? Neat!
Jack Powell
Yes, the individual microkernels follow the UNIX philosophy more closely than most actual UNIX distros ever did.
Jack Richardson
Sorry op this type of discussion is too legitimate and good to replace "AYYMD BTFO INTLEL" threads
>A bad hybrid kernel is XNU, because Apple devs are fucking retarded Explain what's wrong with XNU/macOS.
Kayden White
can i play games on microkernel oses?
Ian Peterson
Not that guy but apple's filesystem is a joke, the overall os by default is slow and bloated, obtaining root access has been proven to be a joke.
Levi Gray
It's a big ball of spaghetti with a myriad of security issues. It's bent over backwards and stuffed with legacy trash despite having piss poor backwards compatibility, and it also has ancient BSD extensions shoved up its ass. XNU is a clusterfuck of Mach, BSD, and other custom components. It's bad at handling device drivers and is prone to crashes due to certain architectural flaws.
Don't get me wrong, things have gotten better in the last few years. But XNU still sucks.
I don't know, can you play games on Windows? That's technically a microkernel OS.
Almost forgot about the file systems. HFS+ was so bad that they made APFS and it's still shit.
Gabriel Walker
So it's like windows but without backwards compatibility? Fuck, and I thought it was the less shit of the proprietary OS.
Hunter Wilson
OS X would be literally worthless without the shiny GUI. The look and feel is literally the only thing it brings to the table. Performance is absolutely horrible and battery life suffers, which is why Apple has to pack double the batteries into every laptop. Their machines throttle not only from the poor cooling systems, but also from the resource hungry shitware that is OS X that's constantly raping the RAM and CPU.
And yes, the backwards compatibility was lost/made useless with the transition from Motorola PowerPC to Intel i396 and eventually Intel AMD64. It's a big mess of code that gets slapped in there and never removed. There's probably a bunch of code in there that's optimized for PPC but recompiled for x86, and that's probably why it runs like shit with so many errors.
Windows and Linux are just as shitty and messy in many ways, but they don't hide it away under pretty animations and gimped file explorer. Microsoft and the FOSS community also work to fix this stuff, unlike Apple who will keep sweeping their fuckups under the run until the end of time.
Michael Rogers
t. butthurt intcuck
Thomas Allen
So what do I do now that I know that my operating system is inferior?
Caleb Ortiz
OP, which do you like better, Genode or Redox? Genode has the lead for now but their completely POSIX incompatible API is a red flag for me, and their C++ dialect is bizarre. I think Redox will win long term if only their Mesa port gets hardware accel.
Adam Thompson
WRONG it should be OS/Kernel, so macOS/XNU Windows/NT OpenBSD/OpenBSD GNU/HURD GNU/shitnux (kernel made by a cuck)
Justin Moore
Is HURD a viable option? Or is it still in development?
Carson Cooper
If microkernels are so good how come they all suck?
Ryder Wilson
wow thanks user, this is really interesting. What level of knowledge do you think you'd need to start using one without it being a pain? I've only started using my first distro quite recently, and it's Fedora at that.
Lucas Torres
>(kernel made by a cuck) That chad is fucking your mother as we speak. Also there's no better kernel in current year.
Ethan Gonzalez
I wouldn't say MS-DOS really counts as a monokernel. The distinction between monokernels and microkernels is only relevant when there's an actual separation between kernel space and user space, and in the case of MS-DOS, everything just runs in Ring 1. Calling it a monokernel is kind of a stretch.
Thomas Gonzalez
If macOS is so slow and battery-hungry then how was it able to be slimmed down to run on smartphones and smart watches?
You are taking right out of your ass.
Cooper Collins
>or the kinds of freetards that like source based systems like Gentoo I'm recompiling kernel encryption time new one comes out. I'm currently using laptop as my main machine. There are no problems with that.
Jeremiah King
This. Compiling the kernel takes very little time actually.
Bentley Torres
>macOS/XNU
You mean Darwin/XNU or Darwin plus XNU.
Ethan Edwards
You can run it in a vm and even run a browser on it.
Noah Martin
What hope do microkernels have if they have yet to solve the syscall overhead?
> >It's a big ball of spaghetti with a myriad of security issues. It's bent over backwards and stuffed with legacy trash despite having piss poor backwards compatibility, and it also has ancient BSD extensions shoved up its ass. XNU is a clusterfuck of Mach, BSD, and other custom components. It's bad at handling device drivers and is prone to crashes due to certain architectural flaws. >Don't get me wrong, things have gotten better in the last few years. But XNU still sucks.
Pretty much like Linux.
Ryder Morris
Linus is a necrophile? Also, there are many better kernels, OpenBSD or Linux-libre for example
Nathaniel Cooper
I guess we need a Steve Jobs edit of that Stallman pasta now.
Keep up with the development of open source microkernel based systems. When one of them is mature enough to replace your current OS, switch to it. If you're a programmer, start developing Debian GNU/HURD.
I like Redox better.
Autism.
They don't suck. There's just no software support because people are too retarded to develop or port software for superior platforms.
Debian GNU/HURD is your best bet. Try it in a VM.
It's not "slimmed down" at all, and runs like complete ass. iToys constantly throttle and they have shit battery life. Every time I've played with jailboken iOS devices, the memory footprint is fucking massive. These shitty phones only have 1GB of RAM it's almost full. You play a shitty racing game on them for 10 minutes and they feel like a goddamn hotplate.
Yes, iFaggot. Just like Linux. What do think this thread is for? The end goal is to replace the Linux kernel.
>A bad hybrid kernel is XNU, because Apple devs are fucking retarded. Copypaste brainlet
Colton Reed
I've typed this whole thread by hand. I like microkernels because I've worked with QNX and experimented with HURD at home. You're the brainlet that can't into reality.
In general cutting software into pieces is always going to produce slow code, specially if you place the boundaries at the wrong places, i.e. basing it on an abstract mental model, with no regards on how the data is going to be transformed through the program.
The end result is often call overhead, message passing hell, unpredictable branches, cache misses, memory fragmentation, etc.
You will find after a while that your abstract entities are more interdependent than you thought, and would benefit on sharing state and giving code context.
Kernels are pieces of software that can't be modularized so easily without sacrificing performance. And performance of the kernel affects the whole system.
About the kernel hotloading part, I though Linux already had kernel hotload support? Dunno if it's mainlined but I thought patches exist. Correct me if I'm wrong.
Austin Gonzalez
>no l4 >not even sel4 >hurd Your pic is trash.
Colton Collins
L4 is a fucking meme for interactive workloads.
Justin Mitchell
>most performant microkernel >deterministic performance >meme Observe a chromozome thief in his natural habitat - neo-Jow Forums
Isaac Parker
Install xfce-desktop.
Ayden Stewart
>Examples of good hybrid kernels are the Windows NT Hasn't the NT kernel move further and further away from the mircokernel model over time? I think the same is true of the MacOS kernel.
Also, according to Wikipedia DragonflyBSD is also a hybrid kernel. Is this true?
DragonFly BSD is like 90% monolithic. NT does everything from scrollbars to font rendering in kernelspace. At one point even IIS, Microsoft's httpd/ftpd, ran in kernel space in a desperate attempt to reach performance parity with unix. The one microkernely thing modern NT did was the userspace graphics stack and restartable GPU drivers.
Landon Parker
>that pic Is there anything that grorious nippon can't turn into a qt anime girl?
if microkernels are so much nore error resistant, how come windows drivers cause bluescreens all the time but ive literally never seen a kernel panic in my life on linux?
Bentley Diaz
>I enjoyed this thread OP. Well done. I like the thread, wish there were more threads like that, but it feels like OP is completely wrong, with mircokernels being very niche and underdeveloped or have become more monolithic over time.
A lot of the BSOD errors aren't the fault of the kernel, but of things like faulty drivers and other things. Because it's a hybrid kernel and not a full microkernel, it sometimes has problems recovering from errors. It doesn't help that the NT kernel is packed with so much legacy shit either.
Wyatt Peterson
I refuse to use Plan9 or derivatives for anything because they're not only technologically inferior due to "muh minimalism" to the point of lacking all features, but the community is also a bunch of retarded faggots constantly sucking each other off and huffing their own farts. I hate you all and your shitty software. Rio is the worst fucking window manager I've ever used. There's nothing minimal about trying to reinvent the wheel. The mouse actions are foot up ass retarded and backwards, and window management is a shitshow. And the color scheme is cancer.
>HFS is bad >Apple knows it's bad >makes APFS >it's also bad
>NTFS is bad >Microsoft knows it's bad >decides to make WinFS >it's good >decide not to make WinFS anymore >decide to make ReFS >it's NTFS but slower
Why doesn't everyone just adopt ZFS now, I know licensing was the reason before but OpenZFS is the solution to that now.
>but ZFS uses a lot of resources Not by todays standards, it only uses a large amount when you enable all the features anyway, just having core stuff enabled it can handle 512MB, maybe even less.
Brandon White
ZFS is good but kind of a dead end. bcachefs will be better.
Jayden Hall
Wasn't there a huge flame war between these two viewpoints in the mailing lists headed by Linus Torvalds and Andy Tanenbaum?
Levi Bailey
Yes, back in the early 90s. Linux then subsequently axe murdered all the other monolithic kernels except for the BSDs, which come from an older codebase. There will probably never be a major monolithic kernel after Linux, only microkernels or hybrids.
Jacob Young
>virus adds a fake device to a zfs pool >reboot >system broke
That's why consumers don't use ZFS.
Jaxson Rogers
good thread, OP. i've been reading through the L4 family recently. >l4hq.org/projects/kernel/ the Pistachio kernel is the latest from the looks of it >l4ka.org/65.php i've been wanting to build a toy os for a while and i think i'm going to use one of the microkernels just to do something different.
Brayden Thomas
>NT does everything from scrollbars to font rendering in kernelspace Maybe before Vista Since Windows 7 the graphics driver can crash and it is restarted You can even change a graphics driver without a reboot I don't think the meme that windows-graphics-is-in-the-kernel-lol is true anymore
Caleb Martin
Cool thread Could the OpenBSD decide to convert their OS into a microkernel? Microkernels seem very appropriate for the OpenBSD philosophy of privilege separation What's Theo de Raadt's opinion on microkernels? I have heard him say that Linux is a bloated monstrosity (which it pretty much is although it's also the best general OS right now).
Lincoln Nguyen
>writes barely an average forum post still broken up by greentext because he's an attention deficit child who can't express an idea that can't fit in a tweet >grandstands with purposefully inflammatory remarks about a widely popular product hated by Jow Forums's contrarian hivemind >shits out wojaks, spurdos and other dead normaltard memes like a redditor >regurgitates the same shitty talking points concentrated Microsoft marketing efforts deluded him into believing But still take me seriously, I wrote three paragraphs all by my wittle self and ran the Hurd in a VM! Fucking retard. I thought this thread was going to be a good discussion, not another autistic partisan shitting out of his mouth at essay length about nothing.
Charles Carter
BSD was the original fat monolithic kernel. OpenBSD doesn't even have loadable kernel modules anymore.
Nicholas Williams
The real reason is because Oracle bought Sun
Ian Cox
Amiga did micro kernel before it was cool long live Exec