Wirtschaftsinformatik 04: Betriebssysteme Hochschule für Wirtschaft und Recht SS 16 WS 14/15 Dozent: R. Witte Computertechnik Vier Personen mit genau einer Taschenlampe wollen nachts eine Hängebrücke überqueren, die maximal 2 Personen trägt. Da es sehr dunkel ist, MUSS die Taschenlampe jedes Mal mitgeführt werden. Für die Überquerung benötigt jede Person eine andere Zeit. Gehen zwei Personen, bestimmt die Langsamere das Tempo. A: 5 min B: 10 min C: 20 min D: 25 min In welcher Reihenfolge müssen die Personen die Brücke überqueren, um nicht mehr als eine Stunde zu benötigen? Computertechnik Moore´s Law Komplexität integrierter Schaltkreise verdoppelt sich alle 18 Monate Gordon Moore, 1965 Geschichte von BS Start-Vorgang • Grundund Betriebsfunktionen bekannt ▫ ROM => BIOS BIOS • Software nutzt diese um BS zu laden lokalisation des BS/Filesystem ▫ HDD / CD-ROM / USB in RAM Lade Betriebsystem • Weitere benötigen BS StarteProgramme andere Software ▫ E-Mail / Textverarbeitung etc. • kleine BS können direkt im ROM sein • BS werden zum Verarbeiten in RAM geladen Geschichte von BS • 1940 – 50: Röhren und Steckbretter • kein BS • Aufgaben direkt in Maschinensprache • Umstecken von Kabeln, um Grundfunktionen zu programmieren • Keine Programmiersprachen Geschichte von BS • 1950 – 60: Transistoren und Stapelsysteme • Programme auf Lochkarten • Separates Einlesen • Durch Transistoren viel komplexere Berechnung und leistungsfähigere Rechner möglich • Trennung Designer – Operator – Wartung – Programmierer • Stapelsysteme um Wege zu sparen PDP-1 von DEC 1. Minicomputer 16 Zeilen / 64 Zeichen 1959 entwickelt Geschichte von BS • 1960 – 75: Integrierte Schaltkreise • OS/360 von IBM • Komplex aber universell • Multiprogramming • Speicher geteilt für verschiedene Jobs • Spooling • Simultaneous Peripheral Operation On Line • Jobs direkt in Warteschlange schreiben • Sharing • Einteilen von CPU-Zeit in Zeitscheiben 311164058381 SPOOLING Geschichte von BS • 1975 – heute: Computernetze und Personalcomputer • Globale Netze • Computer für jeden Haushalt • Betriebssysteme • MS-DOS • Windows XX • Unix/Linux Computertechnik Aufgaben von BS • Schnittstelle zwischen Mensch und Hardware ▫ ▫ ▫ ▫ ▫ Userinterface Befehle Antworten Intuition durch graph. Oberfläche API – Application Programming Interface Kommunikation nicht mehr in Maschinensprache Bsp: writeln(dateiNummer, textAdresse, ByteZahl) • Dienstleistungsprogramme zur Verfügung stellen Aufgaben von BS • Verwalten von Ressourcen ▫ ▫ ▫ ▫ ▫ Verwaltung von Speichermedien Programme laden, starten, unterbrechen Zuteilung von Prozessorzeit Zuteilung von Arbeitsspeicherplatz Ein- und Ausgabe koordinieren • Strukturierte Zuteilung von Ressourcen an laufende Programme • Fehlerbehandlung Aufgaben von BS • Dienste ▫ Prozessmanagement Zuweisung von Ressourcen an Programme als Prozesse ▫ Speichermanagement Schneller Zugriff auf benötigte Inhalte (Cache, RAM) ▫ Dateiverwaltung Logische Adressierung ▫ E/A Steuerung Gerätetreiber, Steuerlogik für Hardware ▫ Benutzeroberfläche bereitstellen Aufgaben von BS Interrupt Verwaltung Task Sychronisation Zeitdienste • Schichten Hardware Abstraction Layer bzw. Board Support Packages GUI / Shell Aufgaben von BS Aufgaben von BS Prozesse Man gebe in eine Schüssel: 200g Mehl, 100g Zucker und 3 Eier. Man verrühre nun die Zutaten und gebe den Teig in eine Backform. Anschließend backe man diesen Teig 1 Stunde lang bei 200°. Prozess starten Sequentielles Abarbeiten Unterbrechen möglich Scheduling Verfahren Aufgaben von BS statisch Scheduling • Mehrere Prozesse gleichzeitig • Auswahl des nächsten Prozesses durch Scheduler/Dispatcher dynamisch kooperativ zeitgesteuert konkurrieren ereignisgesteuert ▫ Kooperativ oder konkurrierend ▫ Zeitgesteuert oder ereignisgesteuert • Bei Unterbrechung Sichern aller Register und belegten Speicherplätze und Stack-Speicher (tmpVar) • Jeder Prozess hat eigenen Speicherbereich Aufgaben von BS Aufgaben von BS Threads • Paralleles Arbeiten innerhalb eines Programmes • Mehrere Ablauffäden innerhalb eines Prozesses, die sich alle Ressourcen dieses Prozesses teilen • Austausch von Daten innerhalb der Threads Dateisysteme Dateisysteme Dateisysteme AMIGA • FFS (Amiga Fast File System): Dateisystem unter AmigaOS APPLE • Apple DOS: diskettenbasiertes Dateisystem für den Apple II • HFS+: weiterentwickelte Variante von HFS mit Journaling und erweiterten Limits, Standard unter Mac OS X LINUX • ext2 (Second Extended File System, lange Zeit das Standard-Dateisystem unter Linux) • ext3 (Third Extended File System): weiterentwickelte Variante von ext2 mit Journaling • Next3: auf ext3 basierendes Dateisystem, welches die Möglichkeit Snapshots zu erstellen bietet • ReiserFS: Journaling-Dateisystem von Namesys (B+/B+ Bäume) WINDOWS • FAT16: (wird von nahezu jedem Betriebssystem unterstützt) • FAT32: neuere Variante der FAT-Dateisystemfamilie mit erweiterten Limits, ab Windows 2000 • NTFS (New Technology File System): seit Windows XP Standarddateisystem • ReFS: Neues Dateisystem, angekündigt für Windows 8, basierend auf B+-Bäumen UNIX • FFS (Berkeley Fast File System): Variante von UFS unter BSD • UFS (UNIX File System): verwendet unter Solaris und BSD Wechselmedien • ISO9660 (auch CDFS, Compact Disc File System): Standarddateisystem für CD-ROMs • UDF (Universal Disk Format): Standarddateisystem für DVDs und Blu-ray Discs Computertechnik UNIX • 1969 Bell Laboratories • Ken Thompson, Dennis Ritchie • System für mehrere Programmierer ▫ Multitasking, Multiuser, Netzwerkfähig • Anfangs für Großrechner • Erst Assembler, später C UNIX-Wars OSF (DEC, Semens, HP, IBM) vs. UI (AT&T, Sun Microsystems) UNIX - Philosophie Douglas McIlroy • Schreibe Computerprogramme so, dass sie nur eine Aufgabe erledigen und diese gut machen. • Schreibe Programme so, dass sie zusammenarbeiten. • Schreibe Programme so, dass sie Textströme verarbeiten, denn das ist eine universelle Schnittstelle. UNIX – Philosophie Eric S. Raymond „The Art of Computer Programming“ Regel der Modularität: Schreibe einfache Bestandteile, die durch saubere Schnittstellen verbunden werden. Regel der Klarheit: Klarheit ist besser als Gerissenheit. Regel des Zusammenbaus: Entwirf Programme so, dass sie mit anderen Programmen verknüpft werden können. Regel der Trennung: Trenne den Grundgedanken von der Umsetzung, trenne die Schnittstellen von der Verarbeitungslogik. Regel der Einfachheit: Entwirf mit dem Ziel der Einfachheit; füge Komplexität nur hinzu, wenn es unbedingt sein muss. Regel der Sparsamkeit: Schreibe nur dann ein großes Programm, wenn sich klar zeigen lässt, dass es anders nicht geht. Regel der Transparenz: Entwirf mit dem Ziel der Durchschaubarkeit, um die Fehlersuche zu vereinfachen. Regel der Robustheit: Robustheit ist das Kind von Transparenz und Einfachheit. Regel der Darstellung: Stecke das Wissen in die Datenstrukturen, so dass die Programmlogik dumm und robust sein kann. Regel der geringsten Überraschung: Mache beim Entwurf der Schnittstellen immer das Nächstliegende, welches für die wenigsten Überraschungen beim Benutzer sorgt. Regel der Stille: Wenn ein Programm nichts Überraschendes zu sagen hat, soll es schweigen. Regel des Reparierens: Wenn das Programm scheitert, soll es das lautstark und so früh wie möglich tun. Regel der Wirtschaftlichkeit: Die Arbeitszeit von Programmierern ist teuer; spare sie auf Kosten der Rechenzeit. Regel der Code-Generierung: Vermeide Handarbeit; schreibe Programme, die Programme schreiben, falls möglich. Regel der Optimierung: Erstelle Prototypen, bevor du dich an den Feinschliff machst. Mache es lauffähig, bevor du es optimierst. Regel der Vielseitigkeit: Misstraue allen Ansprüchen auf „den einzig wahren Weg“. Regel der Erweiterbarkeit: Entwirf für die Zukunft, denn sie wird schneller kommen als du denkst. UNIX – Philosophie „Mache nur eine Sache und mache sie gut.“ „Alles ist eine Datei“ „Zu frühe Optimierung ist die Wurzel allen Übels.“ „Unix wurde nicht entwickelt, um seine Benutzer daran zu hindern, dumme Dinge zu tun, denn das würde diese auch davon abhalten, schlaue Dinge zu tun.“ Doug Gwyn „Verwende im Zweifelsfall rohe Gewalt“ „Unix ist einfach. Es erfordert lediglich ein Genie, um seine Einfachheit zu verstehen Dennis Ritchie „schreibe dummen Code, der schlaue Daten verwendet“ UNIX • Bis UNIX V7 (1979) Quellcode an Universitäten öffentlich • Berkeley Software Distribution (BSD) basierte auf dem UNIX Code von AT&T • 80er Jahre: AT&T sperrte Quellcode und kommerzialisierte das BS, Lizenzgebühren für BSD • Firmen lizensierten eigene Versionen (Bsp: Microsoft Xenix) • Richard Stallman beginnt mit GNU • 1992 FreeBSD Initiative Linux • Andrew S. Tannenbaum entwickelte MINIX als abgespecktes Testsystem für Studenten Linux • Finnischer Student Linus B. Torwald nutzte Minix für Terminalemulator • lauffähiger Kernel für 80386 entstand • C-Compiler durch GNU ersetzt Linux • GNU GPL ▫ Software kostenlos nutzen, studieren, ändern und verbreiten – Open Source • Freier Quellcode lockte viele Programmierer (1993 bereits 300) • Oberfläche KDE oder GNOME “Hello everybody out there using minix I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since April, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-) Linus ([email protected]) PS. Yes – it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.” Posting von 25.8.1991 Linux-Distributionen • Arch Linux • (2002) • keine graph. Oberfläche Linux-Distributionen • Debian (1993) Linux-Distributionen • Knoppix (2000) Linux-Distributionen • Ubuntu (2004), Heimanwender, auf Debian basiert Ubuntu Server Ubuntu TV Ubuntu Studio Linux-Distributionen • Gentoo (1999), komplett individuell Linux-Distributionen • Rad Hat (1994), wird nicht mehr weiter entwickelt, RHEL als kostenpflichtige Enterprise Version Linux-Distributionen • Fedora (2003) Linux-Distributionen • Mandriva (1998), kommerziell aber kostenlos Linux-Distributionen • Slackware (1993) streng nach UNIX Linux-Distributionen • openSUSE (1992), benutzerfreundliche Distribution Linux-Distributionen Linux-Debian MS-DOS • Erstes verbreitetes BS für PC • Diskettenverwaltungssystem Microsoft Disk Operating System • Version 1 für 8086 entwickelt, spätere Versionen bauten auf diesem System auf und konnten nicht mit neuer Hardware Schritt halten • Bis 1997 das verbreiteste BS • 16 Bit, RAM bis 640 kB, nicht multitaskingfähig, 8Zeichen-Begrenzung für Dateinamen, kein GUI, aufwendige Installation von E/A, keine Sicherheitstechniken MS-DOS MS-DOS 1.x 12 (1981) – PC-DOS MS-DOS 2.0 9 (1983) – HDD und Unterverzeichnisse MS-DOS 3.x (1984) – Netzwerke MS-DOS 4.0 (1988) – DOS-Shell MS-DOS 5.0 (1991) – neuer Editor, neues Speichermodell MS-DOS 6.0 (1993) – Festplattenkomprimierung, Datenaustausch, Backup, Speicheroptimierung MS-DOS 7.0 (1995) – Teil von Win95 MS-DOS 8.0 (2000) – Teil von WinME MS-DOS Befehle Befehl cd cd .. cd \ dir mkdir copy del move ren edit format fdisk date time ver sys Wirkung Öffnet einen Ordner, z.B. CD DOS geht in den Ordner DOS Geht in der Ordnerhierachie einen Ordner hoch, also von z.B. C:\DOS nach C:\ Es wird in den Stammordner des aktuellen Laufwerkes gewechselt Zeigt den Inhalt des aktuellen Ordners an, man kann es auch näher definieren, z.B. zeigt dir /w den Ordnerinhalt nacheinander und nicht untereinander an, dir *.exe zeigt nur .exe Dateien im aktuellen Ordner an usw. Erstellt einen Ordner im aktuellen Ordner Kopiert Dateien, z.B. copy A:\ C:\ kopiert den Inhalt von A:\ nach C:\ Entfernt Dateien und Ordner, z.B. del datei.end löscht die Datei "datei.end" Verschiebt Dateien Benennt Dateien um, z.B. ren a b benennt "a" nach "b" um Startet den DOS Dateieditor, wenn man eine bestimmte Datei editieren will einfach edit datei.txt Formatiert Festplatten und Disketten Formatiert Festplatten um sie fürs System benutzbar zu machen Zeigt das Datum an und man kann es verändern Zeigt die Zeit an und man kann sie verändern Zeigt die aktuelle DOS Version an Nur für ältere DOS Versionen ohne Setup, macht die Festplatte bootbar so dass man nur noch die Systemdateien von der Diskette mit copy A: C: kopieren muss Erklärung "Current Directory" "Directory" "Make Directory" "Kopieren" "Delete" "Verschieben" "Rename" "Verändern" "Formatieren" "Format Disk" "Datum" "Zeit" "Version" "System" MS-DOS MS-DOS Windows • Windows 3.1 und 3.11 ab MS-DOS 6.0 als grafische Benutzeroberfläche • Ursprünglich als Programm Manager • Eingabe win in DOS-Eingabeaufforderung Windows (Sparta) • • • • • • • Anwendungen in Fenstern Gleiche Fenster in Größe und Pos. veränderbar Durch Maus anklickbar WYSIWYG Mehrere Programme gleichzeitig Austausch von Daten über Zwischenablage Netzwerke in Win 3.11 Windows NT 3.51 (Daytona) • Professionelle Version von 3.x • Für geschwindigkeitsorientierte Anwendungen Windows 95 (Chicago) • • • • • • • • 32 Bit Neue Programme „Objektorientierte“ GUI Dateinamen bis 256 lang RAM bis 4 GB Multitasking Multithreading Plug & Play Windows NT 4.0 • • • • Spezielle Anwendungen Sicheres Dateisystem Professionelle Netzwerke Sicherheitsstandard C2 Windows 98 (Memphis) • FAT 32 für HDD > 2 GB • IE • Internetdateien und Systemordner gleich dargestellt • Assistenten für Einstellung und Optimierung Windows 2000 (Georgia) • Verschlüsselung von Daten möglich • Vereinigt Sicherheitsstandards von NT 4.0 mit Benutzerfreundlichkeit von Win98 Windows ME • Multimedia: ▫ Digitale Foto, Video-, Audiobearbeitung • Netzwerkassistenten • Sicherer Shutdown Windows XP (Whistler/NT5.0) • Nachfolger von Win ME/2000 • verschiedene Versionen ▫ ▫ ▫ ▫ • • • • • Home Professional Media Center Edition X64 Edition Systemwiderherstellung Datensicherung Datenverschlüsselung Firewall Popup Blocker Windows Server 2003 (NT 5.2) • • • • • • • • • • Active Directory DHCP-Server DNS-Server POP3 Server SMTP Server HTTP-Server Dateiserver IIS Print-Server Application Server Windows Vista (Lognhorn / NT6.0) • • • • • • • • • Security Development Lifecycle Aero Benutzeroberfläche Sidebar Flip 3D Wndows Mail Snipping Tool Fotogalerie Kontrollfunktion für Eltern Benutzerkontensteuerung Windows 7 (Vienna) • Marktanteil > 50% • Barrierefreiheit ▫ ▫ ▫ ▫ • • • • Sprachsteuerung Sprachausgab e Bildschirmtastatur Bildschirmlupe Multitouch Neues Paint Neues Wordpad Neuer Rechner Windows Server 2008 • • • • • • Neue Managementkonsole Verbesserte Terminaldienste Hyper-V Windows Power-Shell Failover Clustering NW-Lastverteilung Windows 8 (NT 6.3) • • • • • Modern UI und Desktop Oberfläche Windows Phone 8 Windows RT für Tablets Benutzerfreundlichkeit für Touchgeräte Erhöhung Stabilität und Geschwindigkeit Windows Server 2012 • Modern UI • Direct Access 3.0 PKI • Anbindung an MS Azure Windows 10 • Einheitliches System für Desktop, Notebook, Tablet, Phone, X-Box, Embedded Devices, Convertibles MAC OS (1984-2000) • Wurde mit Apple Computern verkauft und war nur auf diesen lauffähig • Vollständig graphisch, keine Kommandozeile • Fehlende RAM Unterstützung • Anfällig für E/A Konflikte • Bestimmte Reihenfolge für einige Erweiterungen notwendig • Ständig weiter optimiert und schließlich eines der robustesten Systeme MAC OS X Nachfolger von NeXTStep und Darwin Apple Public Source Licence ▫ (quelloffen) GUI Aqua ENDE