Vorlesung-Print.Pdf

Vorlesung-Print.Pdf

1 Betriebssysteme Prof. Dipl.-Ing. Klaus Knopper (C) 2019 <[email protected]> Live GNU/Linux System Schwarz: Transparent,KNOPPIX CD−Hintergrundfarbe (silber) bei Zweifarbdruck, sonst schwarz. Vorlesung an der DHBW Karlsruhe im Sommersemester 2019 Organisatorisches + Vorlesung mit Ubungen¨ Betriebssysteme WWI17B2 jeweils Montags (einzelne Termine) in A369 + http://knopper.net/bs/ (spater¨ moodle) Folie 1 Kursziel µ Grundsatzlichen¨ Aufbau von Betriebssystemen in Theorie und Praxis kennen und verstehen, µ grundlegende Konzepte von Multitasking, Multiuser-Betrieb und Hardware-Unterstutzung¨ / Resource-Sharing erklaren¨ konnen,¨ µ Sicherheitsfragen und Risiken des Ubiquitous und Mobile Computing auf Betriebssystemebene analysieren, µ mit heterogenen Betriebssystemumgebungen und Virtua- lisierung arbeiten, Kompatibilitatsprobleme¨ erkennen und losen.¨ Folie 2 0 Themen (Top-Down) + Ubersicht¨ Betriebssysteme und Anwendungen, Unterschiede in Aufbau und Einsatz, Lizenzen, Distributionen, + GNU/Linux als OSS-Lernsystem fur¨ die Vorlesung, Tracing und Analyse des Bootvorgangs, + User Interface(s), + Dateisystem: VFS, reale Implementierungen, + Multitasking: Scheduler, Interrupts, Speicherverwaltung (VM), Prozessverwaltung (Timesharing), + Multiuser: Benutzerverwaltung, Rechtesystem, + Hardware-Unterstutzung:¨ Kernel und Module vs. Treiber“ - Kon- ” zept, + Kompatibilitat,¨ API-Emulation, Virtualisierung, Softwareentwick- lung. + Sicherheits-Aspekte von Betriebssystemen, Schadsoftware“ und ” forensische Analyse bei Kompromittierung oder Datenverlust. Folie 3 Zur Benutzung der Folien µ Foliensatze¨ werden nach Bedarf erstellt, und konnen¨ sich bis zum Ende der Veranstaltung noch andern.¨ Daher bitte Vorsicht beim Ausdrucken. µ Verweise auf Handouts oder sinnvolle + Sekundarlitera-¨ tur sind entsprechend gekennzeichnet und i.d.R. direkt anklickbar. µ Prufungsrelevant¨ sind grundsatzlich¨ alle in der Vorlesung behandelten Themen. Folie 4 Wann braucht man (k)ein Betriebssystem? * Beispiel 1 Hut mit Augen : Teensy“ Mikrocontroller (Nano-+ ” ” ” Arduino-Board), 2 TFT-Displays, Stromversorgung, C-Programm (Sketch) Ein auf dem Microcontroller standig¨ laufendes Programm steuert (ohne Betriebssystem) zwei TFT-Displays an. Folie 5 1 Wann braucht man (k)ein Betriebssystem? * Beispiel 2 Motorsteuerung 3D Drucker“, ebenfalls mit Mikrocon- ” troller (Demo) Folie 6 Kombination: Steuerung eines 3D-Druckers 3D Printer Octoprint Server Wifi Raspberry Pi STL−Files Commands USB User−Interface Status Info Statistics Arduino Controller GCODE + Octoprint kommuniziert mit dem Drucker uber¨ primitive + G-CODE Steuerbefehle, bietet dem Benutzer aber uber¨ einen unter Linux/Raspi laufenden Webserver eine komfortable Ober- flache.¨ Folie 7 Warum ausgerechnet Linux als Lern-OS? µ Funktionsweise und Interna“ gut dokumentiert, ” µ technische Konzepte auch auf andere Betriebssysteme ubertragbar,¨ µ Open Source (Folie + 13 ff.): ë Bauplan / Quelltext aller essentiellen Komponenten ist offengelegt, ë kostenlose Nutzung, ë Kopie/Modifikation/Verbreitung erlaubt. µ Dominierendes Betriebssystem im Bereich Internet of Things (IoT) und Mobile Computing (+ [8]), Folie 8 2 Ein wenig Geschichte (1) um 1970: Ken Thompson (Bell Labs): Betriebssystem fur¨ Großrechner + MULTICS, nach dessen Scheitern Entwicklung von + Unix Ende der 70er: University of California in Berkeley (UCB): + Berkeley ” System Distribution“ (BSD), Ansatze¨ zur Netzwerkfahigkeit¨ und vir- tueller Speicher. 70er-80er: Wettbewerb zwischen den beiden Hauptderivaten (com- mercial) System V + Unix (AT&T-Zweig) und der freien Berkeley- Version BSD. (Mainframes) Ende 80er: + MS-DOS, + Windows, OS/2, div. andere proprietare¨ Be- triebssysteme fur¨ Einzelplatzrechner. Folie 9 Ein wenig Geschichte (2) 1984 Richard Stallman grundet¨ die + Free Software Foundation, eine Gesellschaft, die freie Software (mit offenen Quelltexten) fordert,¨ und mit Hilfe einer speziellen Lizenz, der GNU General Public Licen- se, die Offenheit und freie Verteilbarkeit der Software garantiert. Langfristiges Ziel ist es, ein Betriebssystem und eine Suite von An- wendungen zur Verfugung¨ zu stellen, die vollstandig¨ frei sind von proprietarem¨ oder nutzungslizenzpflichtigem Material. 1988: + POSIX 1003.1 wird verabschiedet, ein Standard, der die Min- destanforderungen der Unix-basierten Lager vereint. Fast alle mo- dernen Unices sind POSIX-konform. Folie 10 Ein wenig Geschichte (3) 1993 Der finnische Student Linus Torvalds schreibt eine virtuelle Spei- cherverwaltung fur¨ i386-basierte Rechner. Er entscheidet sich dafur,¨ den Quelltext seiner Arbeit zu veroffentlichen,¨ was eine zu- vor selten gekannte Kooperation zwischen Entwicklern uber¨ das Internet weltweit auslost¨ und schafft damit die Grundlage fur¨ das heute popularste¨ freie Unix-artige Betriebssystem + Linux fur¨ kostengunstige¨ Desktop-PCs und andere. Auf Anwendungsebe- ne wird die bereits fur¨ andere Unix-Systeme vorhandene GNU- Software portiert und verwendet, so dass nach kurzer Entwick- lungszeit ein vollstandiges¨ Set an Anwendersoftware inclusive Ent- wicklungsumgebungen zur Verfugung¨ steht. Folie 11 3 Ein wenig Geschichte (4) 1995- Das + Linux-Betriebssystem und auf Unix-Betriebssystemen ba- sierende Anwendungen wie SAMBA und Apache verbreiten sich vor allem als preisgunstige¨ Server-Systeme, zunachst¨ nur als Ge- heimtipp unter Technikern, heute als Mainstream-Software im re- gularen¨ Ersatz als File, Print- und Informationsserver sowie Gate- ways in heterogenen Netzwerkumgebungen. 1998-heute Neben dem zunehmenden Einsatz als Desktop/Client- System mit KDE oder GNOME halt¨ Linux auch Einzug als embed- ded Betriebssystem in Handhelds, Tablets, Kameras, MP3-Spielern und anderen Geraten¨ der Unterhaltungs- und Kommunikationsin- dustrie. Folie 12 Unix-Stammbaum* Folie 13 Nicht-PCs und embedded Systeme Durch seine Flexibilitat¨ und die freizugige¨ Lizenz ist GNU/Linux ei- ne beliebte Systemsoftware fur¨ neu entwickelte Hardware, wenn nicht sogar in vielen Fallen¨ die einzige Moglichkeit.¨ µ+ RaspberryPi, + Arduino Microboards, µ Netzwerkkomponenten: Accesspoints (+ OpenWRT), Ma- naged Switches, ... µ Unterhaltungselektronik: Receiver, SmartTVs, ... µ Steuerelektronik: autonome Fahrzeuge, Flugdrohnen, ... Folie 14 4 Beispiel RaspberryPi µ ARM-Architektur, Board kaum großer¨ als eine EC-Karte, µ Energiebedarf < 3W, Versorgung uber¨ USB, µ Netzwerk-, USB-, HDMI-, Composite-, Audio-Anschluss, SD- Karteneinschub fur¨ OS, µ Betriebssystem: Raspbian (Debian), BSD, Plan9, RiscOS, µ Anwendung als: Steuerungssystem, Streaming Server, Mul- timedia (+ XBMC), normaler Desktop-PC“ (mit gewissen ” Performance-Einschrankungen).¨ Folie 15 Beispiel Haushaltsroboter Autonomer Staubsauger Folie 16 Beispiel Flugdrohne Zur Steuerung der 4 Propeller eines + Quadrokopters und Anbindung an eine Steuerungs- konsole (Computer, Smartphone oder RC-Steuerung per Funk) wird eine leichtgewichtige“ ” Losung¨ benotigt,¨ die auf senso- risch erfasste Positionsverande-¨ rungen in + Echtzeit reagieren kann. Hierdurch wird das Gerat¨ auch ohne Interaktion stabil in der Luft positioniert und kann auf Anweisungen reagieren. Demo mit + AR.DRONE Folie 17 5 Eigenschaften von Unix + Unix in Wikipedia µ Mehrere Aufgaben gleichzeitig (Multitasking) µ Mehrbenutzerfahig¨ (Multiuser) µ Auf vielen Hardware-Plattformen lauffahig¨ (portabel) µ Effiziente, transparente Ausnutzung der Resourcen µ hierarchisches Dateisystem µ Stabilitat¨ durch eigenen Speicherbereich fur¨ jedes Programm (Virtual Memory, Speicherschutz) µ strikte Trennung zwischen Betriebssystem ( Kernel“, System- ” dienste) und Anwendersoftware (Desktop-, Server-Suiten) Auch andere Betriebssysteme haben diese Design-Vorgaben ubernommen,¨ in unterschiedlicher Auspragung.¨ Folie 18 Verschiedene Unix-Betriebssysteme Name/TM Hersteller + SunOS/Solaris Oracle (ehem. SUN Microsystems) + HPUX Hewlett Packard + Aix IBM + Sinix Siemens/Nixdorf + Ultrix/DEC Unix(OSF/1) Digital Equipment + Services for Unix“ (Interix) Microsoft ” + Mac OSX / iOS Apple + Berkeley Software Distribu- Community (Entwickler) tion (BSD) + Linux Community (Entwickler) + Android Google ... Folie 19 Technik: Aufbau und Eigenschaften von Linux * Linux-Architektur Folie 20 6 Vereinfachtes Schema Applications System services (daemons) Libraries Kernel (static) + Modules Hardware Folie 21 Einwurf: Die Softwarekrise µ Die Komplexitat¨ von Betriebssystemen und Anwendungen und damit auch die Anfalligkeit¨ f¨urFehler steigt standig,¨ gleichzeit ver- sprechen die Software-Anbieter, dass die Programme immer ein- ” facher“ bedienbar werden. µ Fruher:¨ Anwender, Programmierer, Systemadministrator in einer Person + Fahigkeit,¨ das System selbst zu kontrollieren und erwei- tern zu konnen,¨ Programem moglichst¨ effizient gestalten und nut- zen. µ Heute: Der Anwender mochte¨ sich mit der Technik nicht ausein- andersetzen, aber trotzdem alle Moglichkeiten¨ effizient nutzen. + Kontrolle uber¨ das System, Verantwortung fur¨ Wartung und Aktua- lisierung wird an den Softwarehersteller ubertragen.¨ µ Heute: Auch fur¨ Systemprogrammierer und Administratoren wird es immer schwieriger, die Ubersicht¨ zu behalten und die Software in jedem Detail zu verstehen, Fehler zu erkennen. Folie 22 Konsequenzen daraus? µ Verlust von Kontrolle und Verstandnis¨ f¨urtechnische Zusam- menhange¨ , fast bedingungsloses Vertrauen gegenuber¨ Hard- und Softwareherstellern, Missbrauchsmoglichkeiten¨ (+ Spionage, + Malware, Fernsteuerung / + Botnetze, + Identitatsdiebstahl¨ ). µ Schere zwischen + Geeks“ und + DAUs“ wird stetig ” ” großer?¨ µ Losungsans¨

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    56 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us