Exokernel

from Wikipedia, the free encyclopedia

An exokernel , also known as a vertically structured operating system, is a type of kernel and thus the central component of an operating system. In contrast to most other kernels, it offers very little hardware abstraction for programs and is limited to preventing resource conflicts and checking access rights.

One can imagine Exokernel as a consequent continuation of the microkernel concept. In contrast to these, however, they are even more rigid in the choice of the mechanisms offered.

Comparison of a "normal" ( microkernel , monolithic kernel ) with an exokernel. The Exokernel is the only abstraction that offers the resolution of conflicts. The program itself or libraries must provide all other abstractions

history

The concept of an exokernel has existed since 1994 (dissertation by Dawson Engler at MIT with Frans Kaashoek ), but (until 2005) was only used by the Massachusetts Institute of Technology (MIT) for several systems, including ExOs . Another concept called Nemesis was developed by the Universities of Cambridge and Glasgow , Cisco Systems and the Swedish Institute of Computer Science.

function

Most kernel hide the hardware of the computer through a hardware abstraction layer in front of the software . For example, with virtual memory it is possible to reserve main memory for a program, but the exact memory address cannot be determined.

Exokernels, on the other hand, are limited to distributing and protecting shared resources such as B. memories, input / output devices and processors. They allow programs to access memory blocks directly after allocation by the kernel. This freedom can be used to speed up programs by leaving out unnecessary abstractions (and thus intermediate layers). The task of the exokernel is to determine whether the desired resource is free, i.e. there is no resource conflict, and whether it can also be used by the respective program.

Libraries

In an exokernel operating system, abstractions are provided outside of the kernel by a system of libraries that are similar to those of conventional operating systems, but are more flexible due to the peculiarities of the exokernel. So it is - at least theoretically - possible to run different operating systems like Windows or Unix on one Exokernel by each of them using different libraries.

literature

  • Frans Kaashoek, James W. O'Toole, Dawson Engler: Exokernel: An Operating System Architecture for Application-Level Resource Management, ACM SIGOPS Operating Systems Review, Volume 29, 1995, pp. 251-266l

Individual evidence

  1. Jump up ↑ DR Engler, MF Kaashoek, J. O'Toole Jr., DR Engler, MF Kaashoek, J. O'Toole Jr .: Exokernel: an operating system architecture for application-level resource management, Exokernel: an operating system architecture for application -level resource management . In: ACM SIGOPS Operating Systems Review . 29, No. 5, December 3, 1995, ISSN  0163-5980 , pp. 251, 251-266, 266. doi : 10.1145 / 224056.224076 .  ( Page no longer available , search in web archivesInfo: The link was automatically marked as defective. Please check the link according to the instructions and then remove this notice.@1@ 2Template: Dead Link / dl.acm.org  
  2. a b Exokernel: An Operating System Architecture for Application-Level Resource Management. MIT Laboratory for Computer Science, accessed August 8, 2016 .