Podcast
Questions and Answers
Welche der folgenden Aussagen sind falsch? (Wählen Sie alle an, die zutreffen)
Welche der folgenden Aussagen sind falsch? (Wählen Sie alle an, die zutreffen)
- Für moderne Betriebssysteme ist neben Multitasking auch der Mehrbenutzerbetrieb notwendig.
- Moderne Betriebssysteme arbeiten fast ausschließlich mit Swapping, um zusätzlichen Speicherplatz für Programme bereitzustellen. (correct)
- Ein Programm kann springen an eine Speicheradresse, an der sich Daten beinden.
- Moderne Betriebssysteme nutzen eine Kombination aus Segmentierung und Paging, um den Arbeitsspeicher effizient zu verwalten.
- Frühe Computer hatten keine Betriebssysteme.
- Ein Programm kann Daten lesen und ausführen, die im Speicher beinden.
- Ein Betriebssystem ist nur sinnvoll, wenn der Computer mehrere Programme gleichzeitig ausführen kann. (correct)
- Ein Programm kann sich selbst beliebig verändern, indem es seinen eigenen Code überschreibt.
- Ein Programm kann seinen eigenen Code lesen und analysieren, indem es ihn in Quellcode zurückverwandeln kann.
Was ist das Hauptmerkmal des Universalrechners nach von Neumann?
Was ist das Hauptmerkmal des Universalrechners nach von Neumann?
- Der Befehlszähler liest den nächsten Befehl aus dem Speicher ein und verarbeitet diesen in einem Register, und über Steuersignale an andere Komponenten wird die Befehlsausführung angestoßen.
- Der Speicher enthält Programmcode und Daten, das Eingabewerk liest Daten und Programmcode ein und speichert sie im Speicher, der Speicher ist in gleich große Speicherzellen aufgeteilt. (correct)
- Die Befehle, die ein von Neumann-Rechner verarbeiten kann, gliedern sich in arithmetische und logische Befehle, Transportbefehle, bedingte und unbedingte Sprungbefehle sowie Unterprogramm-Aufrufe, Ein- und Ausgabebefehle und sonstige Befehle.
- Das Steuerwerk für das Programm und das Rechenwerk sind kombiniert in einer Einheit.
- Die Befehle, die der Rechner nacheinander verarbeiten soll, liegen hintereinander im Speicher, das Steuerwerk hat einen Befehlszähler, der die Speicheradresse enthält, an welcher der nächste auszuführende Befehl steht.
- Das Steuerwerk für das Programm und das Eingabewerk sind kombiniert in einer Einheit.
Wofür steht die Abkürzung ”DMA“?
Wofür steht die Abkürzung ”DMA“?
Direct Memory Access
Welche beiden Arten von Scheduling gibt es für Betriebssysteme?
Welche beiden Arten von Scheduling gibt es für Betriebssysteme?
Was ist ein ”Interrupt“?
Was ist ein ”Interrupt“?
Was ist der Unterschied zwischen ”Prozess“ und ”Job“?
Was ist der Unterschied zwischen ”Prozess“ und ”Job“?
Was ist ein ”Mutex“?
Was ist ein ”Mutex“?
Dateien auf Datenträgern werden in Unix-Systemen mit einem so genannten lachem Dateisystem abgelegt.
Dateien auf Datenträgern werden in Unix-Systemen mit einem so genannten lachem Dateisystem abgelegt.
Wie unterscheiden sich die beiden Dateisystem-Typen ”UFS“ und ”ZFS“ von einander?
Wie unterscheiden sich die beiden Dateisystem-Typen ”UFS“ und ”ZFS“ von einander?
Welche Methode wird verwendet um eine komplizierte Software unter Linux leicht zu installieren?
Welche Methode wird verwendet um eine komplizierte Software unter Linux leicht zu installieren?
Was muss bei der Verwendung von mehreren Threads, die auf ein gemeinsames Datenarray zugreifen, unbedingt gewährleistet sein?
Was muss bei der Verwendung von mehreren Threads, die auf ein gemeinsames Datenarray zugreifen, unbedingt gewährleistet sein?
Was ist ein ”Deadlock“?
Was ist ein ”Deadlock“?
Wie kann man einen Deadlock verhindern?
Wie kann man einen Deadlock verhindern?
Welche zwei Möglichkeiten gibt es um sicherzustellen, dass Jobs (Kindprozesse) nach dem Beenden der Shell weiterlaufen?
Welche zwei Möglichkeiten gibt es um sicherzustellen, dass Jobs (Kindprozesse) nach dem Beenden der Shell weiterlaufen?
Welche der folgenden Optionen werden bei der Installation von Debian-Paketen mit 'apt' nicht benötigt?
Welche der folgenden Optionen werden bei der Installation von Debian-Paketen mit 'apt' nicht benötigt?
Flashcards
Personal Computer (PC)
Personal Computer (PC)
Ein Personal Computer (PC) ist eine Art von Computer, der für den persönlichen Gebrauch konzipiert ist. PCs werden in der Regel interaktiv verwendet und haben eine Vielzahl an Komponenten, die mit einer Hauptplatine verbunden sind, darunter CPU, Hauptspeicher, Festplatten und Erweiterungskarten.
Server
Server
Server sind Computer, die darauf ausgelegt sind, Dienste über ein Netzwerk für andere Computer bereitzustellen. Sie unterscheiden sich von PCs durch ihre Konfiguration und ihre Auslegung für kontinuierlichen Betrieb.
Smartphone
Smartphone
Ein Smartphone ist ein Mobiltelefon mit einem eingebauten Computer, das komplexe Funktionalitäten bietet, z. B. Internetzugang, Multimedia-Wiedergabe und Anwendungen.
Tablet
Tablet
Signup and view all the flashcards
Embedded Device
Embedded Device
Signup and view all the flashcards
Echtzeitsystem
Echtzeitsystem
Signup and view all the flashcards
Hauptplatine (Mainboard)
Hauptplatine (Mainboard)
Signup and view all the flashcards
Prozessor (CPU)
Prozessor (CPU)
Signup and view all the flashcards
Hauptspeicher (RAM)
Hauptspeicher (RAM)
Signup and view all the flashcards
Festplatte (HDD)
Festplatte (HDD)
Signup and view all the flashcards
Bussystem
Bussystem
Signup and view all the flashcards
Datenbus
Datenbus
Signup and view all the flashcards
Controller
Controller
Signup and view all the flashcards
Chipsatz
Chipsatz
Signup and view all the flashcards
North Bridge
North Bridge
Signup and view all the flashcards
South Bridge
South Bridge
Signup and view all the flashcards
Universalrechner (von Neumann)
Universalrechner (von Neumann)
Signup and view all the flashcards
Steuerwerk
Steuerwerk
Signup and view all the flashcards
Rechenwerk (ALU)
Rechenwerk (ALU)
Signup and view all the flashcards
Befehlszähler (Program Counter)
Befehlszähler (Program Counter)
Signup and view all the flashcards
Interrupt-Handler
Interrupt-Handler
Signup and view all the flashcards
Scheduling
Scheduling
Signup and view all the flashcards
Round Robin
Round Robin
Signup and view all the flashcards
Disassemblieren
Disassemblieren
Signup and view all the flashcards
Befehlssatzarchitektur (ISA)
Befehlssatzarchitektur (ISA)
Signup and view all the flashcards
RISC (Reduced Instruction Set Computing)
RISC (Reduced Instruction Set Computing)
Signup and view all the flashcards
CISC (Complex Instruction Set Computing)
CISC (Complex Instruction Set Computing)
Signup and view all the flashcards
Assembler
Assembler
Signup and view all the flashcards
Harvard-Architektur
Harvard-Architektur
Signup and view all the flashcards
Register
Register
Signup and view all the flashcards
Segmentierung
Segmentierung
Signup and view all the flashcards
Paging
Paging
Signup and view all the flashcards
DMA-Zugriff
DMA-Zugriff
Signup and view all the flashcards
Study Notes
Systemsoftware - Lehrbrief
- Der Lehrbrief behandelt das Modul Systemsoftware des Master-Verbundstudiengangs Angewandte Künstliche Intelligenz.
- Der Autor ist Hans-Georg Eßer.
- Das Dokument stammt vom 21. Juni 2024.
Inhaltsverzeichnis
- Der Lehrbrief enthält ein detailliertes Inhaltsverzeichnis, das alle Kapitel und Abschnitte des Dokuments auflistet.
- Die Kapitelnummerierung entspricht den im Dokument angegebenen Kapiteln.
- Es gibt Abschnitte zu Grundlagen des Rechneraufbaus, Betriebssystemen, Linux-Installation, ausgewählten Standardanwendungen, Linux-Administration, Prozessen, Dateisystemen sowie Zusatzthemen wie Rechnerarithmetik und Docker.
Grundlagen Rechneraufbau, Betriebssysteme
- Lernziele: Grundlegende Begriffe, Komponenten einer Computeranlage, Aufbau von Rechnern (von Neumann & Harvard) und die Aufgaben eines Betriebssystems verstehen.
- Computer-Typen: Personal Computer (PCs), Server, Mobilgeräte, Embedded Devices und Echtzeitsysteme werden beschrieben.
- Computer-Komponenten: Hauptplatine, Prozessor, Busse (PCI, ISA und SCSI), Chipsatz (North Bridge, South Bridge), Universalrechner (von Neumann-Architektur) und Harvard-Architektur werden detailliert behandelt. CPU-Architekturen (RISC und CISC) werden diskutiert.
- Betriebssysteme: Aufgaben und Geschichte der Betriebssysteme werden erklärt. Das Konzept des Betriebssystems als Schnittstelle zwischen Anwendung und Hardware wird betont.
Linux-Installation und erste Schritte
- Lernziele: Linux-Installation, Anmeldung am System und die Ausführung grundlegender Aufgaben in der Shell (Kommandozeile).
- Beispiel Linux: Unterschied zwischen Linux-Kern und GNU/Linux als komplettes System.
- Partitionierung: MBR- und GPT-Systeme. Primäre, erweiterte und logische Partitionen werden erläutert.
- Installationsroutinen: Beschreibung der Installationsprozesse unter Linux. Der Unterschied zwischen grafischen und textbasierten Installationsprogrammen wird herausgestellt.
- Shell: Grundlagen der Shell-Nutzung (Kommandos, Arbeitsverzeichnis, Optionen, Argumente...). Praktische Anwendungen für die Navigation im Dateisystem und Datei-manipulation (mkdir, rmdir, cp, mv, rm) werden erklärt.
Ausgewählte Standard-Anwendungen
- Editoren: Einführung in Texteditoren wie Gnome Texteditor, Kate und Vim. Die besonderen Funktionen wie Syntax Highlighting und Befehlsmodus in Vim werden beleuchtet.
- Secure Shell: Erklärung von SSH und dessen Verwendung für den Fernzugriff auf andere Rechner. Dateitransfer mit scp. Die Vorteile der Verschlüsselung und die Prüfung der Identität des Servers werden erklärt.
- Software-Entwicklung: Einführung in die Konzepte des Compilers, Assemblers und Linkers. Praktische Demonstration mit einem Beispiel Makefile.
Linux-Administration
- Benutzer und Gruppen: Grundlegende Benutzerverwaltung, Gruppenverwaltung und Zugriffsrechte. Erklärung der Datei /etc/passwd.
- Zugriffsrechte: Konzepte und Befehle zur Verwaltung von Benutzern, Gruppen und Zugriffsrechten (chmod, chown, chgrp).
- Software-Verwaltung: Software-Installation, Updates und Abhängigkeiten. Beschreibung des Paketverwaltungssystems (z.B. apt). Die Begriffe Repository und dependency hell werden erläutert.
- System-Aktualisierung: Verfahren zur Installation von Updates.
Prozesse
- Lernziele: Vordergrund- und Hintergrund-Jobs unterscheiden und praktisch erzeugen. Job-Liste und Prozess-Liste verstehen. Veränderung von Prozessparametern mit Werkzeugen wie ´jobs´, ´fg´, ´bg´
- Linux-Jobs: Konzepte von Vordergrund- und Hintergrund-Jobs (mit &-Zeichen). Unterbrechung und Fortsetzung von Jobs. Die Behandlung von Jobs nach einem Shell-Abbruch.
- Linux-Prozesse: Einführung in den Prozessbegriff; Unterscheidung zwischen Prozessen und Jobs. Der Prozesskontrollblock (PCB) wird detailliert beschrieben. Die Behandlung von Interrupts.
- Speicherverwaltung: Konzept der Segmentierung. Der Ansatz der Adressübersetzung mit Seitentabellen. Paging wird erläutert.
Dateisystem
- Lernziele: Grundlagen alter und moderner Dateisysteme. Unix-basierte Dateisysteme (Dateien und Verzeichnisse) werden erklärt. Metadatenverwaltung inklusive Inodes und die Verwaltung von Datenblöcken.
- Allgemeine Dateisystem-Features: Überblick über grundlegende Konzepte wie Datenblöcke, Metadaten (z.B., Zugriffsrechte) und Formatierungen. Indirektion wird behandelt.
- Unix-Dateisysteme: Aufbau von Inodes, Link-Count, Dateigröße, Zugriffszeiten (atime, mtime, ctime) und Dateinamen werden beleuchtet. Administrationsfunktionen (mkfs, mount, umount, fsck).
- Beliebte Mount-Optionen: Bedeutung von Optionen wie ro (read-only) und rw (read-write)
- Dateisysteme fremder Betriebssysteme: Erläutert die Prinzipien und Nutzung von FUSES. Praktische Anwendung für die Einbindung von Dateisystemen fremder Betriebssysteme (Windows, HFS+, etc.).
### Zusatzthemen
- Rechnerarithmetik: Grundlagen reeller und ganzzahliger Zahlen, Fließkomma-Zahlen und Rundungsfehler im Computersystem.
- Docker Container: Containervirtualisierung (ohne Hypervisors), Konzepte, Anwendung und Vorteile von Docker.
- Synchronisation und Deadlocks: Konzepte des Threading, Synchronisationsprobleme und Deadlocks (wie im Beispiel der gemeinsamen Nutzung eines Kontos, bei mehreren Geldautomaten). Lösungskonzepte wie Mutexe und Semaphore.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.