Betriebsarten: Postskriptum Wolfgang Schr¨oder-Preikschat · 2011. 10. 18. ·...

24
Systemprogrammierung Betriebsarten: Postskriptum Wolfgang Schr ¨ oder-Preikschat Lehrstuhl Informatik 4 Erg ¨ anzende Materialien c wosch (Lehrstuhl Informatik 4) Systemprogrammierung SP # WS 2011/12 1 / 24

Transcript of Betriebsarten: Postskriptum Wolfgang Schr¨oder-Preikschat · 2011. 10. 18. ·...

  • 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