1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware...

21
1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar Origins of Operating Systems The Microkernel Mach in NeXTSTEP Gregor Schmidt 2006-06-29 1

Transcript of 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware...

Page 1: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 2: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 3: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 4: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 5: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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,-

Page 6: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 7: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 8: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 9: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 10: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 11: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 12: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 13: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 14: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 15: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 16: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 17: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 18: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 19: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 20: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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

Page 21: 1 Gregor Schmidt Origins of Operating Systems - The Microkernel Mach Betriebssysteme und Middleware / Prof. Andreas Polze Hasso-Plattner-Institut 1 Seminar.

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