mach kernel

13
Kris Ambrose 2003 1 Mach Kernel Kris Ambrose

Upload: avram-baldwin

Post on 03-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

Mach Kernel. Kris Ambrose. Overview. A research project at Carnegie Mellon University (CMU) from 1985 to 1994. Considered to be the next great operating system Designed to incorporate many new OS technologies Microkernel Multiprocessing Interprocess Communication (IPC) - PowerPoint PPT Presentation

TRANSCRIPT

Kris Ambrose 2003 1

Mach Kernel

Kris Ambrose

Kris Ambrose 2003 2

Overview

• A research project at Carnegie Mellon University (CMU) from 1985 to 1994.

• Considered to be the next great operating system

• Designed to incorporate many new OS technologies– Microkernel

– Multiprocessing

– Interprocess Communication (IPC)

– Distributed Operation

– Portable across heterogeneous hardware

• And still maintain BSD Unix compatible

Kris Ambrose 2003 3

Mach Kernel Abstractions• Task – a basic unit of resource allocation that must contain an address

space and may contain port rights and threads.

• Thread – a basic unit of CPU utilization that belongs to a task and uses the task’s resource allocation.

• Port – a communication channel that the kernel protects, allows for all parts of the kernel and tasks to pass messages back and forth.

• Message – a typed collection of data objects that may be actual data, port rights, or a pointer out-of-line-data.

• Memory Object – a basic unit of memory used within the kernel and the a task may access it by mapping parts or all of it into its address space.

Kris Ambrose 2003 4

Mach’s Abstractions

Silberschatz, Galvin, Gagne(2003) Appendix B: Mach

Kris Ambrose 2003 5

Mach as a Microkernel

• Minimizes Kernel Operations– Task and Thread Management– IPC– Virtual Memory

• Acts as a Virtual Machine

• Parts are Modular

Kris Ambrose 2003 6

Structure of Mach

Billard (2001): Mach Design

Kris Ambrose 2003 7

Multiprocessing in Mach

• Threads are scheduled not tasks• Threads are CPU independent• Preemptive Scheduling done with a Priority

Queue• Quantum is based on Number of CPUs and

Threads• Threads to run across many processors• Global and Local Run Queues

Kris Ambrose 2003 8

Interprocess Communication

• Tasks and Threads pass messages

• Ports accept messages

• Port rights are assigned for protection

• Tasks may create Port Sets

• Large Messages use Copy-On-Write

Kris Ambrose 2003 9

Distributed Operation and Portability

• Each Server Contains a different Module

• Fast and Secure reload

• Multiple CPUs may be used for different Modules

• Runs across different Architectures

Kris Ambrose 2003 10

Unix Compatibility

• Allows for Unix System calls

• Mach needs Unix

• Acts as a Virtual Machine

Kris Ambrose 2003 11

Today and Beyond• Many of the Operating Systems today use the

ideas of Mach– QNX– Hurd– Mach 4– Real-Time Mach

• Some Actually Use the Mach/FreeBSD– NeXT– Mac OS X (based on NeXT)– IBM OS/2 for the RS6000 based machines

• The Open Software Foundation (OSF) is still doing further research and development

Kris Ambrose 2003 12

Summary

• Originally CMU and OSF Research Project• Major Accomplishments

– Microkernel– Multiprocessing– Interprocess Communication– Distributed Operations– Portable– BSD Unix Compatible

• Concepts still used

Kris Ambrose 2003 13

The End