Microkernels - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Microkernels

Description:

typically threads or scheduler activations. inter-process communication ... Abstracts system interrupts as kernel threads and interrupt delivery as IPC. ... – PowerPoint PPT presentation

Number of Views:124
Avg rating:3.0/5.0
Slides: 14
Provided by: SV81
Category:

less

Transcript and Presenter's Notes

Title: Microkernels


1
Microkernels
  • The microkernel is the only software executing at
    the most privileged level (supervisor or kernel
    mode).
  • Actual operating system services, such as device
    drivers, protocol stacks, file systems and user
    interface code are contained in user space.
  • 1http//en.wikipedia.org/wiki/Microkernel

2
Essential features Minimality
  • A Microkernel must include some core features
  • some mechanisms for dealing with address spaces
  • managing memory protection
  • execution abstraction to manage CPU allocation
  • typically threads or scheduler activations
  • inter-process communication
  • required to invoke servers running in their own
    address spaces.
  • Liedtke's minimality principle
  • A concept is tolerated inside the microkernel
    only if moving it outside the kernel, i.e.,
    permitting competing implementations, would
    prevent the implementation of the system's
    required functionality.

3
L4s Architectural Features
  • Separation of API and ABI
  • Virtual Registers
  • SuperFast IPC
  • L4 provides Very Limited, Extremely Flexible and
    Powerful set of mechanisms - Threads, Address
    Spaces, IPC, Mapping
  • IPC is mainly used for synchronization and
    signalling of threads executing within the same
    address space. IPC can then be performed
    completely in user mode avoiding the overhead
    induced by the two unnecessary privilege level
    changes.

4
Features Contd.
  • Multiprocessor Support
  • Load balancing, Scheduling decisions are purely
    user-level based, thus supports implementation of
    arbitrary processor allocation policies.
  • Multiprocessor support exists for IA32, IA64
    systems.
  • Interrupts
  • Abstracts system interrupts as kernel threads and
    interrupt delivery as IPC.

5
L4 Installation Process on IA-32
  • Building L4
  • Stage 1 Building the Kernel
  • Specify a BUILDDIR, Configure the kernel and
    Build it.
  • Need to enable Keyboard in configuration
  • Stage 2 Building User Level Code
  • Create Build Directory, Call user level codes
    configuration from there and Build it.
  • Provide the install and kernel directories
  • Copy kernel to the l4ka-pistachio/ia32-user-instal
    l/libexec/l4/
  • Booting and Running
  • Collect all the files in a directory, Prepare Grub

6
Program Worked With
  • Pingpong program that serves as the Root task
  • Root task is first task started at boot time
  • Can perform privileged system calls.
  • Controls access to resources managed by PSCs.
  • Gives options to select from like Inter AS IPC,
    Intra AS IPC, etc. and prints the number of
    cycles used in the selected option
  • Added an option 0 Show Message which when used
    displays Hello World!
  • This implies we can make programs that could take
    input from Keyboard and respond

7
Studied Paper The Performance of
µ-Kernel-Based SystemsH.Härtig, M.Hohmuth ,
J.Liedtke, S.Schönberg , J.Wolter
  • Overview
  • Research on pure µ-Kernel systems was abandoned
    due to Poor performance exhibited by such systems
    constructed in the 1980's and early 1990s
  • 2nd Generation µ-Kernels like L4 and QMU were
    designed from scratch, focus on minimality
  • Goal - To show that µ-kernel based systems are
    usable in practice with good performance.
  • Experiments
  • Linux, was adapted to run as user-level single
    server on top of L4
  • Three further experiments to show the
    extensibility of the system
  • Platform Independence Testing - the µ-kernel was
    reimplemented from scratch on an Alpha 21164,
    preserving the original L4 interface.

8
Performance Measurement of L4Linux
  • MicroBenchmarks
  • getpid, the shortest Linux system call, was
    examined.
  • The measurements were obtained using the cycle
    counter register of the Pentium processor
  • L4Linux needs approximately 300 cycles more than
    native Linux

getpid system call costs
Cycles spent for getpid in L4Linux
2 The Performance of µ-Kernel-Based
SystemsH.Härtig, M.Hohmuth , J.Liedtke,
S.Schönberg , J.Wolter
9
Performance Measurement of L4Linux
  • MacroBenchmarks
  • measured the time needed to recompile the Linux
    server
  • L4Linux was 6-7 slower than native Linux but
    10-20 faster than both MkLinux versions.

2 The Performance of µ-Kernel-Based
SystemsH.Härtig, M.Hohmuth , J.Liedtke,
S.Schönberg , J.Wolter
10
Performance Measurement of L4Linux
  • MacroBenchmarks
  • using the commercial AIM multiuser benchmark
    suite VII.

2 The Performance of µ-Kernel-Based
SystemsH.Härtig, M.Hohmuth , J.Liedtke,
S.Schönberg , J.Wolter
11
Extensibility Testing
  • IPC can be implemented significantly faster in a
    µ-kernel environment than in classical monolithic
    systems. But, applications have to be rewritten
    to make its use.

2 The Performance of µ-Kernel-Based
SystemsH.Härtig, M.Hohmuth , J.Liedtke,
S.Schönberg , J.Wolter
12
Analysis
  • The current implementation of L4Linux comes
    reasonably close to the behavior of native Linux,
    even under high load. Typical penalties range
    from 5 to 10.
  • Both macro and microbenchmarks clearly indicate
    that the performance of the underlying µ-kernel
    matters.
  • The added value the µ-kernel gives us. Enables
    specialization and buys us extensibility
  • i. e., permits the orthogonal implementation of
    new services and policies that are not covered by
    and cannot easily be added to a conventional
    workstation OS.

13
Task for the semester
  • Porting L4 to ARM Platform
  • Providing device driver for USB Camera
  • Adding File-System Support
Write a Comment
User Comments (0)
About PowerShow.com