SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
Open Course by Ferdian Sonatha , Padepokan Kanuragan Blankon Malang
http://malang.di.blankon.in/opencourse/
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.
Operating System Kernels generally present the hardware-resources to applications
through high level abstractions such as the (virtual) file-system. 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.
Implemented applications are called library operating systems; they 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.
Open Course by Ferdian Sonatha , Padepokan Kanuragan Blankon Malang
http://malang.di.blankon.in/opencourse/
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.
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 abstraction 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.
One option is to remove the kernel completely and program directly to the hardware, but
then the entire machine would be dedicated to the application being written (and,
conversely, the entire application codebase would be dedicated to that machine). The
exokernel concept is a compromise: let the kernel allocate the basic 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 then link to a support library that implements the abstractions it needs (or it
can implement its own).
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:
Open Course by Ferdian Sonatha , Padepokan Kanuragan Blankon Malang
http://malang.di.blankon.in/opencourse/
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.
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
acapability to access that page. The kernel ensures that programs access only pages for
which they have a capability.
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.
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
Cheetahweb server, which uses the kernel directly.
History
The exokernel concept has been around since at least 1994,[1]
but as of 2010 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.
Open Course by Ferdian Sonatha , Padepokan Kanuragan Blankon Malang
http://malang.di.blankon.in/opencourse/
Bibliography
 Engler, Dawson R (1998). The Exokernel Operating System Architecture (PostScript).
MIT. Retrieved 2006-09-22.
 ———; Kaashoek, M. Frans (1996). Exterminate All Operating System
Abstractions (PostScript). MIT. Retrieved 2006-09-22.
 ———; Kaashoek, M. Frans; O’Toole, James Jr (1995). "Exokernel: An Operating
System Architecture for Application-Level Resource Management" (PDF). Proceedings of the
fifteenth ACM symposium on Operating systems principles: 251–
66. doi:10.1145/230000/224076/p251-engler.pdf. ISBN 0-89791-715-4. Retrieved 2006-09-
22.
External links
 Erlingsson, Úlfar; Kyparlis, Athanasios, Microkernels, Cornell, "The extent to
which simple, efficient operations are a good choice in a kernel interface design".
 Exokernel Operating System, MIT. Putting the Application in Control.
 Nemesis, UK: Cambridge. An operating system with principles.
 BareMetal OS, Return Infinity.
 XOmB.
 ExAmour, FR. IA-32 exokernel.

Contenu connexe

Tendances

Microprocessor application (Introduction)
Microprocessor application (Introduction)Microprocessor application (Introduction)
Microprocessor application (Introduction)Ismail Mukiibi
 
Types of computer
Types of computer Types of computer
Types of computer Sajib007
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating SystemsMukesh Chinta
 
Operating system components
Operating system componentsOperating system components
Operating system componentsSyed Zaid Irshad
 
Coa module1
Coa module1Coa module1
Coa module1cs19club
 
COMPUTER MEMORY : TYPES & FUNCTIONS
COMPUTER MEMORY : TYPES & FUNCTIONSCOMPUTER MEMORY : TYPES & FUNCTIONS
COMPUTER MEMORY : TYPES & FUNCTIONSAngel Mary George
 
High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...Pradeep Redddy Raamana
 
Semophores and it's types
Semophores and it's typesSemophores and it's types
Semophores and it's typesNishant Joshi
 
Multicore Computers
Multicore ComputersMulticore Computers
Multicore ComputersA B Shinde
 
Part I:Introduction to assembly language
Part I:Introduction to assembly languagePart I:Introduction to assembly language
Part I:Introduction to assembly languageAhmed M. Abed
 
Operating system
Operating systemOperating system
Operating systemasmakh89
 
Computer Organization and Architecture.
Computer Organization and Architecture.Computer Organization and Architecture.
Computer Organization and Architecture.CS_GDRCST
 
Branching instructions in 8086 microprocessor
Branching instructions in 8086 microprocessorBranching instructions in 8086 microprocessor
Branching instructions in 8086 microprocessorRabin BK
 
MIPS Assembly Language I
MIPS Assembly Language IMIPS Assembly Language I
MIPS Assembly Language ILiEdo
 

Tendances (20)

Microprocessor application (Introduction)
Microprocessor application (Introduction)Microprocessor application (Introduction)
Microprocessor application (Introduction)
 
Types of computer
Types of computer Types of computer
Types of computer
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating Systems
 
Multiprocessor
MultiprocessorMultiprocessor
Multiprocessor
 
Operating system components
Operating system componentsOperating system components
Operating system components
 
Coa module1
Coa module1Coa module1
Coa module1
 
Operating system
Operating systemOperating system
Operating system
 
Memory interfacing
Memory interfacingMemory interfacing
Memory interfacing
 
COMPUTER MEMORY : TYPES & FUNCTIONS
COMPUTER MEMORY : TYPES & FUNCTIONSCOMPUTER MEMORY : TYPES & FUNCTIONS
COMPUTER MEMORY : TYPES & FUNCTIONS
 
High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...High performance computing tutorial, with checklist and tips to optimize clus...
High performance computing tutorial, with checklist and tips to optimize clus...
 
Semophores and it's types
Semophores and it's typesSemophores and it's types
Semophores and it's types
 
Multicore Computers
Multicore ComputersMulticore Computers
Multicore Computers
 
Part I:Introduction to assembly language
Part I:Introduction to assembly languagePart I:Introduction to assembly language
Part I:Introduction to assembly language
 
Assembly Language
Assembly LanguageAssembly Language
Assembly Language
 
Operating system
Operating systemOperating system
Operating system
 
Computer Organization and Architecture.
Computer Organization and Architecture.Computer Organization and Architecture.
Computer Organization and Architecture.
 
Branching instructions in 8086 microprocessor
Branching instructions in 8086 microprocessorBranching instructions in 8086 microprocessor
Branching instructions in 8086 microprocessor
 
Types of operating system
Types of operating systemTypes of operating system
Types of operating system
 
MIPS Assembly Language I
MIPS Assembly Language IMIPS Assembly Language I
MIPS Assembly Language I
 
Types Of Operating Systems
Types Of Operating SystemsTypes Of Operating Systems
Types Of Operating Systems
 

Similaire à Exokernel

Exokernel operating systems
Exokernel operating systemsExokernel operating systems
Exokernel operating systemsGaurav Dalvi
 
lecture 1 (Part 2) kernal and its categories
lecture 1 (Part 2) kernal and its categorieslecture 1 (Part 2) kernal and its categories
lecture 1 (Part 2) kernal and its categoriesWajeehaBaig
 
ITT Project Information Technology Basic
ITT Project Information Technology BasicITT Project Information Technology Basic
ITT Project Information Technology BasicMayank Garg
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and PropertiesSaadi Rahman
 
UNIX INTERNALS UNIT-I
UNIX INTERNALS UNIT-IUNIX INTERNALS UNIT-I
UNIX INTERNALS UNIT-IJK Knowledge
 
Kernel. Operating System
Kernel. Operating SystemKernel. Operating System
Kernel. Operating Systempratikkadam78
 
Driver Programming Report
Driver Programming ReportDriver Programming Report
Driver Programming ReportShivek Khurana
 
Factors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxFactors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxZain Abid
 
unixlinux - kernelexplain yield in user spaceexplain yield in k.pdf
unixlinux - kernelexplain yield in user spaceexplain yield in k.pdfunixlinux - kernelexplain yield in user spaceexplain yield in k.pdf
unixlinux - kernelexplain yield in user spaceexplain yield in k.pdfPRATIKSINHA7304
 
Operating system by aman kr kushwaha
Operating system by aman kr kushwahaOperating system by aman kr kushwaha
Operating system by aman kr kushwahaAMAN KUMAR KUSHWAHA
 
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsNational Cheng Kung University
 

Similaire à Exokernel (20)

Kernel (computing)
Kernel (computing)Kernel (computing)
Kernel (computing)
 
Kernel (computing)
Kernel (computing)Kernel (computing)
Kernel (computing)
 
Exokernel operating systems
Exokernel operating systemsExokernel operating systems
Exokernel operating systems
 
Kernel
KernelKernel
Kernel
 
lecture 1 (Part 2) kernal and its categories
lecture 1 (Part 2) kernal and its categorieslecture 1 (Part 2) kernal and its categories
lecture 1 (Part 2) kernal and its categories
 
ITT Project Information Technology Basic
ITT Project Information Technology BasicITT Project Information Technology Basic
ITT Project Information Technology Basic
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
 
UNIX INTERNALS UNIT-I
UNIX INTERNALS UNIT-IUNIX INTERNALS UNIT-I
UNIX INTERNALS UNIT-I
 
Kernel. Operating System
Kernel. Operating SystemKernel. Operating System
Kernel. Operating System
 
In a monolithic kerne1
In a monolithic kerne1In a monolithic kerne1
In a monolithic kerne1
 
In a monolithic kerne1
In a monolithic kerne1In a monolithic kerne1
In a monolithic kerne1
 
Walking around linux kernel
Walking around linux kernelWalking around linux kernel
Walking around linux kernel
 
Driver Programming Report
Driver Programming ReportDriver Programming Report
Driver Programming Report
 
MIcrokernel
MIcrokernelMIcrokernel
MIcrokernel
 
Factors Affecting the System Safety || Linux
Factors Affecting the System Safety || LinuxFactors Affecting the System Safety || Linux
Factors Affecting the System Safety || Linux
 
unixlinux - kernelexplain yield in user spaceexplain yield in k.pdf
unixlinux - kernelexplain yield in user spaceexplain yield in k.pdfunixlinux - kernelexplain yield in user spaceexplain yield in k.pdf
unixlinux - kernelexplain yield in user spaceexplain yield in k.pdf
 
Operating system by aman kr kushwaha
Operating system by aman kr kushwahaOperating system by aman kr kushwaha
Operating system by aman kr kushwaha
 
Nanokernel
NanokernelNanokernel
Nanokernel
 
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
 
KERNEL.pptx
KERNEL.pptxKERNEL.pptx
KERNEL.pptx
 

Dernier

Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxDhatriParmar
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 

Dernier (20)

Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 

Exokernel

  • 1. Open Course by Ferdian Sonatha , Padepokan Kanuragan Blankon Malang http://malang.di.blankon.in/opencourse/ 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. Operating System Kernels generally present the hardware-resources to applications through high level abstractions such as the (virtual) file-system. 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. Implemented applications are called library operating systems; they 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.
  • 2. Open Course by Ferdian Sonatha , Padepokan Kanuragan Blankon Malang http://malang.di.blankon.in/opencourse/ 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. 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 abstraction 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. One option is to remove the kernel completely and program directly to the hardware, but then the entire machine would be dedicated to the application being written (and, conversely, the entire application codebase would be dedicated to that machine). The exokernel concept is a compromise: let the kernel allocate the basic 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 then link to a support library that implements the abstractions it needs (or it can implement its own). 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:
  • 3. Open Course by Ferdian Sonatha , Padepokan Kanuragan Blankon Malang http://malang.di.blankon.in/opencourse/ 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. 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 acapability to access that page. The kernel ensures that programs access only pages for which they have a capability. 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. 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 Cheetahweb server, which uses the kernel directly. History The exokernel concept has been around since at least 1994,[1] but as of 2010 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.
  • 4. Open Course by Ferdian Sonatha , Padepokan Kanuragan Blankon Malang http://malang.di.blankon.in/opencourse/ Bibliography  Engler, Dawson R (1998). The Exokernel Operating System Architecture (PostScript). MIT. Retrieved 2006-09-22.  ———; Kaashoek, M. Frans (1996). Exterminate All Operating System Abstractions (PostScript). MIT. Retrieved 2006-09-22.  ———; Kaashoek, M. Frans; O’Toole, James Jr (1995). "Exokernel: An Operating System Architecture for Application-Level Resource Management" (PDF). Proceedings of the fifteenth ACM symposium on Operating systems principles: 251– 66. doi:10.1145/230000/224076/p251-engler.pdf. ISBN 0-89791-715-4. Retrieved 2006-09- 22. External links  Erlingsson, Úlfar; Kyparlis, Athanasios, Microkernels, Cornell, "The extent to which simple, efficient operations are a good choice in a kernel interface design".  Exokernel Operating System, MIT. Putting the Application in Control.  Nemesis, UK: Cambridge. An operating system with principles.  BareMetal OS, Return Infinity.  XOmB.  ExAmour, FR. IA-32 exokernel.