1 gregor schmidt origins of operating systems - the microkernel mach betriebssysteme und middleware...
TRANSCRIPT
1Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
SeminarOrigins of Operating Systems
The Microkernel Machin NeXTSTEP
Gregor Schmidt
2006-06-29
1
2Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 2
Overview
Introduction The road to NeXTSTEP
The NeXT computers
The NeXTSTEP operating system The Mach Microkernel
Interprocess Communication by example
The next steps
2
3Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 3
Overview
Introduction The NeXTSTEP operating system The Mach Microkernel The next steps
3
4Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 4
The Road to NeXTStep
1986 - NeXT computers, Inc. was founded by Steve Jobs and
colleagues from Apple
- Rich Page
- George Crow
- Bud Tribble
- Dan‘L Lewin
- Susan Barnes
and
- Randy Heffner
- Gary H. Moore
1988 - The first computer was presented
4
5Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 5
The 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
5
$ 4.995,-$ 4.995,-
6Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 6
Overview
Introduction The NeXTSTEP operating system The Mach Microkernel The next steps
6
7Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 7
The 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
7
1988 - BSD re-factoring1990 - BSD-Reno for Mach
1988 - BSD re-factoring1990 - BSD-Reno for Mach
8Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 8
The NeXTSTEP Operating SystemDemo - By Steve Jobs
Product Demonstration of NeXTSTEP Release 3.0
8
1:00 Start6:30 Word Perfect24:00 Interface Builder
1:00 Start6:30 Word Perfect24:00 Interface Builder
9Gregor Schmidt
Origins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 9
Overview
Introduction The NeXTSTEP operating system The Mach Microkernel The next steps
9
10
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
0
The 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
10
11
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
1
The 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
11
small interfacelittle trusted computing base
lots of communication overheadlots of synchronization
12
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
2
The Mach MicrokernelMain Features
Preemptive Multitasking Multithreading, Multiprocessing Memory protection, virtual memory Interprocess communication via mach messages
12
13
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
3
The 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 receiver‘s address space
Remote messages are send lazily
Port Rights Management Ownership
Receive
Send
Port names - unique Integer
13
14
Environment Manager for local use only
Network Message Server enables network-wide communication
Service Server
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
4
The Mach MicrokernelHow to find Ports in NeXTStep
14
in Mac OS X: Bootstrap Server
15
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
5
The Mach MicrokernelMessage Sending the Easy Way
Mach Interface Generator Corba-like Stub-and-Skeleton-Generator
15
Message encoding anddecoding for freeLittle RPC-specific code
16
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
6
The 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
16
17
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
7
Overview
Introduction The NeXTSTEP operating system The Mach Microkernel The next steps
17
18
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
8
The 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
18
19
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 1
9
The 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
19
20
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 2
0
The 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
20
21
Gregor SchmidtOrigins of Operating Systems - The Microkernel Mach
Betriebssysteme und Middleware / Prof. Andreas PolzeHasso-Plattner-Institut 2
1
References
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: <http://www.informatik.hu-berlin.de/~apolze/papers/um2-95.ps>. - online im Internet
SLABIHOUD, Stephan: NeXT Computer, Inc., 1998-2005, Verfügbar im Internet: <http://www.8bit-museum.de/docs/next1.htm>. 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
21