Talk:Monolithic kernel

Text Improvement
Text like "A Monolithic kernel is a kernel architecture where the entire kernel is run in kernel space in supervisor mode." needs to be cleaned up. "entire kernel is run in kernel space " Kernel is suppose to be in Kernel Space. I think what it meant here is that apart from Kernel section, Device Driver and other modules like File system and security system, network system are also made part of the Kernel system. (May Be I am wrong .. but someone who knows better should update and clean this section.

Amberved (talk) 15:27, 21 March 2008 (UTC)


 * It should be like: "A Monolithic kernel is a kernel architecture where the entire operating system is run in kernel space in supervisor mode." At least this is the point of Monolithic- and Microkernel structures, where Monolith kernel is the OS because it includes all OS servers itself, but operating system what has microkernel structure, has microkernel alone in kernel space and other OS servers in user space, where all other software is located too. Kernel is usually always located in kernel space, but when you run example a Monolith kernel (=OS) in virtual machine, like Linux top of L4 kernel, the L4 microkernel is located alone in kernel space and the Client OS (Linux) is running in userspace. Even then the Linux is running alone in supervisor mode. 213.130.236.207 (talk) 10:07, 19 October 2008 (UTC)

Diagram improvement
-- Beland 21:32, 21 March 2007 (UTC)
 * The kernel is "low level" code; it should be on the bottom of the diagram, not the top.
 * It would be helpful to show functional parts, such as device drivers, the scheduler, network interfaces, filesystem interfaces; hardware like the CPU, disk, network, keyboard, and screen; and software examples, like programming libraries, web browser, mail server, etc.
 * It's not clear what the thick white arrows represent.
 * Multiple pieces of software can run on a multitasking operating system, so multiple boxes should be shown to represent applications.
 * Here is a good example of a more informative illustration: Image:Windows 2000 architecture.svg. -- Beland 21:41, 21 March 2007 (UTC)

The text is unreadable at the image's normal display size, and the image contains non-functional gradients and coloration. LokiClock (talk) 04:44, 11 February 2010 (UTC)

On "monolithic"
In what respect is a monolithic kernel a more well-defined subject than monolithic code in general? Can the article be generalized? Also, how does "monolithic" compare to spaghetti code? While "monolithic" is not as pejorative, are they conceptually any different? Ham Pastrami (talk) 12:22, 3 April 2008 (UTC)

This part is patently untrue.
 * the entire operating system is working in kernel space

hp-ux is monolithic kernel?
I read in http://en.wikipedia.org/wiki/HP-UX that, it is also runs on monolithic kernel method. Does this OS also need to be added here ? Kanthaa (talk) 11:56, 14 December 2008 (UTC)
 * It should be listed here as HP-UX really is monolithic OS. Golftheman (talk) 20:53, 12 August 2010 (UTC)

Slackware?
Isn't Slackware simply a GNU/Linux distro? Or is there some sort of history behind it where did not use Linux? I don't think adding a bunch of Linux distros to be the most sane thing to do, even though the kernels are slightly different. --SeyedKevin (talk) 00:20, 23 October 2009 (UTC)


 * Slackware is distribution of the Linux OS. There is no such OS as GNU/Linux, it is a development platform (Linux OS + GNU development tools). Linux (kernel) is monolithic OS. The Linux versions gets released almost every week/month and every distributor make own compilation configs. Such actions does not make Linux different OS. To get different OS, Linux should be forked first. And such thing has not happened. BSD has been forked and some forks have been forked again. Like Dragonfly BSD has been forked from FreeBSD. But Free-, Open- and Net- are all monolithic OS's. From FreeBSD there is kFreeBSD version what is a Server-Client. As well the FreeBSD has been forked to other BSD OS called Dragonfly BSD. It has Server-Client architecture as well. What is tricky part, is that parts of the FreeBSD has been as well use in XNU OS. But because XNU is Server-Client, it does not belong here. And neither does XNU is OS of the BSD family, because the microkernel is Mach and many other OS functions are non-BSD. Slackware is just simply software system what use Linux as it OS. Same thing goes for all Linux distributions like Debian, Ubuntu, Mandriva, Fedora, OpenSUSE and so on. Even Android, MeeGo, Bada and WebOS are just Linux distributions, technically really just using Linux as the OS. But marketing has tried to hide that and have successed in that pretty well. Golftheman (talk) 20:59, 12 August 2010 (UTC)

Hopeless for a Lay Person to Grasp due to Poor Craft
If you don't already know this material, and take the time to look here and elsewhere on the web, it would be impossible to cut through the morass of jargon. It is the worst example of technical writing that I have seen on Wikipedia in a long time.
 * If you don't already know this material, why would you even be here?

Specifically I find the content is like a paragraph version of a power point presentation missing the verbal explanation and Q&A. Each major point needs to incorporate a linear presentation that contains no extraneous points that are not also explained somewhere (by links). There is exactly one, thoroughly inadequate link, for about 25 points, none of which are explained in this way.

I don't mean to be too critical of busy experts contributing time, but writing requires taking time to be explicit in presentation - it is a discipline that is very worthwhile to command - and no matter how busy you are you should try and practice it.

As for possible dialect issues from non-native English speakers, I would just appreciate knowing what your native language is because there are structural issues it might help me understand, that otherwise will appear to be incomprehensible. Just a personal suggestion that I appreciate.

Other than that, the discussions are fragmentary, but I am digging them more than the article. --Xgenei (talk) 07:39, 28 September 2014 (UTC)

Article Title and Terminology is Wrong
I believe that title of this article is wrong. The terminology used here should be "supervisory mode kernel" rather than a "monolithic kernel". The word monolithic means "made from a single stone" (ie a monolithic kernel is build in a monolithic fashion and is not composed of modules, in other words a monolithic kernel is the opposite of a modular kernel, which has the capability of loading modules.) —Preceding unsigned comment added by Markhobley (talk • contribs) 08:44, 31 December 2009 (UTC)
 * It would still be monolithic even if it were modular because the modules are within the single structure.

If it is made up of modules, then it is modular, regardless of how the modules are arranged. Monolithic / Modular are terms describing structural build, rather than addressing methods, protection rings, etc. IMHO of course - Mark.


 * It does not matter is the OS modular or not when it is in binary level. The OS architecture has not changed at all even then, it is still working as single binary. The modularity is in binary levele, not in architecture level. That is one mistake what new students does and believes that all modules are always same. The OS architectures are actually very simple, but understanding them can be tricky one in first place. Especially when it comes modularity. The "supervisory mode kernel" does not mean anything. The history explains it pretty clearly that "supervisor" is one of the names for the OS, as well the "kernel, core, master program, operating system, nucleos" and so on. The term "operating system" just happened to survive because it presents best way the technology development and different architectures. But it is raiped by the marketing to include all other system software and application programs than just the OS. Golftheman (talk) 21:05, 12 August 2010 (UTC)

Golftheman says "It does not matter is the OS modular or not when it is in binary level. The OS architecture has not changed at all even then, it is still working as single binary. The modularity is in binary levele, not in architecture level."

This is all true, but modular / monolithic refers to architectural level, not the binary level. Monolithic means "made from a single stone", (ie not made up of modules). The kernel is modular (and modules can be added dynamically). A monolithic kernel would not be made of modules, and would require recompilation to include additional code.

86.183.106.50 (talk) 16:30, 18 October 2010 (UTC)


 * Lets take a example; Linux. It is a monolithic operating system, but it is modular too. Linux is by architecture a monolithic, meaning it will run alone in kernel space (supervisor) and it as whole (every part of it) runs as PID 0. It doesn't have any different separations, layers, process etc. Linux can be compiled as single file, or as multiple file. The single file idea is that everything gets loaded by bootloader and then executed and every function is running all the time. If Linux is compiled so that some of its features are modules, like drivers. Then each module is separate file that isn't read to memory from drive until something calls that function, at that point the file is readed from drive to memory and executed exactly same manner as it would have been loaded in first place in memory (compiled in). Linux is not a operating system of the server-client architecture, like Minix, HURD or NT are. That means it is impossible to compile a module without recompiling whole Linux. And everytime Linux is updated (and recompiled) it is required to recompile all the modules again too. It makes impossible to even deliver device drivers same manner as Server-Client architecture allows (for that it isn't required to compile any servers as they are own programs). Linux is like "single stone". But if you look carefully, you can see that it isn't exactly a single stone but it has fractions but all belongs to that same single stone. The Server-Client architecture is like a one stone build from multiple parts, each part from different kind stones and no one belongs to same stone. The difference is like someone would paint a huge artwork on the stone wall and then it gets cut pieces and moved to other location where it is build back to original order, that is monolithic. The server-client is like different artists are given a one brick and they make a art to that brick, and then all bricks are gathered and laid each other building a brick wall. ~̃̃~̃̃~̃̃~̃̃

Why is Loadable modules in this?
My understanding of monolithic kernel is that it's about design/architecture related to kernel/user mode. The section called loadable modules is talking about something different: loading images at runtime. Why is there is a section about modularity in this document on monolithic kernel?

It confuses the heck out of me since commonly monolithic is the opposite of modularity. So one (me) might assume that there's a section about a modular kernel since it is the opposite of monolithic kernel. But in this case it's not. Kernels are monolithic, microkernel or hybrid; there is no modular. Well, they can be modular ... but in a different way. So confusing.

One way to clear this up is to say something like: the term 'monolithic' is used in two different ways for kernel. A kernel can also be monolithic (or modular) with respect to loading images at runtime. Therefore, a kernel can be both modular and monolithic even though those terms are opposites in general. Stevebroshar (talk) 00:45, 22 May 2024 (UTC)