Download presentation
Presentation is loading. Please wait.
1
The Mach Operating System
by Doug Hill, Liza Hill, Josh Mickley, Alex Nazari, and Sanghee Park
2
Concept of the Mach Kernel
Developed by Carnegie Mellon University from 1985~1994. The classic Unix kernel cannot support multiple processors. Mach introduced the idea of threads and tasks. Mach was one of the first systems to use a microkernel. A microkernel minimizes each OS service performed in the kernel.
3
Mach’s Microkernel Services that the kernel normally provides are implemented in user-space programs called servers. Mach’s microkernel is emphasized as a communication mechanism. Mach is designed to be flexible among systems with one to thousands of processors. Mach is also flexible to accommodate systems that do not share memory among processors.
4
Rochester’s Intelligent Gateway
Developed by University of Rochester, NY 1975 Provided uniform access to a variety of computing facilities Disadvantages: Had limited address space No protection for ports No notification of failure of a process
5
Accent Developed by Richard Rashid, formerly of RIG, at Carnegie Mellon University The operating system improved upon RIG Added an innovation virtual memory Added transparent network messaging Flexible and powerful virtual memory
6
History of Mach Developed at Carnegie Mellon University
1987 – Mach release 0 and release 1 included task and thread support 1988 – release 2 1989 – Mach 3.0 released with a smaller microkernel and a complex multiprocess system
7
Memory Object Abstract memory unit
Represents a segment of virtual memory Is mapped into a task’s address space Contains: A port for accessibility Resident pages
8
Scheduling States
9
Hints Discouragement Hints - current thread would give up the processor by lowering its priority Handoff Hints – suggest that a specific thread should run instead of the current one
10
Tasks and Threads A task is the basic unit of resource allocation. It includes a virtual address space, access to resources, and may include one or more threads. A thread is a sequence of instruction executions. All threads within a task share the resources of that task.
11
Tasks and Threads (cont.)
All communication among threads is done by sending messages between ports. When a task is created, it is assigned several ports by the kernel The kernel manages all communication among ports by assigning send and receive permissions.
12
Problems with Mach Mach was not commercially successful because of the overhead in interprocess communication. System performance was slower than the traditional kernel. Mach had trouble handling memory when the physical memory ran low.
13
Summary Mach is an early example of a microkernel, however, Microkernel system is not widely used today. Mach development was incorporated into NEXTSTEP, OPENSTEP, and Mac OS X. One of the key developers, Richard Rashid, currently works for Microsoft research, and another important developer, Avie Tevanian, works for Apple Computer.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.