Title: Seminar Origins of Operating Systems
1SeminarOrigins of Operating Systems
- The Microkernel Mach
- in NeXTSTEP
- Gregor Schmidt
- 2006-06-29
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
1
1
2Overview
- Introduction
- The road to NeXTSTEP
- The NeXT computers
- The NeXTSTEP operating system
- The Mach Microkernel
- Interprocess Communication by example
- The next steps
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
2
2
3Overview
- Introduction
- The NeXTSTEP operating system
- The Mach Microkernel
- The next steps
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
3
3
4The Road to NeXTStep
- 1986 - NeXT computers, Inc. was founded by Steve
Jobs and - colleagues from Apple
- Rich Page
- George Crow
- Bud Tribble
- DanL Lewin
- Susan Barnes
- and
- Randy Heffner
- Gary H. Moore
- 1988 - The first computer was presented
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
4
4
5The NeXT computers
- based on Motorola 680x0
- 2 basic models
- NeXTcube (1989)
- NeXTstation (1990)
- 25 MHz resp. 33 MHz
- 8 MB RAM (up to 32 MB)
- 105 MB SCSI HDD
- Floppy Disc Drive
- 10Base-T and 10Base-2 Ethernet
- Monochrome Display
- All later versions of NeXTSTEP operating systems
run on these machines
4.995,-
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
5
5
6Overview
- Introduction
- The NeXTSTEP operating system
- The Mach Microkernel
- The next steps
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
6
6
7The NeXTStep Operating SystemMain Features
- Mach Kernel
- BSD4.3 user space server
- NeXTSTEP user interface
- Display Postscript
- Object-oriented application framework
- Objective C as standard programming language
- Extraordinary OO-development tools
- High integration of all native applications
1988 - BSD re-factoring 1990 - BSD-Reno for Mach
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
7
7
8The NeXTSTEP Operating SystemDemo - By Steve Jobs
- Product Demonstration of NeXTSTEP Release 3.0
100 Start 630 Word Perfect 2400 Interface
Builder
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
8
8
9Overview
- Introduction
- The NeXTSTEP operating system
- The Mach Microkernel
- The next steps
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
9
9
10The Mach MicrokernelHistory
- 1985 - 1994 - developed at Carnegie-Mellon
university - Microkernel
- Deployed in several systems
- NeXTSTEP / OPENSTEP - Rhapsody - Mac OS X
- GNU/Hurd
- MkLinux
- Tru64 (OSF/1)
- NeXTSTEP uses Mach 2.5
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
10
10
11The Mach MicrokernelMicrokernel
- Little features - great reliability
- Only the main features run in privileged mode
- Process management
- Scheduling
- Synchronization and communication
- Device drivers and all other services run as user
services
- lots of communication overhead
- lots of synchronization
- small interface
- little trusted computing base
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
11
11
12The Mach MicrokernelMain Features
- Preemptive Multitasking
- Multithreading, Multiprocessing
- Memory protection, virtual memory
- Interprocess communication via mach messages
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
12
12
13The Mach MicrokernelInterprocess Communication
- Transparent network support
- Typed messages
- including type conversion between different
languages - Integrated with virtual memory
- local messages are not copied
- but mapped into receivers address space
- Remote messages are send lazily
- Port Rights Management
- Ownership
- Receive
- Send
- Port names - unique Integer
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
13
13
14The Mach MicrokernelHow to find Ports in NeXTStep
- Environment Manager
- for local use only
- Network Message Server
- enables network-wide communication
- Service Server
- in Mac OS X Bootstrap Server
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
14
14
15The Mach MicrokernelMessage Sending the Easy Way
- Mach Interface Generator
- Corba-like Stub-and-Skeleton-Generator
- Message encoding anddecoding for free
- Little RPC-specific code
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
15
15
16The Mach MicrokernelInterprocess Communication
by Example
- Calculator example
- Server providing calculation facilities
- Client using command line interface to receive
tasks and queries server for the answer
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
16
16
17Overview
- Introduction
- The NeXTSTEP operating system
- The Mach Microkernel
- The next steps
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
17
17
18The next steps
- 1995 - reorganization of NeXT towards software
- NeXT computers, Inc. - NeXT software, Inc.
- NeXTSTEP - OPENSTEP
- support for different platforms
- all NeXT computers
- Intel based computers
- PA-RISC Workstations
- Sun SPARC
- (IBM PPC) in labs
- WebObjects - first application server
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
18
18
19The next stepsOpenStep and OPENSTEP
- OpenStep is an object oriented API
- Designed by NeXT and Sun
- OPENSTEP is an implementation
- Other for
- Windows NT
- Solaris
- Linux - GNUStep
- Main components
- Display PostScript
- Objective-C Runtime and Compilers
- Majority of NeXTSTEP's Objective-C libraries
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
19
19
20The next steps
- 1996 - take over by Apple, Inc. - 400 Millions
US - OPENSTEP becomes Mac OS X
- with a new User Interface - Aqua
- but the same underlying system components
- Mach enhanced to XNU (hybrid kernel) within Darwin
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
20
20
21References
- BOYKIN, Joseph KIRSCHEN, David LANGERMAN, Alan
LoVERSO Susan Programming under Mach.
Addison-Wesley UNIX and Open System Series, ISBN
0-201-52739-1, Addison-Wesley 1993 - GARFINKEL, Simon L. MAHONEY, Michael K.
NeXTSTEP PROGRAMMING STEP ONE Object-Oriented
Applications. TELOS. The Electronic Library of
Science ISBN 0-387-97884-4, Springer-Verlag 1993 - POLZE, Andreas Vereiltes Rechnen unter Mach.
unix/mail 2/1995, Carl Hanser Verlag München.
Verfügbar im Internet lthttp//www.informatik.hu-b
erlin.de/apolze/papers/um2-95.psgt. - online im
Internet - SLABIHOUD, Stephan NeXT Computer, Inc.,
1998-2005, Verfügbar im Internet
lthttp//www.8bit-museum.de/docs/next1.htmgt.
Stand Juni 2006 - online im Internet - Special References
- en.wikipedia.org - for lots of information around
NeXTStep and Mach - lists.apple.com - for good code example and
special information
Gregor SchmidtOrigins of Operating Systems -
The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas
Polze Hasso-Plattner-Institut
21
21