Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changes between Version 52 and Version 53 of FAQ


Ignore:
Timestamp:
2017-05-25T19:58:25Z (5 years ago)
Author:
Jakub Jermář
Comment:

Get rid of the last defeatist FAQ, formatting

Legend:

Unmodified
Added
Removed
Modified
  • FAQ

    v52 v53  
    66=== What is a microkernel? ===
    77
    8 In a microkernel operating system certain functionality such as device
    9 drivers, file systems and networking is moved out from the kernel space to
    10 the user space.  Code taken out of the kernel runs as a normal user process
    11 or processes. The microkernel itself provides only minimal functionality
    12 that is necessary for user processes to run and communicate. This
    13 strongly contrasts with the traditional monolithic operating systems
    14 that keep most of these functions inside the kernel. The main rationale
    15 for constructing operating systems along the microkernel design lines has been
    16 achieving greater extensibility by forcing most of the operating
    17 system policies into the user space parts and leaving the microkernel
    18 itself free of policies as much as possible. This makes it possible to use different operating
    19 system personalities, potentially even in parallel, on top of the same
    20 microkernel and easily change functionality that would have otherwise been
    21 hardcoded in the operating system kernel. Note that multiserver
    22 microkernels bring the additional benefit of a limited fault-tolerance:
    23 a bug in a kernel driver of a monolithic operating system usually
    24 results in the crash of the entire system whereas a bug in a user space
    25 driver of a microkernel operating system is confined to the user process
     8In a microkernel operating system certain functionality such as device drivers, file systems and networking is moved out from the kernel space to
     9the user space.  Code taken out of the kernel runs as a normal user process or processes. The microkernel itself provides only minimal functionality
     10that is necessary for user processes to run and communicate. This strongly contrasts with the traditional monolithic operating systems
     11that keep most of these functions inside the kernel. The main rationale for constructing operating systems along the microkernel design lines has been achieving greater extensibility by forcing most of the operating system policies into the user space parts and leaving the microkernel
     12itself free of policies as much as possible. This makes it possible to use different operating system personalities, potentially even in parallel, on top of the same microkernel and easily change functionality that would have otherwise been hardcoded in the operating system kernel. Note that multiserver microkernels bring the additional benefit of a limited fault-tolerance: a bug in a kernel driver of a monolithic operating system usually
     13results in the crash of the entire system whereas a bug in a user space driver of a microkernel operating system is confined to the user process
    2614in which the driver runs.
    27  
    2815
    2916=== What is a multiserver? ===
     
    9986In comparison, HelenOS supports a slightly different set of processor architectures and despite some experimental master theses' results does not currently engage in virtualization. Instead it aims to provide a coherent, dynamic, single-user system composed of many fine-grained components. HelenOS almost exclusively rolls its own original drivers, frameworks, GUIs, networking and filesystems.
    10087
    101 == Advocacy-related Questions ==
    102 
    103 === Oh, yet another operating system? ===
    104 
    105 No, not at all. There are definitely many more various content management systems, office suites or web browsers out there than there are microkernel-based multiserver operating systems like HelenOS. See our [wiki:FAQ#Comparisonwithothersystems comparison] with other operating systems to get an idea about in what areas is HelenOS unique.
    106 
    10788== Toolchain-related Questions ==
    10889