Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Monolithic kernel


Related Topics

In the News (Sun 19 Nov 17)

  
  Kernel (computer science) (Linux Reviews)
While monolithic kernels will try to achieve these goals by executing all the code in the same address space to increase the performance of the system, microkernels run most of their services in user space, aiming to improve maintainability and modularity of the codebase.
Multi-tasking kernels are able to give the user the illusion that the number of processes being run simultaneously on the computer is higher than the maximum number of processes the computer is physically able to run simultaneously.
While monolithic kernels execute all of their code in the same address space (kernel space) to increase the performance of the system, microkernels try to run most of their services in user space, aiming to improve maintainability and modularity of the codebase.
linuxreviews.org /dictionary/Kernel_(computer_science)   (5719 words)

  
 Kernel
The monolithic approach defines a high-level virtual interface over the hardware, with a set of primitives or system calls to implement operating system services such as process management, concurrency, and memory management in several modules that run in supervisor mode.
Proponents of the monolithic kernel approach make the case that if code is not correct, it does not belong in a kernel, and if it is, there is little advantage in the microkernel approach.
Monolithic kernels are typically preferred over microkernels due to the lower level of complexity of dealing with all system control code in one address space.
www.xtrj.org /ssm12/kernel_classify.htm   (1095 words)

  
 4. The DSI Kernel
In other words, the kernel is a special mode (and code) that is executed by all processes and executes as a part of their respective address spaces.
Many symbolic language kernels share aspects of the monolithic design; they may not be nearly as large and they may use very different resource management techniques, but they still implement the kernel as a low-level code layer interfaced through the stack of every process.
Kernel ``messages'' are simply pointers to data (cells) in the heap that are passed to the kernel to act upon.
www.cs.indiana.edu /pub/sjohnson/jeschke/thesis-html/node4.html   (2461 words)

  
 Building a Custom Kernel
However, major problems existed when users had multiple kernels that had been compiled for different configuration options on their system; for example, SMP versus UP kernels.
Unless you are recompiling a customized kernel for your system, you will not see many changes in how kernel modules are handled.
It is important that you begin a kernel build with the source tree in a known condition.
www.redhat.com /docs/manuals/linux/RHL-7.2-Manual/custom-guide/custom-kernel.html   (873 words)

  
 Kernel (computer science) - Wikipedia, the free encyclopedia
Kernel development is considered one of the most complex and difficult tasks in programming.
Due to the problems that monolithic kernels pose, they were considered obsolete by the early 1990s.
Hybrid kernels are essentially a compromise between the monolithic kernel approach and the microkernel system.
en.wikipedia.org /wiki/Kernel_(computer_science)   (5565 words)

  
 Kernel Definition
The kernel performs its tasks, such as executing processes and handling interrupts, in kernel space, whereas everything a user normally does, such as writing text in a text editor or running programs in a GUI (graphical user interface), is done in user space.
Process management, possibly the most obvious aspect of a kernel to the user, is the part of the kernel that ensures that each process obtains its turn to run on the processor and that the individual processes do not interfere with each other by writing to their areas of memory.
Monolithic kernels, which have traditionally been used by Unix-like operating systems, contain all the operating system core functions and the device drivers (small programs that allow the operating system to interact with hardware devices, such as disk drives, video cards and printers).
www.bellevuelinux.org /kernel.html   (1955 words)

  
 Modern Operating System Design
The kernel of an operating system is a program that is started by the boot loader; kernels have the task of setting up an environment in which they can coordinate system functionality.
Keep in mind that in monolithic systems message passing is not used; system calls are used to directly interact with the kernel [3].
While microkernel and monolithic kernel designs offer easy implementation models (both have been used in successful, mature operating systems), it is often the case that an operating system is designed in a way that does not directly match the pattern of monolithic or microkernel.
www.xtrj.org /ssm12/modern_operating_system_design.htm   (2565 words)

  
 Hybrid kernel - Information at Halfvalue.com   (Site not responding. Last check: 2007-10-20)
Hybrid kernel is a kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems.
The usually accepted categories are monolithic kernels and microkernels (with nanokernels and picokernels seen as more extreme versions of microkernels).
The NT kernel is predominantly monolithic (that is kernel mode), structured internally in a similar way to a microkernel, but it is only slightly microkernel due to user mode OS APIs.
www.halfvalue.com /wiki.jsp?topic=Hybrid_kernel   (1011 words)

  
 Appendix A - The Tanenbaum-Torvalds Debate
The kernel's job is to handle the message passing, interrupt handling, low-level process management, and possibly the I/O. Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the not-yet-released Windows/NT.
The only real argument for monolithic systems was performance, and there is now enough evidence showing that microkernel systems can be just as fast as monolithic systems (e.g., Rick Rashid has published papers comparing Mach 3.0 to monolithic systems) that it is now all over but the shoutin'.
I refer you to such papers as Brent Welsh's (welch@parc.xerox.com) "The Filsystem Belongs in the Kernel" paper, where in he argues that the filesystem is a mature enough abstraction that it should live in the kernel, not outside of it as it would in a strict microkernel design.
www.oreilly.com /catalog/opensources/book/appa.html   (13146 words)

  
 Monolithic kernels and micro-kernels
Coding in kernel space is hard, since you cannot use common libraries (like a full-featured libc), debugging is harder (it's hard to use a source-level debugger like gdb), rebooting the computer is often needed,...
Bugs in one part of the kernel have strong side effects, since every function in the kernel has all the privileges, a bug in one function can corrupt data structure of another, totally unrelated part of the kernel, or of any running program.
And since kernel code runs with all the privileges at hardware level, only the system administrator can be allowed to load a module inside the kernel space.
kilobug.free.fr /hurd/pres-en/abstract/html/node2.html   (601 words)

  
 Microkernel-based OS Efforts
Kernel code usually requires the use of special memory allocation and output routines since the kernel cannot depend on a lower level to manage these things for it.
The fundamental attribute that distinguishes monolithic vs. microkernel vs. exokernel architectures is what the architecture implements in kernel space (that which runs in supervisor mode on the cpu) vs. what the architecture implements in user space (that which runs in non-supervisor mode on the cpu).
Exokernels are a further extension of the microkernel approach where the "kernel" per se is almost devoid of functionality; it merely passes requests for resources to "user space" libraries.
cbbrowne.com /info/microkernel.html   (1967 words)

  
 Monolithic kernel - Wikipedia, the free encyclopedia
A monolithic kernel is a kernel architecture where the entire kernel is run in kernel space in supervisor mode.
In common with other architectures (microkernel, hybrid kernels), the kernel defines a high-level virtual interface over computer hardware, with a set of primitives or system calls to implement operating system services such as process management, concurrency, and memory management in one or more modules.
Modular monolithic kernels are not to be confused with the architectural level of modularity inherent in microkernels or hybrid kernels.
en.wikipedia.org /wiki/Monolithic_kernel   (376 words)

  
 OpenBSD: Monolithic Simplicity | KernelTrap   (Site not responding. Last check: 2007-10-20)
Kernels can be loaded across the network from a central server; if the kernel allowed dynamic loading of modules, they too could come across the network, so there are numerous added points for malfeasance.
It would be pretty easy (I would think) to have a kernel build process sign all its modules and compile the key into the kernel, so it would be able to verify that any module that is to be loaded is genuine.
The main reason for Theo not to change the concept of a monolithic is his inability to implement loadable modules in the first place.
kerneltrap.org /node/view/3239   (6232 words)

  
 Interface Design: Microkernels   (Site not responding. Last check: 2007-10-20)
Traditionally kernels are 'monolithic' in the sense that they implement all their functionality in a relatively unstructured fashion within the TCB.
This was largely due to the development history of the microkernels which had been derived from monolithic kernels, inheriting many of their interfaces and implementation strategies [Liedtke 95].
The SPIN kernel is based on Mach, and therefore shares its high IPC cost, but this may not be fatal to its performance due to alternative approach to extensibility.
www.cs.cornell.edu /Info/People/ulfar/ukernel/ukernel.html   (4320 words)

  
 Microkernel-based OS Efforts
Kernel code usually requires the use of special memory allocation and output routines since the kernel cannot depend on a lower level to manage these things for it.
Changing a large, single-threaded monolithic kernel to make effective use of SMP hardware is very difficult.
The fundamental attribute that distinguishes monolithic vs. microkernel vs. exokernel architectures is what the architecture implements in kernel space (that which runs in supervisor mode on the cpu) vs. what the architecture implements in user space (that which runs in non-supervisor mode on the cpu).
linuxfinances.info /info/microkernel.html   (1967 words)

  
 OS kernels
A monolithic kernel provides full process management, device drivers,file systems, network access etc. I will here use the word kernel in the broad sense, meaning the part of the OS supervising the machine.
The older monolithic kernels were written as a mixture of everything the OS needed, without much of an organization.The monolithic kernel offers everything the OS needs : processes, memory management, multiprogramming, interprocess communication (IPC), device access, file systems, network protocols and whatever the OS should implement.
The monolithical kernels (mainly Unix) were build for systems that don't have to turned on and off every day or hour and for systems to which no devices are added during their lifetime or hardware is changed.
tunes.org /~unios/oskernels.html   (2615 words)

  
 Why Monolithic Kernels Aren't the End of the World - OSNews.com
And nothing stops muKs from having a good design, but kernels like linux and Solaris have had a LOT of time, real-world experience and resources to improve their designs to a higher standards than some microkernels (and it's not even a choice: the increase of complexity forces them anyway).
It's true that this is not what you usually do in linux, people usually updates the whole kernel instead of updating a single driver, but there's no reason why a monolithic kernel couldn't do it.
The fact is that as monolithic kernels improve, they're moving some parts of functionality to userspace: udev, klibc or libusb are examples of it.
osnews.com /story.php/14419/Why-Monolithic-Kernels-Arent-the-End-of-the-World   (1386 words)

  
 OsFaqWiki - Design All In One
The word "monolithic" by itself means a single piece (mono) that is of or like stone (lithic), however when applied to kernels the exact meaning is more general.
Most people consider that a kernel where device drivers and services run as part of the kernel is a monolithic kernel, regardless of whether parts are dynamically loaded "kernel modules" or if everything is a true single unchangeable binary.
The concept of an exokernel is orthogonal to that of micro- vs. monolithic kernels.
www.osdev.org /osfaq2/index.php/DesignAllInOne   (10635 words)

  
 Daemon News '200211' : '"Building Monolithic Kernels and Root Filesystems for FreeBSD "'   (Site not responding. Last check: 2007-10-20)
This single-file kernel and file system can be used in many ways beyond what usual FreeBSD kernels allow, just as having the root file system loaded along with the kernel enables you to have more flexibility in the boot process.
Currently this requires the kernel to be recompiled every time you want to replace the image; once a kernel is compiled using this method, the root file system might be able to be replaced by relinking the kernel rather than recompiling it.
A kernel image created with this method can be loaded using /boot/loader or /boot/pxeboot just like a normal kernel can, but it can also be loaded from grub or etherboot.
ezine.daemonnews.org /200211/monolithic-kernel.html   (1191 words)

  
 Bob's Corner/Documents/Tutorials/x86 OS Development/A Simple Kernel
A monolithic kernel contains all the code that is necessary to run the system in a single image.
The kernel developed here is a monolithic one, as it does not require any external code to work (save for the loader that puts it into memory).
The kernel will be written to the disk image right after the bootsector, which is where the bootloader expects it to be.
inglorion.net /documents/tutorials/x86ostut/simple_kernel   (1451 words)

  
 OSNews.com
Whether or not a kernel has all its stuff running in kernel or userspace is not what defines it as a muK or a monolithic kernel.
In other words the fact that drivers and the kernel are implemented in a modular way does mean shit unless they are RUN in a manner that isolates them from each other.
In NT, there is a logical microkernel component of the NT kernel, with several subsystems built on top of it, such as the object manager, I/O manager, etc. (together, called the NT Executive).
www.osnews.com /subthread.php?news_id=16560&comment_id=185333   (1117 words)

  
 Building a Custom Kernel
If you are using the default Red Hat Linux kernel, it will create a configuration file for the kernel that shipped with Red Hat Linux for your architecture.
This is useful for setting up your kernel to known working defaults and then turning off features that you do not want.
This will allow you to have the old working kernel and the new kernel, version 2.4.18-0.12-jul2001, on your system at the same time.
www.redhat.com /docs/manuals/linux/RHL-7.3-Manual/custom-guide/ch-custom-kernel.html   (884 words)

  
 Linus vs. Tanenbaum
The kernel's job is to handle the message passing, interrupt handling, low-level process management, and possibly the I/O. Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the not-yet-released Windows/NT.
The only real argument for monolithic systems was performance, and there is now enough evidence showing that microkernel systems can be just as fast as monolithic systems (e.g., Rick Rashid has published papers comparing Mach 3.0 to monolithic systems) that it is now all over but the shoutin`.
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.
www.dina.dk /~abraham/Linus_vs_Tanenbaum.html   (5479 words)

  
 Application Specific Real-Time Microkernel in Hardware
To solve the drawbacks of the monolithic real-time kernels, the microkernel structure was introduced.
Monolithic kernels are large in size and the structure, or lack of structure, makes them difficult to change and maintain without affecting other parts of the kernel.
It is written as a monolithic kernel in the language of ANSI C with a minor part in assembler for context switching.
www.us.design-reuse.com /articles/article10722.html   (2966 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.