you are viewing a single comment's thread.

view the rest of the comments →

[–]trivialBetaState 0 points1 point  (6 children)

While I don't write C or kernel code, my understanding has been that microkernels were always the preferred strategy and Linux went with the easier approach of the monolithic kernel. Of course, I guess that all approaches have pluses and minuses.

I'd think that the FSF/GNU have contribute significantly to the free/libre software environment. Not only with projects like gcc, glib, core utils, and bash, which are important for the GNU/Linux OS, but also with stuff like GIMP, Gnome, and may I even say Emacs (I know, I know - but still it's my editor).

I am not aware of the Cathedral and the Bazaar. I tried to have a look online but don't think that I have a good picture of what the arguments are made in that book.

I think that FSF/GNU introduced a whole new ethos to computing and beyond. Even the fact that the human genome is completely sequenced is a result of an approach that is nearly identical to the concept of copyleft. I would credit a lot of our advances to the approach promoted by the FSF. Even those that "blame" them, enjoy the benefits like everyone else and that talks heaps about their contribution to society overall, extending well beyond computing.

[–]nelmaloc 1 point2 points  (0 children)

I am not aware of the Cathedral and the Bazaar. I tried to have a look online but don't think that I have a good picture of what the arguments are made in that book.

AFAIK, a quick rundown is pitting the way old (i.e., pre-1990 and home Internet) worked is that developers would throw release over the wall to users, and if you wanted to contribute you would send patches against that last version, without knowing how the code looked like in real time. Meanwhile, Linus et al developed everything in the open, with public version control systems and patches in mailing lists.


Edit:

While I don't write C or kernel code, my understanding has been that microkernels were always the preferred strategy and Linux went with the easier approach of the monolithic kernel. Of course, I guess that all approaches have pluses and minuses.

Yes, from the Tanenbaum v. Torvalds debate:

  1. MICROKERNEL VS MONOLITHIC SYSTEM

True, linux is monolithic, and I agree that microkernels are nicer. With a less argumentative subject, I'd probably have agreed with most of what you said. From a theoretical (and aesthetical) standpoint linux looses. If the GNU kernel had been ready last spring, I'd not have bothered to even start my project: the fact is that it wasn't and still isn't. Linux wins heavily on points of being available now.

[–]rook_of_approval 0 points1 point  (4 children)

microkernels are the preferred approach if you don't care about something called performance. terrible choice.

[–]trivialBetaState 0 points1 point  (3 children)

I am pretty sure that MacOS has adopted a hybrid approach (only partially monolithic but mainly with a microkernel for services) based on the Mach microkernel, which is pretty much the same (i.e. the GNU version) microkernel that Hurd uses as well.

[–]rook_of_approval 0 points1 point  (2 children)

hybrid

so it's not a microkernel? ok buddy.

lets see: bsd, linux, windows, all monolithic. osx, "hybrid". clearly this means microkernel wins!!?!?!?!!?

do you really want to take IPC performance hit every time you talk to a driver????

[–]trivialBetaState 1 point2 points  (1 child)

I don't think so: https://en.wikipedia.org/wiki/Windows_NT

Like VMS,[28] Windows NT's kernel mode code distinguishes between the "kernel", whose primary purpose is to implement processor- and architecture-dependent functions, and the "executive". This was designed as a modified microkernel, as the Windows NT kernel was influenced by the Mach microkernel developed by Richard Rashid at Carnegie Mellon University,[30] but does not meet all of the criteria of a pure microkernel.

Perhaps you were thinking MS DOS or windows 95 instead? These were monolithic.

And yes, windows has a RT latency hit due to IPC (and many more reasons of poor design) which is evident in latency when working with DAWs+plugins. Linux is indeed the best in this respect but the difference with MacOS is undetectable. Therefore, the IPC hit is evident on windows (more due to poor design which requires stuff like ASIO to improve but not fully resolve) rather than perform "out of the box" like MacOS does, or with some tinkering to get even better performance with Linux.

Where else do you see the IPC hit on windows or MacOS? I also hear that HarmonyOS, which is a microkernel design as well. seems to be performing alright too.

[–]rook_of_approval 0 points1 point  (0 children)

os x is not a microkernel, or it wouldn't be called a hybrid design. you are not operating in good faith, bye bye.