mach kernel
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 PresentationTRANSCRIPT
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 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 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