Betriebssysteme

Betriebssysteme

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 •First •Prev •Next •Last •Full Screen •Quit Organisatorisches + Vorlesung mit Ubungen¨ Betriebssysteme WWI17B2 jeweils Montags (einzelne Termine) in A369 + http://knopper.net/bs/ (spater¨ moodle) •First •Prev •Next •Last Folie 1 •Full Screen •Quit 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.¨ •First •Prev •Next •Last Folie 2 •Full Screen •Quit 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. •First •Prev •Next •Last Folie 3 •Full Screen •Quit 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. •First •Prev •Next •Last Folie 4 •Full Screen •Quit 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. •First •Prev •Next •Last Folie 5 •Full Screen •Quit Wann braucht man (k)ein Betriebssystem? * Beispiel 2 Motorsteuerung 3D Drucker“, ebenfalls mit Mikrocon- ” troller (Demo) •First •Prev •Next •Last Folie 6 •Full Screen •Quit 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.¨ •First •Prev •Next •Last Folie 7 •Full Screen •Quit Warum ausgerechnet Linux als Lern-OS? µ Funktionsweise und Interna“ gut dokumentiert, ” µ technische Konzepte auch auf andere Betriebssysteme ubertragbar,¨ µ Open Source (Folie + 39 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 (+ [24]), •First •Prev •Next •Last Folie 8 •Full Screen •Quit 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. •First •Prev •Next •Last Folie 9 •Full Screen •Quit 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. •First •Prev •Next •Last Folie 10 •Full Screen •Quit 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. •First •Prev •Next •Last Folie 11 •Full Screen •Quit 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. •First •Prev •Next •Last Folie 12 •Full Screen •Quit Unix-Stammbaum* •First •Prev •Next •Last Folie 13 •Full Screen •Quit 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, ... •First •Prev •Next •Last Folie 14 •Full Screen •Quit 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).¨ •First •Prev •Next •Last Folie 15 •Full Screen •Quit Beispiel Haushaltsroboter Autonomer Staubsauger •First •Prev •Next •Last Folie 16 •Full Screen •Quit 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 •First •Prev •Next •Last Folie 17 •Full Screen •Quit 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.¨ •First •Prev •Next •Last Folie 18 •Full Screen •Quit 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 ... •First •Prev •Next •Last Folie 19 •Full Screen •Quit Technik: Aufbau und Eigenschaften von Linux * Linux-Architektur •First •Prev •Next •Last Folie 20 •Full Screen •Quit Vereinfachtes Schema Applications System services (daemons) Libraries Kernel (static) + Modules Hardware •First •Prev •Next •Last Folie 21 •Full Screen •Quit 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,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    163 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