SlideShare a Scribd company logo
1999/4/19 Murphy Cheng-Che Chen 1
EKernel: An Object-Oriented µ-kernel
Murphy Cheng-Che Chen, Sheng-De Wang
Department of Electrical Engineering
National Taiwan University
murphy@yours.com, sdwang@cc.ee.ntu.edu.tw
Murphy Cheng-Che Chen 2
Outline
• Goals / Issues
• Introduction (Kernel /Monolithic Kernel /
µ-kernel /2nd Generation µ-kernel)
• Ekernel Design
• Performance
• Conclusion & Future Works
Murphy Cheng-Che Chen 3
Goals
• To take full advantage of continuously
launched processors.
• To meet the demands of various kinds of
applications.
Murphy Cheng-Che Chen 4
Issues
• Portability
• Maintainability
• Extensibility
• Efficiency
Murphy Cheng-Che Chen 5
Introduction : Kernel
• Kernel
– the mandatory part of an operating
system common to all other software.
– user / supervisor mode.
Murphy Cheng-Che Chen 6
Introduction : Monolithic Kernels
• Monolithic Kernels
– The whole operating system was packed
into a single large kernel.
• Opearting Systems
– schedulers, device drivers, memory
managers, file systems, networking
subsystems, etc.
Murphy Cheng-Che Chen 7
Introduction : µ-kernel (1)
• µ-kernel
– Only absolutely essential core operating
system functions are put into the kernel.
– Other operating system services are built
on the µ-kernel.
Murphy Cheng-Che Chen 8
Introduction : µ-kernel (2)
• The advantages of the µ-kernel approach:
– A more modular system structure could
be enforced by clear µ-kernel interfaces.
– Server malfunction is isolated as any
other user programs.
– The system is more flexible and
tailorable.
Murphy Cheng-Che Chen 9
Introduction : µ-kernel (3)
A p p lic a t io n P a g e r
M ic r o k e r n e l
p a g e
f a u lt
r e s u m e R P C
Murphy Cheng-Che Chen 10
Introduction : 2nd gen. µ-kernel
• Problems of µ-kernels
– Efficiency
– Inheritance from monolithic kernels
• Radical new designs
– Exokernel ( no abstractions )
– L3/L4 ( minimal set of µ-kernel
abstractions)
Murphy Cheng-Che Chen 11
EKernel Design: Abstractions (1)
• Process
– basic unit of resource allocation
• Thread
– basic unit of CPU utilization
• Address Space
– mapping from virtual pages to phyical
pages
Murphy Cheng-Che Chen 12
EKernel Design: Abstractions (2)
• Inter-process communication (IPC)
– allow threads to communicate with each
other and to synchronize their actions.
– highly related to the internal data
structure of threads and processes.
– Messaging, semaphore, mutex, event.
A p p lic a t io n
P r o c e s s
A p p lic a t io n
P r o c e s s
N e t w o r k in g
P r o c e s s
S e r ia l
P o r t
P r o c e s s
W in d o w in g
P r o c e s s
F ile
S y s t e m
S e r v e r
S h a r e d
L ib r a r y
S h a r e d
L ib r a r y
U s e r S p a c e
K e r n e l S p a c e
S y s t e m C a ll I n t e r f a c e
P r o c e s s
C o n t r o l
T h r e a d
C o n t r o l
S y n c h r o n iz a t io n
M e c h a n is m
S c h e d u le r
H a r d w a r e P la t f o r m
H a r d w a r e
E x c e p t io n
H a n d lin g
M e s s a g in g
A p p lic a t io n
P r o c e s s
A p p lic a t io n
P r o c e s s
M e m o r y
M a n a g e m e n t
EMicro
ENano
ProcessorMMU
Interrupt
Controller
Process
Thread
Scheduler
Memory
Allocator
Semaphore
Message
Queue
Mutex
Event
SystemCall
Dispatcher
Interrupt
Dispatcher
Murphy Cheng-Che Chen 15
Driver Architecture
• Device drivers
– are allowed to execute in user space.
– invoke system services to
• hook interested interrupts
• request access rights to I/O
– can be combined with a server process to
minimize data paths.
Murphy Cheng-Che Chen 16
Performance:
User-Kernel Switches
• Measures the overhead in doing a system
call.
System CPU, MHz Cycle
L3 486, 50 123 – 180
Ekernel Pentium, 100 186
Mach RS2000, 16.7 900
Murphy Cheng-Che Chen 17
Performance:
Address Space Switches
• Includes page table switching, TLB
flushing, and cache flushing.
Bare Machine Page Table Switch Cycles
486 36 … 364
Pentium 36 … 1196
Operating System Address Space Switch Cycles
Ekernel ( on Pentium ) 863
System CPU, MHz Cycles / IPC
Ekernel1 Pentium, 100 231
L3 486, 50 250
QNX 486, 33 1254
Ekernel2 Pentium, 100 1492
Mach RS2000, 16.7 1584
SRC RPC CVAX, 12.5 2900
Mach 486, 50 5750
Amoeba 68020, 15 6000
Spin Alpha 21064, 133 6783
Mach Alpha 21064, 133 6916
Murphy Cheng-Che Chen 18
Performance: IPC
• RPC overhead includes sending/receiving a message, user-
kernel switch, address space switch.
Murphy Cheng-Che Chen 19
Conclusion & Future Works
• Implementation
– currently on Pentium processors.
– porting to other processors.
– efficient and flexible.
• Future Works
– file sub-system, networking sub-system,
window sub-system, multimedia, etc...
APPENDIX
09/16/18 Murphy Cheng-Che Chen 20
Murphy Cheng-Che Chen 21
class Processor;
• EnableInterrupt
• DisableInterrupt
• SetThreadContext
• SwitchContext
Murphy Cheng-Che Chen 22
class MMU;
• EnablePaging
• DisablePaging
• SwitchPageTable
• PageTableMapRangeKernel
• PageTableMapRangeUser
Murphy Cheng-Che Chen 23
class InterruptController;
• DisableIRQ
• EnableIRQ
• DisableAllIRQ
• EnableAllIRQ
• AcknowledgeIRQ
• HookIRQ
Murphy Cheng-Che Chen 24
class Scheduler;
• Schedule
• CheckIn
• CheckOut
• DisablePreemption
• EnablePreemption
• Yield
Murphy Cheng-Che Chen 25
class SystemCallDispatcher;
• HookSystemCall
• Dispatch
Murphy Cheng-Che Chen 26
class InterruptDispatcher;
• HookInterrupt
• Dispatch

More Related Content

What's hot

Rtos part2
Rtos part2Rtos part2
Rtos part2
navakishore
 
Linux process management
Linux process managementLinux process management
Linux process management
Raghu nath
 
Advanced computer architecture lesson 5 and 6
Advanced computer architecture lesson 5 and 6Advanced computer architecture lesson 5 and 6
Advanced computer architecture lesson 5 and 6
Ismail Mukiibi
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
Mr SMAK
 
MicroC/OS-II
MicroC/OS-IIMicroC/OS-II
Device Drivers
Device DriversDevice Drivers
Device Drivers
Suhas S R
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Scheduling
sathish sak
 
AOS Lab 5: System calls
AOS Lab 5: System callsAOS Lab 5: System calls
AOS Lab 5: System calls
Zubair Nabi
 
Pipelining of Processors
Pipelining of ProcessorsPipelining of Processors
Pipelining of Processors
Gaditek
 
Windows kernel
Windows kernelWindows kernel
Windows kernel
Sisimon Soman
 
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other AttacksExploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
inside-BigData.com
 
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
JOLLUSUDARSHANREDDY
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
Sharad Pandey
 
Aca 2
Aca 2Aca 2
Basic MIPS implementation
Basic MIPS implementationBasic MIPS implementation
Basic MIPS implementation
kavitha2009
 
Process synchronization in multi core systems using on-chip memories
Process synchronization in multi core systems using on-chip memoriesProcess synchronization in multi core systems using on-chip memories
Process synchronization in multi core systems using on-chip memories
Arun Joseph
 
Pipelining , structural hazards
Pipelining , structural hazardsPipelining , structural hazards
Pipelining , structural hazards
Munaam Munawar
 
pipelining
pipeliningpipelining
pipelining
sudhir saurav
 
ucOS
ucOSucOS
1.prallelism
1.prallelism1.prallelism
1.prallelism
Mahesh Kumar Attri
 

What's hot (20)

Rtos part2
Rtos part2Rtos part2
Rtos part2
 
Linux process management
Linux process managementLinux process management
Linux process management
 
Advanced computer architecture lesson 5 and 6
Advanced computer architecture lesson 5 and 6Advanced computer architecture lesson 5 and 6
Advanced computer architecture lesson 5 and 6
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
MicroC/OS-II
MicroC/OS-IIMicroC/OS-II
MicroC/OS-II
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Scheduling
 
AOS Lab 5: System calls
AOS Lab 5: System callsAOS Lab 5: System calls
AOS Lab 5: System calls
 
Pipelining of Processors
Pipelining of ProcessorsPipelining of Processors
Pipelining of Processors
 
Windows kernel
Windows kernelWindows kernel
Windows kernel
 
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other AttacksExploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
Exploiting Modern Microarchitectures: Meltdown, Spectre, and other Attacks
 
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2RTOS MICRO CONTROLLER OPERATING SYSTEM-2
RTOS MICRO CONTROLLER OPERATING SYSTEM-2
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
 
Aca 2
Aca 2Aca 2
Aca 2
 
Basic MIPS implementation
Basic MIPS implementationBasic MIPS implementation
Basic MIPS implementation
 
Process synchronization in multi core systems using on-chip memories
Process synchronization in multi core systems using on-chip memoriesProcess synchronization in multi core systems using on-chip memories
Process synchronization in multi core systems using on-chip memories
 
Pipelining , structural hazards
Pipelining , structural hazardsPipelining , structural hazards
Pipelining , structural hazards
 
pipelining
pipeliningpipelining
pipelining
 
ucOS
ucOSucOS
ucOS
 
1.prallelism
1.prallelism1.prallelism
1.prallelism
 

Similar to EKernel: an object-oriented micro-kernel

KSpeculative aspects of high-speed processor design
KSpeculative aspects of high-speed processor designKSpeculative aspects of high-speed processor design
KSpeculative aspects of high-speed processor design
ssuser7dcef0
 
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
National Cheng Kung University
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
Shay Cohen
 
Barcelona Supercomputing Center, Generador de Riqueza
Barcelona Supercomputing Center, Generador de RiquezaBarcelona Supercomputing Center, Generador de Riqueza
Barcelona Supercomputing Center, Generador de Riqueza
Facultad de Informática UCM
 
Scheduling in next generation os
Scheduling in next generation osScheduling in next generation os
Scheduling in next generation os
Santosh Nage
 
Architecture of TPU, GPU and CPU
Architecture of TPU, GPU and CPUArchitecture of TPU, GPU and CPU
Architecture of TPU, GPU and CPU
GlobalLogic Ukraine
 
CA UNIT I PPT.ppt
CA UNIT I PPT.pptCA UNIT I PPT.ppt
CA UNIT I PPT.ppt
RAJESH S
 
Analysis of Practicality and Performance Evaluation for Monolithic Kernel and...
Analysis of Practicality and Performance Evaluation for Monolithic Kernel and...Analysis of Practicality and Performance Evaluation for Monolithic Kernel and...
Analysis of Practicality and Performance Evaluation for Monolithic Kernel and...
CSCJournals
 
Fast switching of threads between cores - Advanced Operating Systems
Fast switching of threads between cores - Advanced Operating SystemsFast switching of threads between cores - Advanced Operating Systems
Fast switching of threads between cores - Advanced Operating Systems
Ruhaim Izmeth
 
WEEK6_COMPUTER_ORGANIZATION.pptx
WEEK6_COMPUTER_ORGANIZATION.pptxWEEK6_COMPUTER_ORGANIZATION.pptx
WEEK6_COMPUTER_ORGANIZATION.pptx
EmmanueljohnBarretto
 
Introduction to Computer Architecture and Organization
Introduction to Computer Architecture and OrganizationIntroduction to Computer Architecture and Organization
Introduction to Computer Architecture and Organization
Dr. Balaji Ganesh Rajagopal
 
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- MulticoreLec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
Hsien-Hsin Sean Lee, Ph.D.
 
Super computer 2017
Super computer 2017Super computer 2017
Super computer 2017
Sampath Bhargav Pinnam
 
Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1
Tyrone Systems
 
Brief Introduction.ppt
Brief Introduction.pptBrief Introduction.ppt
Brief Introduction.ppt
MollyZolly
 
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
BigDataEverywhere
 
Linux Performance Tunning Kernel
Linux Performance Tunning KernelLinux Performance Tunning Kernel
Linux Performance Tunning Kernel
Shay Cohen
 
L4 Microkernel :: Design Overview
L4 Microkernel :: Design OverviewL4 Microkernel :: Design Overview
L4 Microkernel :: Design Overview
National Cheng Kung University
 
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
CSCJournals
 
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORSAFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
cscpconf
 

Similar to EKernel: an object-oriented micro-kernel (20)

KSpeculative aspects of high-speed processor design
KSpeculative aspects of high-speed processor designKSpeculative aspects of high-speed processor design
KSpeculative aspects of high-speed processor design
 
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
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
Barcelona Supercomputing Center, Generador de Riqueza
Barcelona Supercomputing Center, Generador de RiquezaBarcelona Supercomputing Center, Generador de Riqueza
Barcelona Supercomputing Center, Generador de Riqueza
 
Scheduling in next generation os
Scheduling in next generation osScheduling in next generation os
Scheduling in next generation os
 
Architecture of TPU, GPU and CPU
Architecture of TPU, GPU and CPUArchitecture of TPU, GPU and CPU
Architecture of TPU, GPU and CPU
 
CA UNIT I PPT.ppt
CA UNIT I PPT.pptCA UNIT I PPT.ppt
CA UNIT I PPT.ppt
 
Analysis of Practicality and Performance Evaluation for Monolithic Kernel and...
Analysis of Practicality and Performance Evaluation for Monolithic Kernel and...Analysis of Practicality and Performance Evaluation for Monolithic Kernel and...
Analysis of Practicality and Performance Evaluation for Monolithic Kernel and...
 
Fast switching of threads between cores - Advanced Operating Systems
Fast switching of threads between cores - Advanced Operating SystemsFast switching of threads between cores - Advanced Operating Systems
Fast switching of threads between cores - Advanced Operating Systems
 
WEEK6_COMPUTER_ORGANIZATION.pptx
WEEK6_COMPUTER_ORGANIZATION.pptxWEEK6_COMPUTER_ORGANIZATION.pptx
WEEK6_COMPUTER_ORGANIZATION.pptx
 
Introduction to Computer Architecture and Organization
Introduction to Computer Architecture and OrganizationIntroduction to Computer Architecture and Organization
Introduction to Computer Architecture and Organization
 
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- MulticoreLec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
 
Super computer 2017
Super computer 2017Super computer 2017
Super computer 2017
 
Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1Learn about Tensorflow for Deep Learning now! Part 1
Learn about Tensorflow for Deep Learning now! Part 1
 
Brief Introduction.ppt
Brief Introduction.pptBrief Introduction.ppt
Brief Introduction.ppt
 
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
Big Data Everywhere Chicago: High Performance Computing - Contributions Towar...
 
Linux Performance Tunning Kernel
Linux Performance Tunning KernelLinux Performance Tunning Kernel
Linux Performance Tunning Kernel
 
L4 Microkernel :: Design Overview
L4 Microkernel :: Design OverviewL4 Microkernel :: Design Overview
L4 Microkernel :: Design Overview
 
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
Run-Time Adaptive Processor Allocation of Self-Configurable Intel IXP2400 Net...
 
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORSAFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
AFFECT OF PARALLEL COMPUTING ON MULTICORE PROCESSORS
 

More from Murphy Chen

提升心靈的方法:佛陀教導的四念住
提升心靈的方法:佛陀教導的四念住提升心靈的方法:佛陀教導的四念住
提升心靈的方法:佛陀教導的四念住
Murphy Chen
 
資工人的職涯發展之道
資工人的職涯發展之道資工人的職涯發展之道
資工人的職涯發展之道
Murphy Chen
 
Basics of programming embedded processors
Basics of programming embedded processorsBasics of programming embedded processors
Basics of programming embedded processors
Murphy Chen
 
心靈環保
心靈環保心靈環保
心靈環保
Murphy Chen
 
資工人的學習成長之路
資工人的學習成長之路資工人的學習成長之路
資工人的學習成長之路
Murphy Chen
 
南北傳禪修經驗分享
南北傳禪修經驗分享南北傳禪修經驗分享
南北傳禪修經驗分享
Murphy Chen
 
資工人為什麼需要學習數位電路?
資工人為什麼需要學習數位電路?資工人為什麼需要學習數位電路?
資工人為什麼需要學習數位電路?
Murphy Chen
 
佛陀的啟示 (What the Buddha Taught)
佛陀的啟示 (What the Buddha Taught)佛陀的啟示 (What the Buddha Taught)
佛陀的啟示 (What the Buddha Taught)
Murphy Chen
 
禪修的效用與方法
禪修的效用與方法禪修的效用與方法
禪修的效用與方法
Murphy Chen
 

More from Murphy Chen (9)

提升心靈的方法:佛陀教導的四念住
提升心靈的方法:佛陀教導的四念住提升心靈的方法:佛陀教導的四念住
提升心靈的方法:佛陀教導的四念住
 
資工人的職涯發展之道
資工人的職涯發展之道資工人的職涯發展之道
資工人的職涯發展之道
 
Basics of programming embedded processors
Basics of programming embedded processorsBasics of programming embedded processors
Basics of programming embedded processors
 
心靈環保
心靈環保心靈環保
心靈環保
 
資工人的學習成長之路
資工人的學習成長之路資工人的學習成長之路
資工人的學習成長之路
 
南北傳禪修經驗分享
南北傳禪修經驗分享南北傳禪修經驗分享
南北傳禪修經驗分享
 
資工人為什麼需要學習數位電路?
資工人為什麼需要學習數位電路?資工人為什麼需要學習數位電路?
資工人為什麼需要學習數位電路?
 
佛陀的啟示 (What the Buddha Taught)
佛陀的啟示 (What the Buddha Taught)佛陀的啟示 (What the Buddha Taught)
佛陀的啟示 (What the Buddha Taught)
 
禪修的效用與方法
禪修的效用與方法禪修的效用與方法
禪修的效用與方法
 

Recently uploaded

OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 

Recently uploaded (20)

OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 

EKernel: an object-oriented micro-kernel

  • 1. 1999/4/19 Murphy Cheng-Che Chen 1 EKernel: An Object-Oriented µ-kernel Murphy Cheng-Che Chen, Sheng-De Wang Department of Electrical Engineering National Taiwan University murphy@yours.com, sdwang@cc.ee.ntu.edu.tw
  • 2. Murphy Cheng-Che Chen 2 Outline • Goals / Issues • Introduction (Kernel /Monolithic Kernel / µ-kernel /2nd Generation µ-kernel) • Ekernel Design • Performance • Conclusion & Future Works
  • 3. Murphy Cheng-Che Chen 3 Goals • To take full advantage of continuously launched processors. • To meet the demands of various kinds of applications.
  • 4. Murphy Cheng-Che Chen 4 Issues • Portability • Maintainability • Extensibility • Efficiency
  • 5. Murphy Cheng-Che Chen 5 Introduction : Kernel • Kernel – the mandatory part of an operating system common to all other software. – user / supervisor mode.
  • 6. Murphy Cheng-Che Chen 6 Introduction : Monolithic Kernels • Monolithic Kernels – The whole operating system was packed into a single large kernel. • Opearting Systems – schedulers, device drivers, memory managers, file systems, networking subsystems, etc.
  • 7. Murphy Cheng-Che Chen 7 Introduction : µ-kernel (1) • µ-kernel – Only absolutely essential core operating system functions are put into the kernel. – Other operating system services are built on the µ-kernel.
  • 8. Murphy Cheng-Che Chen 8 Introduction : µ-kernel (2) • The advantages of the µ-kernel approach: – A more modular system structure could be enforced by clear µ-kernel interfaces. – Server malfunction is isolated as any other user programs. – The system is more flexible and tailorable.
  • 9. Murphy Cheng-Che Chen 9 Introduction : µ-kernel (3) A p p lic a t io n P a g e r M ic r o k e r n e l p a g e f a u lt r e s u m e R P C
  • 10. Murphy Cheng-Che Chen 10 Introduction : 2nd gen. µ-kernel • Problems of µ-kernels – Efficiency – Inheritance from monolithic kernels • Radical new designs – Exokernel ( no abstractions ) – L3/L4 ( minimal set of µ-kernel abstractions)
  • 11. Murphy Cheng-Che Chen 11 EKernel Design: Abstractions (1) • Process – basic unit of resource allocation • Thread – basic unit of CPU utilization • Address Space – mapping from virtual pages to phyical pages
  • 12. Murphy Cheng-Che Chen 12 EKernel Design: Abstractions (2) • Inter-process communication (IPC) – allow threads to communicate with each other and to synchronize their actions. – highly related to the internal data structure of threads and processes. – Messaging, semaphore, mutex, event.
  • 13. A p p lic a t io n P r o c e s s A p p lic a t io n P r o c e s s N e t w o r k in g P r o c e s s S e r ia l P o r t P r o c e s s W in d o w in g P r o c e s s F ile S y s t e m S e r v e r S h a r e d L ib r a r y S h a r e d L ib r a r y U s e r S p a c e K e r n e l S p a c e S y s t e m C a ll I n t e r f a c e P r o c e s s C o n t r o l T h r e a d C o n t r o l S y n c h r o n iz a t io n M e c h a n is m S c h e d u le r H a r d w a r e P la t f o r m H a r d w a r e E x c e p t io n H a n d lin g M e s s a g in g A p p lic a t io n P r o c e s s A p p lic a t io n P r o c e s s M e m o r y M a n a g e m e n t
  • 15. Murphy Cheng-Che Chen 15 Driver Architecture • Device drivers – are allowed to execute in user space. – invoke system services to • hook interested interrupts • request access rights to I/O – can be combined with a server process to minimize data paths.
  • 16. Murphy Cheng-Che Chen 16 Performance: User-Kernel Switches • Measures the overhead in doing a system call. System CPU, MHz Cycle L3 486, 50 123 – 180 Ekernel Pentium, 100 186 Mach RS2000, 16.7 900
  • 17. Murphy Cheng-Che Chen 17 Performance: Address Space Switches • Includes page table switching, TLB flushing, and cache flushing. Bare Machine Page Table Switch Cycles 486 36 … 364 Pentium 36 … 1196 Operating System Address Space Switch Cycles Ekernel ( on Pentium ) 863
  • 18. System CPU, MHz Cycles / IPC Ekernel1 Pentium, 100 231 L3 486, 50 250 QNX 486, 33 1254 Ekernel2 Pentium, 100 1492 Mach RS2000, 16.7 1584 SRC RPC CVAX, 12.5 2900 Mach 486, 50 5750 Amoeba 68020, 15 6000 Spin Alpha 21064, 133 6783 Mach Alpha 21064, 133 6916 Murphy Cheng-Che Chen 18 Performance: IPC • RPC overhead includes sending/receiving a message, user- kernel switch, address space switch.
  • 19. Murphy Cheng-Che Chen 19 Conclusion & Future Works • Implementation – currently on Pentium processors. – porting to other processors. – efficient and flexible. • Future Works – file sub-system, networking sub-system, window sub-system, multimedia, etc...
  • 21. Murphy Cheng-Che Chen 21 class Processor; • EnableInterrupt • DisableInterrupt • SetThreadContext • SwitchContext
  • 22. Murphy Cheng-Che Chen 22 class MMU; • EnablePaging • DisablePaging • SwitchPageTable • PageTableMapRangeKernel • PageTableMapRangeUser
  • 23. Murphy Cheng-Che Chen 23 class InterruptController; • DisableIRQ • EnableIRQ • DisableAllIRQ • EnableAllIRQ • AcknowledgeIRQ • HookIRQ
  • 24. Murphy Cheng-Che Chen 24 class Scheduler; • Schedule • CheckIn • CheckOut • DisablePreemption • EnablePreemption • Yield
  • 25. Murphy Cheng-Che Chen 25 class SystemCallDispatcher; • HookSystemCall • Dispatch
  • 26. Murphy Cheng-Che Chen 26 class InterruptDispatcher; • HookInterrupt • Dispatch