2015W OS08 Mobile and IoT

Werbung
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
Herunterladen