|
Microkernel
the microkernel approach consists around defining a super elementary abstraction on top the devices, by owning a placed of primitives or even system calls to implement minimal OS services like thread management, address spaces and interprocess communication. Entirely more services, people ordinarily provided per kernel like networking, are implemented within user-space software known as servers.
Servers come software rather any others, letting a operating body to become modified just by starting & stopping computer program. For a microscopic machine while forgoing networking trend lines, e.g., the networking server only international relations and security network't began. Under a traditional body this would involve the kernel to exist as recompiled, something well beyond a capabilities of the typical prevent-user. Inside theory a formulas is besides additional stable, because a failing server only ends one program, like than stimulating the kernel itself to crash.
But, a share of a models state is misplaced sustaining the failing server, & these are usually hard to prove my point execution of applications, or of more servers using the freshly copy. E.g., in case the (theoretical) server responsible TCP/IP connections is restarted, applications could be told a connection was "lost" & reconnect, running through the fresh case of the server. Still, more rules objects, rather files, don't keep around these handy semantics, are supposed to be dependable, non become unavailable willy-nilly & keep all the info written to the children antecedently. Thus, database techniques like transactions, replication and checkpointing need to be utilized between servers sequentially to preserve requirement state through lone server restarts.
Microkernels usually underperform compared to to traditional designs, periodically dramatically. This flow from around heavy the share to a overhead of moving inside & away from the kernel, a context switch, in order to move information between a various applications & servers. It was originally believed that careful tuning may reduce this overhead dramatically, however per mid-90s virtually all research worker experienced given higher. Around extrthe recent days fresh microkernels, designed for performance number 1, use addressed these problems to a super big degree. Nonetheless a market for existent operating systems is therefore entrenched that little operate continues in microkernel project.
Examples of microkernels & OSs according to microkernels:
AmigaOS
Amoeba
BeOS
Chorus microkernel
EROS
Haiku
K42
LSE/OS (a nanokernel)
KeyKOS (a nanokernel)
A L4 microkernel family
Mach, used within GNU Hurd, NEXTSTEP, OPENSTEP, and Mac OS X
MERT
Minix
MorphOS
NewOS
QNX
Phoenix-RTOS
RadiOS
Spring operating system
VSTa
Symbian OS
--
Kernel (computer science)
|
PETROS
By Trumpet Software International, 32-bit microkernel OS for x86 PCs coded in Object Pascal variant. Built from first principles to focus on small size, modularity, and be fully compatible with Win32 and industry standards; reads FAT-12/16/32. Low cost; free time-locked demo.
BugOS
New microkernel operating system for x86 computers, many features: network and Internet modules, file system (FAT); kernel handles memory, tasks, micro kernels, and some base devices: keyboard, video, hdd, and ramdrive.
Microkernel-based and similar Operating Systems
Includes links and brief descriptions of microkernal based operating systems.
The Open Group: Advanced Research
Page listing several research projects: microkernel OSs (MK7, MK++, AD3) and other modules (CONVERSANT, CORDS, GIPC, SHAWS).
Microkernel-based OS Efforts
By Christopher Browne. Brief, clear descriptions and critiquing of microkernel design concepts, with some links. Puts much current activity in larger context.
Cosy
Goal: scalability of highly parallel multicomputer systems. Based on small microkernel that does process management, interprocess communication; all other services are processes out of kernel. Processes and address spaces orthogonal, so Cosy process is like thread in other OSs. Hardware dependencies concentrated in areas of kernel for portability.
MorphOS
Goal: Provide modern functionality for a new OS layer and run most Amiga applications as efficiently as possible in a box environment with no Classic Amiga custom chips available.
ShagOS
Portable object-oriented microkernel OS, dynamically loaded device drivers, fully redesigned and rewritten many times in C++, runs on VAX, x86. Ongoing experiment in using O-O paradigm as framework for full OS, with distributed computing as main aspect in most design decisions.
SUMO
SUpport for Multimedia in Operating systems, Lancaster University: microkernel OS with facilities to support distributed realtime and multimedia applications and ODP-based multimedia distributed application platforms.
Topsy
Teachable Operating System: tiny multithreaded messaging microkernel, in ANSI C; protected threads, memory managed, and thread/process control. From undergraduate course on concurrency, device programming, OS concepts. Descriptions, documents, theses, downloads, contacts, links. [Open Source, GPL]
|