Post on 30-Jan-2021
SystemprogrammierungBetriebsarten: Postskriptum
Wolfgang Schröder-Preikschat
Lehrstuhl Informatik 4
Ergänzende Materialien
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 1 / 24
B | VII-3 Postskriptum 1 Netzbetrieb
Gliederung
1 NetzbetriebOffene SystemeVerteiltes SystemRechnernetze
2 IntegrationsbetriebEingebettete SystemeDrahtlose Sensornetze
3 Zusammenfassung
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 2 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.1 Offene Systeme
Systeme mit offenen Schnittstellen und Spezifikationen
Programme bekommen Zugriff auf Betriebsmittel eines Rechnerverbunds
das Netzwerk ist in verschiedener Weise”transparent“
Netzwerktransparenz (Zugriffs- und Ortstransparenz)Replikations-, Migrations-, Fehler-, Ausfall-, Leistungs-, Skalierungs-,Nebenläufigkeits-, . . . , X-transparenz
ferne Betriebsmittel werden über lokale Repräsentanten virtualisiert
Programmverarbeitung geschieht (ein Stück weit) verteilt
verteilte Kompilierung, verteiltes make(1), ftp(1), rsh(1)
Betriebssystemkerne enthalten Kommunikationsprotokolle (TCP/IP)
Problem
Heterogenität, netzwerkzentrische Betriebsmittelverwaltung
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 3 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.1 Offene Systeme
Prozessgrenzen überwindende Unterprogrammaufrufe
Prozedurfernaufruf (engl. remote procedure call [5], RPC)
liefert die Illusion des lokalen Zugriffs auf entfernte Prozeduren
Stümpfe (engl. stubs) virtualisieren Aufgerufenen/Aufrufera
aDie Art eines Stumpfes bezeichnet seine Lage, nicht wovon er abstrahiert!
beim Aufrufer (Klient): repräsentiert Aufgerufenen (Anbieter)
Klientenstumpf (engl. client stub)
beim Aufgerufenen (Anbieter): repräsentiert Aufrufer (Klient)
Anbieterstumpf (engl. server stub)
Klient/Anbieter 7→ verschiedene Fäden, Adressräume und/oder Rechner
Interprozesskommunikation (engl. inter-process communication, IPC)
Problem
Parameterübergabe, Serialisierung von Datenstrukturen, Fehlermodell
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 4 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.1 Offene Systeme
Fernaufrufe mittels Stellvertreterfunktionen3 Anforderungsnachricht empfangen
4 Eingabewerte auspacken
5 Funktion aufrufen
6 Ausgabewerte einpacken
7 Anforderungsnachricht beantwortenAnrufer(in)
Angerufene(r)
call
call
send receive
reply
thread
threadKommunikationssystem
Klientenstumpf Anbieterstumpf
1 Eingabewerte einpacken
2 Anforderungsnachricht versenden
8 Antwortnachricht entgegennehmen
9 Ausgabewerte auspacken
10 Funktionsrückkehr
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 5 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.2 Verteiltes System
Systeme von interagierenden Prozessen (Prozessoren)
A distributed computing system consists of multiple autonomousprocessors that do not share primary memory, but cooperate bysending messages over a communication network. [1]
A collection of independent computers that appears to its usersas a single coherent system. [7]
A distributed system is one in which the failure of a computeryou didn’t even know existed can render your own computerunusable. [4]
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 6 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.2 Verteiltes System
Verteilung wird (funktional) nicht wahrgenommen
Verteiltes Betriebssystem. . .
A distributed operating system is one that looks to its userslike an ordinary centralized operating system but runs onmultiple, independent central processing units (CPUs).The key concept here is transparency.In other words, the use of multiple processors should beinvisible (transparent) to the users.Another way of expressing the same idea is to say that theuser views the system as a “virtual uniprocessor”, not as acollection of distinct machines.
[6]
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 7 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.2 Verteiltes System
Diensteschicht (engl. middleware)Als einzelnes System präsentierter Zusammenschluss vernetzter Rechner
Middleware
verteiltes System
sparc i686 StrongARM
Netz
PowerPC
Windows XPSolaris Linux Darwin
Fernaufrufsystem
verteilte Programme
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 8 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.2 Verteiltes System
Verteiltes BetriebssystemVirtualisierung aller im Rechnerverbund verfügbaren Betriebsmittel
µKern
verteiltes System
sparc i686 StrongARM PowerPC
Netz
Fernaufrufsystem
verteiltes Betriebssystem
µKern µKern µKern
verteilte Programme
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 9 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.3 Rechnernetze
Klassifikation nach Abdeckungsbereiche
LAN (engl. local area network)
typisch für die Vernetzung von Arbeitsplatzrechnernmeist ein homogenes System: dieselben Rechner/Betriebssysteme
MAN (engl. metropolitain area network)
typisch für die Vernetzung von Großrechnern und LANsheterogenes System: verschiedene Rechner/Betriebssysteme
WAN (engl. wide area network)
typisch für die Vernetzung von LANs und WANs: Internetheterogenes System: verschiedene Rechner/Betriebssysteme
Problem
Skalierbarbeit, Echtzeitfähigkeit
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 10 / 24
B | VII-3 Postskriptum 1 Netzbetrieb 1.3 Rechnernetze
Feldbus (engl. field bus)
CAN (engl. control area network)
typisch für die Vernetzung elektronisch gesteuerter Maschinen
Netzknoten sind Steuergeräte (engl. electronic control units, ECU)
je nach Anwendungsfall ein heterogenes System, z.B. KFZ
(Quelle: Bosch — Antriebsstrangnetz, Motorsteuerungsgerät und -anschlüsse)
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 11 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb
Gliederung
1 NetzbetriebOffene SystemeVerteiltes SystemRechnernetze
2 IntegrationsbetriebEingebettete SystemeDrahtlose Sensornetze
3 Zusammenfassung
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 12 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb 2.1 Eingebettete Systeme
Spezialbetriebssystem(engl. special purpose operating system)
Betriebssystem und Anwendungsprogramm(e) sind mit- bzw. ineinanderverwoben, sie bilden eine (in sich geschlossene) Einheit:
im Sinne der Funktionalität (obligatorisch)
das Betriebssystem ist maßgeschneidert und anwendungsgewahr
im Sinne der Repräsentation (optional)
das Betriebssystem liegt in Form einer (Quelltext-) Bibliothek vor
Eingebettetes System (engl. embedded system)
Jedes in einem Produkt versteckte Rechensystem, wobei dasProdukt selbst jedoch kein Rechner ist: Kühlschrank, Mikrowelle,Kochplatte, Backofen, Esse, Wasserkocher, Waschmaschine, . . .
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 13 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb 2.1 Eingebettete Systeme
Wenn Kompromisslösungen impraktikabel sind
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 14 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb 2.1 Eingebettete Systeme
Verteiltes System auf Rädern
(Quelle: DaimlerChrysler [3])
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 15 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb 2.1 Eingebettete Systeme
Y2K Prozessorproduktion
”Where have all the processors gone?“
MPU eMPU DSP MCU
Ein
he
ite
n (
x 1
0^3
)
Prozessoren
150000 281300600000
7257000
4-Bit 8-Bit 16-Bit 32-Bit
Ein
he
ite
n (
x 1
0^3
)
MCU
1680000
4770000
764000
43000
über 8 Mrd. Prozessoren [8]
1.8 % (MPU) Server, Desk-/Laptops, . . .98.2 % (eMPU, DSP, MCU) eingebettete Systeme
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 16 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb 2.2 Drahtlose Sensornetze
”Intelligenter Staub“ (engl. smart dust)
µController von Sand-/Staubkorngröße, die über Radiofrequenztechnikmiteinander kommunizieren [2]:
jeder einzelne Kleinstrechner bildet einen kubischen Sensor (mote)
u. A. gedacht zur Überwachung menschenfeindlicher Umgebungen
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 17 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb 2.2 Drahtlose Sensornetze
Sensorknoten: Referenzarchitektur und Technologie
3
> 10 cm3
< 100 MIPS
< 10 Mbps
< 32 MB Flash> 10 cm3 < 512 KB RAM
< 4 KB RAM< 100 KB Flash< 5 MIPS
< 50 Kbps
< 10 KB RAM< 500 KB Flash< 10 MIPS
< 100 Kbps
< 128 KB RAM< 10 MB Flash< 50 MIPS
< 500 Kbps
< 1 mm3
< 10 cm3
< 10 cm
> 512 KB RAM
> 100 MIPS
> 10 Mbps
> 32 MB Flash
high−bandwidth sensors
generic sensors
gateway nodes
host computers
special−purpose sensors
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 18 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb 2.2 Drahtlose Sensornetze
”Welt am Draht“
[verteiltes] grid[durchdringendes] pervasive[allgegenwärtiges] ubiquitous
computing =⇒ ambient intelligence
nahezu jedes”Gerät“ ist mit Kleinstrechnern (Sensoren, Aktoren)
bestückt, die die unbegrenzte globale Vernetzung ermöglichen
die Gerätenetze sind so in die Umgebung eingebettet, dass ihreKonnektivität jederzeit verfügbar und höchst unaufdringlich ist
Fiktion? Ja, noch . . .
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 19 / 24
B | VII-3 Postskriptum 2 Integrationsbetrieb 2.2 Drahtlose Sensornetze
Einbettbare Betriebssysteme
”Kleinvieh macht Mist“
{BlueCat, HardHat} Linux, Embedix, Windows {CE, NT Embedded}, . . .
Problem
Skalierbarkeit, Betriebsmittelbedarf (insb. RAM und Energie)
. . . , BOSS, C{51, 166, 251}, CMX RTOS, C-Smart/Raven, eCos, eRTOS,Embos, Ercos, Euros Plus, Hi Ross, Hynet-OS, ITRON, LynxOS,MicroX/OS-II, Nucleus, OS-9, OSE, OSEK {Flex, Plus, Turbo, time},Precise/{MQX, RTCS}, proOSEK, pSOS, PURE, PXROS, QNX, Realos,RTMOSxx, Real Time Architect, RTA, RTOS-UH, RTX{51, 166, 251},RTXC, Softune, SSXS RTOS, ThreadX, TinyOS, VRTX, VxWorks, . . .
Der Anteil proprietärer Lösungen liegt bei über 50% [9]
in vielen Fällen wird das Rad neu erfunden. . .
Softwaretechnik ; Wiederverwendbarkeit und Variantenverwaltung
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 20 / 24
B | VII-3 Postskriptum 3 Zusammenfassung
Gliederung
1 NetzbetriebOffene SystemeVerteiltes SystemRechnernetze
2 IntegrationsbetriebEingebettete SystemeDrahtlose Sensornetze
3 Zusammenfassung
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 21 / 24
B | VII-3 Postskriptum 3 Zusammenfassung
Resümee
Netzbetrieb räumlich voneinander getrennte Rechensysteme
Interoperation wird erreicht durch offene Schnittstellen/SpezifikationenRechnernetz und Dienst-/Funktionsverteilung sind
”transparent“
ferne Betriebsmittel werden über lokale Repräsentanten virtualisiert
Integrationsbetrieb (tiefst) eingebetteter RechensystemeBetriebssystem und Anwendungsprogramm bilden eine Einheit
bzgl. Funktionalität (obligatorisch) und Repräsentation (optional)
Spezialbetriebssysteme für echtzeitabhängige Anwendungsprogramme
Over the past 40 years, computer science have addressed onlyabout 2 % of the world’s computing requirements. It’s time toget physical, get real, and get out to build proactivea systems. [8]
a[pro·ac·tive] Acting in advance to deal with an expected difficulty; anticipatory
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 22 / 24
B | VII-3 Postskriptum 3 Zusammenfassung 3.1 Bibliographie
Literaturverzeichnis
[1] Bal, H. E.:Programming Distributed Systems.Prentice Hall International, 1991. –ISBN 0–13–722083–9
[2] Culler, D. E. ; Hong, W. :Wireless Sensor Networks — Introduction.In: Communications of the ACM 47 (2004), Jun., Nr. 6, S. 30–33
[3] DaimlerChrysler AG:Der neue Maybach.In: ATZ/MTZ Sonderheft (2002), Sept., S. 125
[4] Lamport, L. :distribution.http://research.microsoft.com/en-us/um/people/lamport/pubs/distributed-system.tx
Mai 1987
[5] Nelson, B. J.:Remote Procedure Call.Pittsburg, PA, USA, Department of Comupter Science, Carnegie-Mellon University, Diss.,Mai 1981
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 23 / 24
B | VII-3 Postskriptum 3 Zusammenfassung 3.1 Bibliographie
Literaturverzeichnis (Forts.)
[6] Tanenbaum, A. S. ; van Renesse, R. :Distributed Operating Systems.In: ACM Computing Surveys 17 (1985), Dez., Nr. 4, S. 419–470
[7] Tanenbaum, A. S. ; van Steen, M. :Distributed Systems: Principles and Paradigms.Prentice Hall, 2002. –ISBN 0–130–88893–1
[8] Tennenhouse, D. :Proactive Computing.In: Communications of the ACM 43 (2000), Mai, Nr. 5, S. 43–50
[9] Walls, C. :The Perfect RTOS.In: Proceedings of the embedded world 2004, 17.–19. Februar 2004, Nürnberg, 2004
c©wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS2011/12 24 / 24