Betriebssysteme Zusammenfassung PDF
Document Details
Uploaded by LightHeartedFoil5549
Tags
Summary
Dieses Dokument ist eine Zusammenfassung von Betriebssystemen. Es deckt verschiedene Themen ab, wie IBM Lochkarte, CPU, Von-Neumann-Architektur und historische Entwicklungen. Der Text beinhaltet auch grundlegende Informationen zu Betriebssystemen, sowie Diagramme und Bilder.
Full Transcript
Betriebssysteme -- Zusammenfassung **IBM Lochkarte** - 96 Spalten - 6-bit-code BCD (binär codierte Dezimalwerte), 3 Reihen mit je 32 Spalten - ODER im 8-Bit-Code ECDIC **CPU** Ein Bild, das Text, Screenshot, Rechteck, Zahl enthält. Automatisch generierte Beschreibung **Von-Neumann A...
Betriebssysteme -- Zusammenfassung **IBM Lochkarte** - 96 Spalten - 6-bit-code BCD (binär codierte Dezimalwerte), 3 Reihen mit je 32 Spalten - ODER im 8-Bit-Code ECDIC **CPU** Ein Bild, das Text, Screenshot, Rechteck, Zahl enthält. Automatisch generierte Beschreibung **Von-Neumann Architektur** - Steuerte die theoretische Grundlage für Rechenautomaten - Steuernde Programm: Kette von logischen Binär-Entscheidungen - Umstieg vom Dezimal zum Binärsystem **Konrad Zuse (Z1 -- Z4)** - Entwickelte die Z1 bis Z4, die ersten universell programmierbare Computer - Z3: 2600 Relais und 64 Speicherplätze mit je 22Bits - Entwickelte auch die erste universelle Programmiersprache (Plankalkül) **Erste Generation (1945 -- 1955)** - Mechanisches Relais (elektromagnetischer Schalter, Zeiteinheit in Sekunden) - Röhrenrechner - Keine Programmiersprache, sondern Programmierung in Binärcode und Steckkarten - Programmiere musste Rechen-(Raumzeit) reservieren, seine Steckkarten reinschieben und hoffen, dass die 20.000 Röhre funktionieren - Standard-Abläufe auf Lochkarten gebracht **Zweite Generation (1955 -- 1965)** - - - - - - - [Problem]: Rennerei und Zeitverschwendung, da alles manuell ![Ein Bild, das Entwurf, Zeichnung, Diagramm enthält. Automatisch generierte Beschreibung](media/image5.png) **Integrated Circuit (IC)** - - - **Mini-Computer** - Dialogbetrieb mit System über Terminals - Timesharing mit festen Partitionen ermöglichte Multiprogrammierung, wo mehrere hundert Benutzer gleichzeitig unterstützt wurden - CTSS: Compatible Time Sharing System - MULTICS: MULTiplexed Information and Computing System Erste Mini-Computer: DEC PDP-1 - - **UNIX** UNIplex Information and Computing Service - Erste Entwicklung auf dem PDP-7 Mini-Computer - Mehrbenutzersystem - Alternative zu MULTics - Grundstein für viele moderne OS - Wurde in C neu geschrieben - Kostenlose Lizenzen an Unis - Weitest verbreitetes OS - Entwicklung von Systemen für die Schnittstellen (AT&T, BSD, IEEE POSIX) - POSIX ist bis heute gültig (z.B. Linux) **Entwicklung der Personal Computer** - XEROX: erster personal computer mit GUI und Maus - IBM suchte BS für ihre PCs, Digital Research hatte kein Interesse, dann hat er mit Seattle Computer Products gearbeitet, deren OS um BASIC ergänzt und daraus entstand MS-DOS - Sinclair in England, Commodore überall - Apple Macintosh 128k: der erste erfolgreiche Maus-gesteuerte Computer mit einer GUI - ATARI: erster PC mit 1mb RAM, sehr guter MIDI (Musical Instrument Digital Interface) - Einplatinencomputer, so groß wie eine Kreditkarte, günstig - Für DIY-Zwecke - RAM zwischen 512MB und 8GB - LINUX-basierte OS - Unterstützt unterschiedliche Programmiersprachen 1. Windows 2. Apple McIntosh 3. Linux **Netzwerk** Netzwerkbetriebssysteme (NOS) - spezielle Software zur Verwaltung und Koordination von Netzwerkressourcen - Benutzer wissen von mehreren beteiligten Rechnern - Bsp. Novell, Windows, Unix OS, Linux-basierte BS - Ressourcenverwaltung: Gemeinsame Prozessoren, verteilte Speicher - Transparenz: Benutzer sehen das System als Ganzes, Ressourcenverteilung für Anwender nicht sichtbar, Zugriff erfolgt einheitlich, unabhängig vom Standort **Rechner der 5. Generation** - Computer = Netz - Verteilte Systeme (Cluster-, Cloud-, Grid-, P2P-Computing) - Virtualisierung - OpenSource Software - Kommunikation überall durch mobile Systeme - Web-Services - Ressourcen On-Demand - KI - Quantencomputer **Java Plattform** Ein Bild, das Text, Screenshot, Schrift, Zahl enthält. Automatisch generierte Beschreibung Andere Programmiersprachen: ![Ein Bild, das Text, Screenshot, Schrift, weiß enthält. Automatisch generierte Beschreibung](media/image7.png) - Machine Code hängt stark vom OS ab (Windows machine code läuft nicht in Linux z.B.) Java: Ein Bild, das Text, Schrift, weiß, Screenshot enthält. Automatisch generierte Beschreibung - Das Java-Programm wird nicht vom OS ausgeführt, sondern von der JVM - Also Java ist **Plattformunabhängig** **Android** - Linux-basiert - Verwendet viele Java-Bibliotheken weil: - Plattformunabhängig - Objektorientiert - Development Ecosystem **BS Grundlagen** [Definition:] die Programme eines digitalen Rechensystems, die neben der Eingenschaften der Rechenanlage die Grundlage der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Ausführung von Programmen steuern und überwachen [Aufgaben]: - Vermittler zwischen Benutzer und Computerhardware - Ziele: - Benutzerprogramme ausführen und Probleme lösen - Computer komfortabel bedienbar machen - Effiziente Nutzung der Computerhardware - Verteilt Ressourcen - Steuert die Ausführung und verhindert Fehler oder unsachgemäße Benutzung [Kern:] ein Programm, der ständig „läuft". Alles andere ist System- oder Anwendungsprogramm ![Ein Bild, das Text, Screenshot, Reihe, Schrift enthält. Automatisch generierte Beschreibung](media/image11.png) 2\. Zuverlässigkeit: - Stabil ggü. Fehlverhalten des Benutzers - Fehler wirken nur lokal\# 4. Instandhaltung - Voraussetzung: modularer Aufbau, gute Dokumentation, Evolutionsfähigkeit 5. Portabilität [OS-Dienste] - Auftragsmanagement (Jobs erzeugen, beenden, abarbeiten, dokumentieren) - Auftragsablaufsteuerung (Prozesse verwalten und synchronisieren, Alarm- und Ereignismanagement) - Arbeitsspeicher/ Prozessadressraumverwaltung - Katalogmanagement (Objektverwaltung) - Datenmanagement - Eingabe-/Ausgabemanagement (öffnen/ schließen, schreiben/ lesen) - Kommunikationsmanagement - Zeitverwaltung (Uhrzeit, Datum, Systemzeit, Prozesszeit, Weckzeit) - Wartungsmanagement - Systemadministration **Computer-System Organisation** Ein Computer-System kann in 4 Komponenten unterteilt werden: 1. Hardware (CPU, Memory, I/O Devices) 2. Betriebssystem (Kontrolle und Koordination der Hardware) 3. Anwendungsprogramme (lösen die Probleme der Nutzer und nutzen dafür die Betriebsmittel wie Word, Compiler, Webbrowser, DB, etc) 4. User (Menschen, Maschinen und andere Computer) - Ein/ Ausgabegeräte und CPU können gleichzeitig agieren - 1 Controller steuer 1 Devicetyp - CPU verschiebt Daten von und zum Zentralspeicher - Device informiert CPu, dass er seinen Betrieb beendet hat, indem er einen Interrupt erzeugt - Ein Betriebssystem ist Interrupt-gesteuert - Ein Interrupt ist ein Signal, welches ein Gerät oder Software dem BS schickt - Der Computer kann nur 1 Prozess auf einmal ausführen - Interrupts erzeugen einen Eindruck von Multi-tasking 1. BS bekommt Interrupt 2. Das BS hört erstmal auf zu tun was er eben getan hat um den Interrupt zu bedienen mittels den Interrupt Handler (wenn notwendig werden weniger wichtige Funktionen verschoben) - Bedient die Interrupt-Signale wenn sie ankommen - Priorisiert Interrupts - Stellt die auf den Stack **User- und Kernelmode** - Bei User -\> Kernel werden Zugriffsrechte erweitert und Schutzmechanismen ausgeschaltet - Meistens HW-seitig und vom Benutzer nicht manipulierbar **Synchrone vs. Asynchrone I/O Methoden** Ein Bild, das Screenshot, Diagramm, Text, Reihe enthält. Automatisch generierte Beschreibung [Sycrhon:] der anfragende Prozess muss warten, bis die Datenübertragung abgeschlossen ist. [Asynchron:] der anfragende Prozess kann weiterlaufen, während die Datenübertragung im Hintergrund stattfindet. **Unix und Posix** Unix - Grundstruktur von Unix kann unterschiedlich sein je nach Implementierung - Es gibt Unterschiede in der Art und Anzahl von Systemcalls Posix: Portable Operating System Interface based on Unix - Systemcalls werden ausschließlich über Dienste bereitgestellt - Vorteile: mehr Portabilität, Abstraktion (interne Systemdetails versteckt), Standardisierung für alle Systeme Mach - Nachfolger von Unix - Lager alle Prozesse aus dem Kerne aus, die nicht absolut notwendig sind - Mikrokern, Systemdienste auf Benutzerebene, aber gekapselt und austauschbar - Nachteil: Wechsel zwischen User- und Kernelmode ist langsam **Von-Neumann und der Universalrechner** ![Ein Bild, das Text, Schrift, Screenshot, Reihe enthält. Automatisch generierte Beschreibung](media/image16.png) [CPU:] die meisten Komponenten eines Computers sind passiv und werden durch die CPU gesteuert. Besteht aus: - Rechenwerk bzw. ALU (führt logische Operationen durch) - Steuerwerk (interpretiert Befehle und koordiniert andere Komponente, IO und den Bus) - Programme sind Maschineninstruktionen, die in aufeinander folgenden Speicheradressen abgelegt sind - Die CPU setzt diese Instruktionen in Einzelschritten um [Datenbus:] Überträgt Daten zwischen CPU, Arbeitsspeicher und Peripherie - Anzahl Busleitungen: Größe des Arbeitsregisters im Rechenwerk (heute 64) [Adressbus]: Überträgt Speicheradressen, spricht E/A Geräte und Speicheradressen an - Anzahl der Busleitungen legt die maximale Anzahl adressierbarer Speicheradressen fest [Steuerbus:] Überträgt Kommandos von der CPU und Statusmeldungen der Peripheriegeräte, spricht Computerkomponenten an - Typische Busbreite: \