FACTOID # 148: The top ten tourist destinations France, Spain, USA, Italy, China, UK, Austria, Mexico, Germany and Canada account for 49.6 percent of all tourist arrivals worldwide.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Exokernel" also viewed:
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Exokernel
Graphical overview of Exokernel
Graphical overview of Exokernel

Exokernel is an operating system kernel developed by the MIT Parallel and Distributed Operating Systems group, and also a class of similar operating systems. Wikipedia does not have an article with this exact name. ... An operating system (OS) is a set of computer programs that manage the hardware and software resources of a computer. ... A kernel connects the application software to the hardware of a computer. ... Mapúa Institute of Technology (MIT, MapúaTech or simply Mapúa) is a private, non-sectarian, Filipino tertiary institute located in Intramuros, Manila. ...


The idea behind exokernels is to force as few abstractions as possible on developers, enabling them to make as many decisions as possible about hardware abstractions. Exokernels are tiny, since functionality is limited to ensuring protection and multiplexing of resources, which are vastly simpler than conventional microkernels' implementation of message passing and monolithic kernels' implementation of abstractions. In computer science, abstraction is a mechanism and practice to reduce and factor out details so that one can focus on a few concepts at a time. ... In telecommunications, multiplexing (also muxing or MUXing) is the combining of two or more information channels onto a common transmission medium using hardware called a multiplexer or (MUX). ... Graphical overview of a microkernel A microkernel is a minimal computer operating system kernel providing only basic operating system services (system calls), while other services (commonly provided by kernels) are provided by user-space programs called servers. ... Graphical overview of a monolithic kernel A monolithic kernel 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. ...


Applications may request specific memory addresses, disk blocks, etc. The kernel only ensures that the requested resource is free, and the application is allowed to access it. This low-level hardware access allows the programmer to implement custom abstractions, and omit unnecessary ones, most commonly to improve a program's performance. It also allows programmers to choose what level of abstraction they want, high, or low.


Exokernels can be seen as an application of the end-to-end principle to operating systems, in that they do not force an application program to layer its abstractions on top of other abstractions that were designed with different requirements in mind. For example, in the MIT Exokernel project, the Cheetah web server stores preformatted Internet Protocol packets on the disk, the kernel provides safe access to the disk by preventing unauthorized reading and writing, but how the disk is abstracted is up to the application or the libraries the application uses. The end-to-end principle is one of the central design principles of the Transmission Control Protocol (TCP) widely used on the Internet. ... The inside/rear of a Dell PowerEdge web server The term Web server can mean one of two things: A computer that is responsible for accepting HTTP requests from clients, which are known as Web browsers, and serving them HTTP responses along with optional data contents, which usually are Web... The Internet Protocol (IP) is a data-oriented protocol used for communicating data across a packet-switched internetwork. ...

Contents

Motivation

Traditionally kernel designers have sought to make individual hardware resources invisible to application programs by requiring the programs to interact with the hardware via some conceptual model. These models include file systems for disk storage, virtual address spaces for memory, schedulers for task management, and sockets for network communication. These abstractions of the hardware make it easier to write programs in general, but limit performance and stifle experimentation in new abstractions. A security-oriented application might need a file system that does not leave old data on the disk, while a reliability-oriented application might need a file system that keeps such data for failure recovery. In computing, a file system (often also written as filesystem) is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. ... Scheduler can refer to many things: A person working in broadcasting, who is scheduling the content of a radio or television channel. ... The Berkeley sockets application programming interface (API) comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly across a computer network. ...


One might opt to remove the kernel completely and program directly to the hardware, but then the entire machine must be dedicated to a single application. A compromise is possible; let the kernel allocate the physical resources of the machine (e.g. disk blocks, memory pages, and processor time) to multiple application programs, and let each program decide what to do with these resources. The program can link to an operating system library (libOS) that implements familiar abstractions, or it can implement its own abstractions. Theoretically, an exokernel system could provide libOSes so different kinds of operating systems (Windows, Unix) can run under a single exokernel. A disk or disc (see below) is anything that resembles a flattened cylinder in shape. ... Alternate meanings: See paging (telecommunications). ...


MIT Exokernel

MIT developed two exokernel-based operating systems, using two kernels: Aegis, a proof of concept with limited support for storage, and XOK, which applied the exokernel concept more thoroughly.


An essential idea of the MIT exokernel system is that the operating system should act as an executive for small programs provided by the application software, which are constrained only by the requirement that the exokernel must be able to guarantee that they use the hardware safely.


Design

The MIT exokernel manages hardware resources as follows:


Processor

The kernel represents the processor resources as a timeline from which programs can allocate intervals of time. A program can yield the rest of its time slice to another designated program. The kernel notifies programs of processor events, such as interrupts, hardware exceptions, and the beginning or end of a time slice. If a program takes a long time to handle an event, the kernel will penalize it on subsequent time slice allocations; in extreme cases the kernel can abort the program. In computing, an interrupt is an asynchronous signal from hardware or software indicating the need for attention. ... Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of some condition that changes the normal flow of execution. ...


Memory

The kernel allocates physical memory pages to programs and controls the translation lookaside buffer. A program can share a page with another program by sending it a capability to access that page. The kernel ensures that programs access only pages for which they have a capability. A Translation Lookaside Buffer (TLB) is a cache in a CPU that is used to improve the speed of virtual address translation. ...


Disk storage

The kernel identifies disk blocks to the application program by their physical block address, allowing the application to optimize data placement. When the program initializes its use of the disk, it provides the kernel with a function that the kernel can use to determine which blocks the program controls. The kernel uses this callback to verify that when it allocates a new block, the program claims only the block that was allocated in addition to those it already controlled.


Networking

The kernel implements a programmable packet filter, which executes programs in a byte code language designed for easy security-checking by the kernel. Packet filters are host-based or appliance-based applications, which block or allow network traffic based on a set of rules defined by the administrator. ... It has been suggested that this article or section be merged with Managed code. ...


Applications

The available library operating systems for Exokernel include the custom ExOS system and an emulator for BSD. In addition to these, the exokernel team created the Cheetah web server, which uses the kernel directly. Berkeley Software Distribution (BSD, sometimes called Berkeley Unix) is the Unix derivative distributed by the University of California, Berkeley, starting in the 1970s. ... The inside/rear of a Dell PowerEdge web server The term Web server can mean one of two things: A computer that is responsible for accepting HTTP requests from clients, which are known as Web browsers, and serving them HTTP responses along with optional data contents, which usually are Web...


History

The exokernel concept has been around since at least 1994 [1], but as of 2005 exokernels are still a research effort and have not been used in any major commercial operating systems. A concept operating exokernel system is Nemesis, written by University of Cambridge, University of Glasgow, Citrix Systems, and the Swedish Institute of Computer Science. MIT has also built several exokernel based systems, including ExOS. 1994 (MCMXCIV) was a common year starting on Saturday of the Gregorian calendar, and was designated as the International Year of the Family and the International Year of the Sport and the Olympic Ideal by United Nations. ... 2005 is a common year starting on Saturday of the Gregorian calendar. ... Nemesis is an operating system designed by the University of Cambridge, the University of Glasgow, the Swedish Institute of Computer Science and Citrix Systems. ... The University of Cambridge (often Cambridge University), located in Cambridge, England, is the second-oldest university in the English-speaking world and has a reputation as one of the worlds most prestigious universities. ... Master of Theology (MTh) Dentistry Nursing Affiliations Russell Group, Universitas 21 Website http://www. ... Citrix logo. ... Swedish Institute of Computer Science, SICS, is an independent non-profit research organization. ... The Massachusetts Institute of Technology (MIT) is a private, coeducational research university located in Cambridge, Massachusetts. ... ExOS is one of several Operating Systems developed by MIT which has a minimal kernel. ...


See also

Graphical overview of a hybrid kernel Hybrid kernels are essentially microkernels that have some non-essential machine code in the kernel address space in order for that code to run more quickly than it would were it to be in user space. ... A hypervisor in computing is a scheme which allows multiple operating systems to run, unmodified, on a host computer at the same time. ... A kernel connects the application software to the hardware of a computer. ... Graphical overview of a microkernel A microkernel is a minimal computer operating system kernel providing only basic operating system services (system calls), while other services (commonly provided by kernels) are provided by user-space programs called servers. ... Graphical overview of a monolithic kernel A monolithic kernel 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. ... In computer science, a nanokernel or picokernel is a very minimalist operating system kernel. ... In computing, paravirtualization is a virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware. ...

External references

  • ExAmour
  • IntraServices

References

For the Manfred Mann album, see 2006 (album). ... September 22 is the 265th day of the year in the Gregorian calendar (266th in leap years). ... For the Manfred Mann album, see 2006 (album). ... September 22 is the 265th day of the year in the Gregorian calendar (266th in leap years). ... For the Manfred Mann album, see 2006 (album). ... September 22 is the 265th day of the year in the Gregorian calendar (266th in leap years). ...

External link

  • Microkernels. The extent to which simple, efficient operations are a good choice in a kernel interface design. by Úlfar Erlingsson and Athanasios Kyparlis

  Results from FactBites:
 
Exokernel - Wikipedia, the free encyclopedia (946 words)
Exokernels are tiny, since functionality is limited to ensuring protection and multiplexing of resources, which are vastly simpler than conventional microkernels' implementation of message passing and monolitihic kernels' implementation of abstractions.
Exokernels can be seen as an application of the end-to-end principle to operating systems, in that they do not force an application program to layer its abstractions on top of other abstractions that were designed with different requirements in mind.
The exokernel concept has been around since at least 1994 [1], but as of 2005 exokernels are still a research effort and have not been used in any major commercial operating systems.
Kernel (computers) : Exokernel (1047 words)
Exokernels are a rather radical approach to OS design.
Exokernels are extremly small, since they arbitrarily limit their functionality to the protection and multiplexing of resources.
Since an exokernel is therefore only providing a very low-level interface to the hardware, lacking any of the higher-level functionalities of other operating systems, it is augmented by a "library operating system".
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.