1 / 13

The Mach Operating System

The Mach Operating System. by Doug Hill, Liza Hill, Josh Mickley, Alex Nazari, and Sanghee Park. 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.

walker
Télécharger la présentation

The Mach Operating System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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.

More Related