Betriebssysteme Winter2015 THE END Peter Sturm THE END (FAST) Peter Sturm (c)PeterSturm,UniversitätTrier 1 Betriebssysteme Winter2015 RÜCKBLICK • Architekturen • Virtuelle Maschinen • Synchronisation • Dateisysteme ARCHITEKTUR • Mikrokern vs. Monolith • Virtuelle Maschinen • Virtualisierung wird Normalfall • Software-isolierte Prozesse • Browser-OS (c)PeterSturm,UniversitätTrier 2 Betriebssysteme Winter2015 SYNCHRONISATION: FEIN BIS GROB • Mikro • Parallele Schleifen • Meso • Futures, Promises, Tasks • Makro • Threads • Anwendungen THE BIG PICTURE Nasa (c)PeterSturm,UniversitätTrier 3 Betriebssysteme Winter2015 TRENDS • Beschreiben statt Programmieren • Mehr Ein- und Ausgabe • Mobile Geräte • Embedded • Ubiquituous Computing • Internet of Things • The Cloud BISHER: 99% PROGRAMMIEREN • Feste APIs • System-Call-Schnittstelle zum Kernel • Bibliotheksfunktionen • Eventuell proprietäre Konfiguration • Nativ oder interpretiert Anwendung • Nachteil • Starre Struktur • Eingeschränkte Parametrisierbarkeit • Argumente • Tunnelfunktionen (ioctl) • Programmierer (c)PeterSturm,UniversitätTrier Bibliotheken System Calls OS Kernel Hardware 4 Betriebssysteme Winter2015 ZUKÜNFTIG: 99% BESCHREIBEN • Massives Weiten der APIs • XML-Dokumente beschreiben verschiedenste Anwendungs-, Laufzeit- und Systemeigenschaften • XML wird DIE kommunizierte Syntax • Vorteil Anwendung • Vielfältige Einflußmöglichkeiten • Keine Programmierkenntnisse • Ein Standard ⇒ Synergie Bibliotheken • Nachteil • Überschaubarkeit gewährleisten • Höhere Anforderungen an Entwickler OS Kernel Hardware #XML FILES 14000 12315 12000 10000 9176 8230 8000 6000 4000 2000 244 0 XPSP2+.NET 2.0 (c)PeterSturm,UniversitätTrier XPSP2+.NET 2.0+Apps Vista (Build5536) Vista (Build5600) 5 Betriebssysteme Winter2015 #SUFFIXES FOR XML FILES 6934 out of 12315 files are Manifests! 160 136 140 6842 out of 9176 files are Manifests! 120 100 108 80 66 60 40 18 20 0 XPSP2+.NET 2.0 XPSP2+.NET 2.0+Apps Vista (Build5536) Vista (Build5600) EIN- UND AUSGABE • Neue Technologien • Berühren • Touch und Multi-Touch • Bewegen • Beschleunigungssensoren • Je kleiner, je wichtiger! (c)PeterSturm,UniversitätTrier 6 Betriebssysteme Winter2015 Berühren HISTORISCHES • 1982 • Universität von Toronto entwickelt ersten Prototyp • Bell Labs erforschen diese Eingabetechnik (Paper) • 1991 • Pierre Wellner, “Digital Desk”, XEROX • 1999 • Fingerworks entwickelt erste Keyboards und Pads • 2005 • Apple kauft Fingerworks (c)PeterSturm,UniversitätTrier 7 Betriebssysteme Winter2015 TECHNISCHES R3 • Widerstand • Spannungsteiler • Kapazität • Exotisch R1 R2 • Kriterien • • • • R4 • Ultraschall Single-Touch oder Multi-Touch Finger und/oder Stylus Anfälligkeit gegen Schmutz Genauigkeit (Positionierung, Druck) GESTEN (c)PeterSturm,UniversitätTrier 8 Betriebssysteme Winter2015 GESTEN • Virtuelle Tastatur • Direkter Objektbezug • Dieses Dokument, dieses Bild, … • Navigation • Umblättern, … • Vergrößern und Verkleinern • Editieren • Anwendungsspezifische Gesten • Bildverarbeitung, 3D-Editoren • Steuerung MICROSOFT SURFACE (c)PeterSturm,UniversitätTrier 9 Betriebssysteme Winter2015 APPLE • Kapazitiver Ansatz • Gesten • Taps (Multi) • Wischen (Scrollen) • Drehen • Vergrößern, Verkleinern • … • Auch bei Notebooks • Wird schnell unverzichtbar TREND! Monitor Touchpad = Tastatur und Maus (c)PeterSturm,UniversitätTrier 10 Betriebssysteme Winter2015 TREND? REACTABLE • Elektronisches Musikinstrument • Tabletop • Multitouch • Kollaborativ • Sergi Jordà, Martin Kaltenbrunner, Günter Geiger undMarcos Alonso • Universitat Pompeu Fabra, Barcelona (c)PeterSturm,UniversitätTrier 11 Betriebssysteme Winter2015 GORILLA ARM wikimedia.org (c)PeterSturm,UniversitätTrier 12 Betriebssysteme Winter2015 TECHNISCHES • Mikromechanik • 3 orthogonale Achsen • Beschleunigung drückt Feder auf Piezowiderstand • Auch andere Ansätze POTENTIAL • Zusätzliche Gesten • MP3-Player: Zufallsauswahl nächster Track durch Schütteln • Digitalkamera: Auskippen = Bilder übertragen • Stereoanlage: Lautstärke • Ausrichtung erkennen • Computer • Notebook: Festplattenkopf beim Fall parken • Desktop: Reset J • Spiele • Wii • App Store Apple • Ernsthafte Anwendungen (c)PeterSturm,UniversitätTrier 13 Betriebssysteme Winter2015 BEISPIELE • Labyrinth • Star Wars Lichtschwert • In fast jedem Spiel?! SEISMAC • Daniel Criscom • Erdbebenfrühwarsystem (P2P), gefördert u.a. durch NSF (c)PeterSturm,UniversitätTrier 14 Betriebssysteme Winter2015 SYNERGIE • Kombinationen aus Berührung und Bewegung • “Mein Ohr startet keine 10 Anwendungen während ich mit einem Smartphone telefoniere” • Kontextbezug • Räumlich (z.B. über GPS, Hotspot oder Basisstation) • Zeitlich • Sozial • Maßgeschneidertes “User Interface” BEDEUTUNG • Gestik auf Systemsoftware-Ebene • Grenzen verschwimmen • Direkte Interaktion mit realen und virtuellen Objekten • Immersion • Intuitive Nutzung • Patentierbarkeit von Gesten (?) • Anwendungsübergreifend (c)PeterSturm,UniversitätTrier 15 Betriebssysteme Winter2015 SMARTPHONE? + PDA = Kalender, Adreßbuch, Uhr, Taschenrechner, Email, … Phone = Telefonieren, Fax, … HISTORISCHES • Simon, IBM (1992) • Bereits Touchscreen • Communicator, Nokia (1996) • Windows CE basierte Systeme (2001) • Palm, Handspring (2002) • BlackBerry, RIM (2002) • iPhone, Apple (2007) • Android, Google (2008) (c)PeterSturm,UniversitätTrier 16 Betriebssysteme Winter2015 WAS IST ANDERS? BESCHRÄNKUNGEN • Stromsparende Prozessoren • Niedrige Taktfrequenz • Funktionale Einschränkungen • Wenig Hauptspeicher • Deutlich unterhalb 2 GByte • Limitierte Ein- und Ausgabe • Stark begrenzte Stromversorgung (c)PeterSturm,UniversitätTrier 17 Betriebssysteme Winter2015 VERGLEICH 12 10 8 iPhone 4S 6 Galaxy Nexus Desktop 4 2 0 Prozessor (Ghz) Hauptspeicher (GB) Disk/Flash (100 GB) NUTZERWÜNSCHE • Lange Standby-, Gesprächs- und Nutzungszeiten • Geringe Abmessungen • Schnelle Reaktion • Flüssige Darstellung multimedialer Inhalte • Audio und Video • Schicke Spiele • Sinnvolle Business-Anwendungen • Beschaffung über Arbeitgeber (?) (c)PeterSturm,UniversitätTrier 18 Betriebssysteme Winter2015 KONSEQUENZEN • Geringer Speicherplatzbedarf • Kein unnötiger OS-Programmcode • Optimiertes Energie-Management • Ausschalten unbenötigter Hardware • “Ausschalten” unbenötigter Software • Koordination heterogener Multiprozessorsysteme • Limitierte Programmierschnittstellen • Weglassen “unwichtiger” Funktionen • Standardisierung eines Mindestumfangs MARKTANTEILE 60 Microsoft 50 Google 40 Apple 30 Symbian 20 RIM Apple Google 10 0 Jahr 2008 Jahr 2009 (c)PeterSturm,UniversitätTrier RIM Symbian Microsoft Quelle: Gartner Y-Achse: Marktanteil in Prozent 19 Betriebssysteme Winter2015 Die Kontrahenten AUFBAU • Maßgeschneiderter OS-Kern • Proprietäre Lösung • Linux Anwendungen • Windows-Varianten • iOS Framework • Framework • Java Kernel • .NET • Widget-Sätze • Browser-Ansatz (c)PeterSturm,UniversitätTrier Hardware 20 Betriebssysteme Winter2015 BLACKBERRY • Research in Motion, RIM • Geschlossenes System • Eigenes Betriebssystem • Eigene Hardware • Kommerzieller Fokus • Erster Email-Push-Client • Zugang zu ERP-Informationen • Hoher Schutz SYMBIAN • Englisches Software-Unternehmen • Lizensiert Symbian OS • 1998 gegründet von • Ericsson, Motorola, Nokia, Psion • Panasonic, Siemens, Sony Ericsson, Samsung (später dazu gekommen) • 2008 von Nokia übernommen • Seit 2009 Symbian Foundation Community • Open Software (c)PeterSturm,UniversitätTrier 21 Betriebssysteme Winter2015 WINDOWS PHONE • Echtzeit-Betriebssystem Windows CE 6.0 • Nutzbar für harte Echtzeit-Anwendungen • 32 Bit OS • Konfigurierte Versionen • Platform Builder • Windows Mobile 6.5 • Umbenennung in Windows Phone ( = Embedded CE 7) • Anreize für App Entwickler ANDROID • Googles Smartphone Ansatz • Maximal viel Vorhandenes wiederverwenden • Offener Ansatz über Open Handset Alliance (OHA) • 71 Mitglieder aktuell Managers (Location, Notification, Telephony, …) Application Framework Dalvik Virtual Machine SSL, Open GL / ES, WebKit, Media Android Runtime Dienste Linux Kernel (Version 2.6) (c)PeterSturm,UniversitätTrier 22 Betriebssysteme Winter2015 IPHONE OS Anwendungen Cocoa Touch • Spezialisierung des Desktop-OS Media Services • Mach-Kernel Core Services • Konvergenz Fernziel? Mac OS Personality Mach Kernel Hi! I’m an iPhone! And I’m a smartphone. OS Miniaturisierung (c)PeterSturm,UniversitätTrier 23 Betriebssysteme Winter2015 ANSÄTZE • Konfigurierbarkeit / Maßschneiderung • Zuschnitt auf konkrete Hardware • Plattform-Proliferation • Einigung auf einen offenen Standard • Verschiedene Profile • Festlegung eines geschlossenen Standards • Eventuell auch verschiedene Profile (c)PeterSturm,UniversitätTrier 24 Betriebssysteme Winter2015 SYMBIAN PROFILE • DFRDs = Device Family Reference Designs • Quartz • PDA • Crystal • “Communicator” mit Tastatur • Pearl • Telefon mit numerischer Tastatur MOBILES JAVA • Weit verbreiteter Standard • Blackberry • Symbian • Android • … • Grundlage Java Micro Edition • Beschränkung auf kleine / kleinste Geräte • Geräteklassen durch Profile definieren (MIDP) (c)PeterSturm,UniversitätTrier 25 Betriebssysteme Winter2015 MIDP • Mobile Information Device Profile • Profil der Java Micro Edition • Eingeschränkte UI-Programmierung • Einfaches Datenbanksystem (RMS) • MIDP-Anwendung = MIDlet • Spezielle Unterstützung für Mobilgeräte • Ansteuerung von Einhandtastaturen • Kleinbildschirm • Kleine Speicher (flüchtig und nicht-flüchtig) • Sandboxmodell MIDP 2.0 • Minimalanforderungen • Displayauflösung 96x54 Pixel • 384 KByte Arbeitsspeicher • Internetverbindung • Zusätzlicher Funktionsumfang • • • • • • Sound abspielen (WAV, MP3, …) Video-Streaming Spiele (Sprites, …) HTTPS Push-Modell (Server aktiviert MIDlets) OTA-Provisioning (c)PeterSturm,UniversitätTrier 26 Betriebssysteme Winter2015 ANDROID • Open Handset Alliance definiert API Levels • Höhere Levels kompatibel mit früheren Versionen Anwendungsentwicklung (c)PeterSturm,UniversitätTrier 27 Betriebssysteme Winter2015 VIRTUALISIERUNGSGRAD • Native Anwendung • Auf jeder Plattform vorhanden • Anwendung für eine virtuelle Maschine • Eigentlich nur .NET und Java • Browser-Anwendung • HTML / CSS und JavaScript (oder Silverlight) VIELE STANDARDS: EIN BEISPIEL Reine Java MIDP Anwendungen OEM spezifische Java Anwendungen OEM Specific MIDP Java APIs Java 2 Micro Edition Java 2 Micro Edition Native Anwendungen Services und Daten Symbian OS Hardware (c)PeterSturm,UniversitätTrier 28 Betriebssysteme Winter2015 NATIV COCOA TOUCH • Nicht wirklich unbekannt für Mac OS X Entwickler • Identische IDE • Xcode • Interface Builder (spezielle Widgets) • Objective C • Ältester genutzter objektorientierter C-Dialekt • Gewöhnungsbedürftig • Erst seit iOS5 Version 2 (Managed) auf mobilen Geräten (c)PeterSturm,UniversitätTrier 29 Betriebssysteme Winter2015 VIRTUELLE MASCHINE (c)PeterSturm,UniversitätTrier 30 Betriebssysteme Winter2015 • RIM, Symbian, Android, … • Klassische Java-Entwicklung • Eclipse, NetBeans o.ä. • Einschränkungen durch MIDP bzw. API Levels Marko Gargenta / Marakana • Meist zusätzlich eigene Widgets und SDKs (c)PeterSturm,UniversitätTrier 31 Betriebssysteme Winter2015 .NET • Offizielle Unterstützung auf Microsoft-Plattformen • “Inoffizielle” Unterstützung mittels Mono • Mono Touch für iPhone • Mono für Android (MonoDroid) • Entwicklungsumgebungen • Visual Studio • MonoDevelop • Ähnlich Visual Studio WINDOWS PHONE 7 • Unterstützung für Silverlight und XNA • Expression Blend 3.x / VS2010 • XNA Gamestudio 3.1 • Volles DirectX 11 • Kein Multi-Tasking (mal abgesehen von Push Notification) • Zune Software für multimediale Inhalte (c)PeterSturm,UniversitätTrier 32 Betriebssysteme Winter2015 WINDOWS PHONE 8 • Basiert auf dem „Windows NT“-Kernel • Metro oder Modern UI • Windows on ARM (Windows RT) (c)PeterSturm,UniversitätTrier 33 Betriebssysteme Winter2015 IM BROWSER SILVERLIGHT WWW Server HTML + Silverlight • Client-basierter Ansatz WWW Browser Silverlight Plugin • Programmausführung im Client-Browser • Einbettung in HTML-Seite • <object>-Tag • Setzt Silverlight-Plugin im Browser voraus • Gibt es sogar für Mac OS X J (c)PeterSturm,UniversitätTrier 34 Betriebssysteme Winter2015 HTML / CSS / JAVASCRIPT WWW Server HTML + JavaScript WWW Browser • In jedem Browser möglich • Sandbox-Ansatz HTML5 / CSS3 / JAVASCRIPT • “Der” Standard • HTLM5 • Mehr Elemente für Dokumentstruktur und –navigation • Direkt Audio und Video • Wesentliche Teile unterstützen heutige Browser • CSS3 • Legt visuelle Umsetzung fest • JavaScript • Plattform-übergreifender Code auf Client-Seite (c)PeterSturm,UniversitätTrier 35 Betriebssysteme Winter2015 EINBETTUNG IN NATIVE ANWENDUNG WWW Server HTML + JavaScript WebView Client • “Out of Browser”-Ausführung • “Look and Feel” der Zielplattform erreichbar • Navigation • Rahmenstrukturen • Einfache Umwandlung Quelle: http://anewmetaphor.blogspot.com • PhoneGap / Cordova App Stores (c)PeterSturm,UniversitätTrier 36 Betriebssysteme Winter2015 MEHRWERTE • Alle Smartphones funktionieren • Herausstellungsmerkmale • Optik / Haptik • Freie Programmierbarkeit • Business-Anforderungen • Dedizierte Marktplätze • Alles aus einer Hand OHNE WORTE (c)PeterSturm,UniversitätTrier 37 Betriebssysteme Winter2015 NOKIA OVI BLACKBERRY APP WORLD (c)PeterSturm,UniversitätTrier 38 Betriebssysteme Winter2015 ANDROID MARKET WINDOWS PHONE MARKETPLACE (c)PeterSturm,UniversitätTrier 39 Betriebssysteme Winter2015 ITUNES APPSTORE WEGWERF-SOFTWARE • Kaufen, Benutzen, Wegwerfen • Anwendungen für besondere Ereignisse (z.B. WM 2010) • Vergleichbar einem Artikel in Zeitung / Magazin • Frameworks für schnelle Erstellung • Neue gewollte und ungewollte Metaphern • Apps im Vorübergehen • Apps zum mitnehmen • App Spamming (c)PeterSturm,UniversitätTrier 40 Betriebssysteme Winter2015 UBICOMP Dr. John R. Gold (http://agrilife.org/gold) (c)PeterSturm,UniversitätTrier 41 Betriebssysteme Winter2015 Dr. John R. Gold (http://agrilife.org/gold) (c)PeterSturm,UniversitätTrier 42 Betriebssysteme Winter2015 ARDUINO UNO ARDUINO MEGA (c)PeterSturm,UniversitätTrier 43 Betriebssysteme Winter2015 GRUSELKABINETT 3.11.2013 (c)PeterSturm,UniversitätTrier 44 Betriebssysteme (c)PeterSturm,UniversitätTrier Winter2015 45 Betriebssysteme Winter2015 http://www.wired.com/design/2012/12/raspberry-pi-roundup/ http://letsmakerobots.com (c)PeterSturm,UniversitätTrier 46 Betriebssysteme Winter2015 SUPERCOMPUTER 64 Knoten, Universität Southampton http://goo.gl/HY5XMx (c)PeterSturm,UniversitätTrier 47 Betriebssysteme (c)PeterSturm,UniversitätTrier Winter2015 48 Betriebssysteme Winter2015 PEBBLE (c)PeterSturm,UniversitätTrier 49 Winter2015 http://goo.gl/0OzXsz Betriebssysteme (c)PeterSturm,UniversitätTrier 50 Betriebssysteme Winter2015 HYPE?! INTEL (c)PeterSturm,UniversitätTrier 51 Betriebssysteme (c)PeterSturm,UniversitätTrier Winter2015 52 Betriebssysteme Winter2015 UDOO (KICKSTARTER) PROGRAMMIERUNG • Verschiedene Lager • C/C++ • Arduino und Co., Raspberry Pi • Python, Skratch • Raspberry Pi • C# (.NET Micro Framework) • Netduino • JavaScript (c)PeterSturm,UniversitätTrier 53 Betriebssysteme (c)PeterSturm,UniversitätTrier Winter2015 54 Betriebssysteme Winter2015 .NET MICRO FRAMEWORK • Version 4.3 (Dezember 2012) • Kleine CLR für C# und VB.NET • Teilmenge von .NET • ca. 70 Klassen mit 420 Methoden • Apache License, Version 2.0 • SDK inkl. Source Code • Visual Studio Integration • Debugging ESPRUINO (KICKSTARTER) JavaScript (c)PeterSturm,UniversitätTrier 55 Betriebssysteme Winter2015 INTERNET DER DINGE (c)PeterSturm,UniversitätTrier 56 Betriebssysteme Winter2015 DEUTLICHES MOMENT • Hohes Innovationspotential • Viel Pioniergeist • Nerds • Schulen • Hardware-Hersteller (c)PeterSturm,UniversitätTrier 57 Betriebssysteme Winter2015 1% EINSPARUNG (CISCO) Industrie Segment Art Ersparnis (15J) Flugverkehr Kommerziell -1% Treibstoff $30 Milliarden Energie Gastherme -1% Gas $ 66 Milliarden Gesundheit Gesamtbereich -1% Ineffizienz $63 Milliarden Schiene Fracht -1% Ineffizienz $27 Milliarden Öl/Gas Erschließung -1% Kosten $90 Milliarden http://goo.gl/8QNXIj DEVICE CLOUDS REST (c)PeterSturm,UniversitätTrier 58 Betriebssysteme Winter2015 IFTTT (c)PeterSturm,UniversitätTrier 59 Betriebssysteme Winter2015 ARDUINO YÚN OpenWRT Linux TCP/IP Stack Arduino NOCH MEHR DATEN (c)PeterSturm,UniversitätTrier 60 Betriebssysteme (c)PeterSturm,UniversitätTrier Winter2015 61