Mach Kernel Kris Ambrose 2003 1 Overview A

  • Slides: 13
Download presentation
Mach Kernel Kris Ambrose 2003 1

Mach Kernel Kris Ambrose 2003 1

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

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 2

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

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 3

Mach’s Abstractions Silberschatz, Galvin, Gagne (2003) Appendix B: Mach Kris Ambrose 2003 4

Mach’s Abstractions Silberschatz, Galvin, Gagne (2003) Appendix B: Mach Kris Ambrose 2003 4

Mach as a Microkernel • Minimizes Kernel Operations – Task and Thread Management –

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 5

Structure of Mach Billard (2001): Mach Design Kris Ambrose 2003 6

Structure of Mach Billard (2001): Mach Design Kris Ambrose 2003 6

Multiprocessing in Mach • Threads are scheduled not tasks • Threads are CPU independent

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 7

Interprocess Communication • • • Tasks and Threads pass messages Ports accept messages Port

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 8

Distributed Operation and Portability • Each Server Contains a different Module • Fast and

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 9

Unix Compatibility • Allows for Unix System calls • Mach needs Unix • Acts

Unix Compatibility • Allows for Unix System calls • Mach needs Unix • Acts as a Virtual Machine Kris Ambrose 2003 10

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

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/Free. BSD – Ne. XT – Mac OS X (based on Ne. XT) – IBM OS/2 for the RS 6000 based machines • The Open Software Foundation (OSF) is still doing further research and development Kris Ambrose 2003 11

Summary • Originally CMU and OSF Research Project • Major Accomplishments – – –

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 12

The End Kris Ambrose 2003 13

The End Kris Ambrose 2003 13