Systemsoftware Modul - Master Angewandte KI

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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?

  • 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“?

Direct Memory Access

Welche beiden Arten von Scheduling gibt es für Betriebssysteme?

<p>Kooperatives Scheduling und präemptives Scheduling</p> Signup and view all the answers

Was ist ein ”Interrupt“?

<p>Ein Interrupt ist ein Signal, das von Geräten oder Softwarekomponenten an den Prozessor geschickt wird, um ihn zu informieren, dass ein Ereignis stattgefunden hat.</p> Signup and view all the answers

Was ist der Unterschied zwischen ”Prozess“ und ”Job“?

<p>Ein Job ist ein Prozess, der aus einer Shell heraus gestartet wurde. Eine Shell kann mehrere Jobs gleichzeitig verwalten. Prozesse hingegen sind unabhängig von der Shell.</p> Signup and view all the answers

Was ist ein ”Mutex“?

<p>Ein Mutex ist ein Semaphor, der genau eine Ressource schützt. Ein Mutex dient dazu, einen kritischen Bereich zu schützen und zu gewährleisten, dass immer nur ein Thread auf diesen zugreifen kann.</p> Signup and view all the answers

Dateien auf Datenträgern werden in Unix-Systemen mit einem so genannten lachem Dateisystem abgelegt.

<p>False (B)</p> Signup and view all the answers

Wie unterscheiden sich die beiden Dateisystem-Typen ”UFS“ und ”ZFS“ von einander?

<p>UFS ist ein älteres File System, das von BSD-Systemen verwendet wird. ZFS ist ein moderneres Dateisystem, das von Sun Solaris implementiert wurde und auch auf BSD-Systemen verfügbar ist.</p> Signup and view all the answers

Welche Methode wird verwendet um eine komplizierte Software unter Linux leicht zu installieren?

<p>Containerisierung</p> Signup and view all the answers

Was muss bei der Verwendung von mehreren Threads, die auf ein gemeinsames Datenarray zugreifen, unbedingt gewährleistet sein?

<p>Die Synchronisation der Threads</p> Signup and view all the answers

Was ist ein ”Deadlock“?

<p>Ein Deadlock ist eine Situation, in der mehrere Threads sich gegenseitig blockieren und keiner von ihnen weiterarbeiten kann.</p> Signup and view all the answers

Wie kann man einen Deadlock verhindern?

<p>Indem man sicherstellt, dass alle Threads die benötigten Ressourcen in einer festen Reihenfolge anfordern.</p> Signup and view all the answers

Welche zwei Möglichkeiten gibt es um sicherzustellen, dass Jobs (Kindprozesse) nach dem Beenden der Shell weiterlaufen?

<p>Man kann das Kommando 'nohup' voranstellen oder das Kommando 'disown' verwenden.</p> Signup and view all the answers

Welche der folgenden Optionen werden bei der Installation von Debian-Paketen mit 'apt' nicht benötigt?

<p>make (F), apt-get (G), dpkg (H)</p> Signup and view all the answers

Flashcards

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 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

Ein Smartphone ist ein Mobiltelefon mit einem eingebauten Computer, das komplexe Funktionalitäten bietet, z. B. Internetzugang, Multimedia-Wiedergabe und Anwendungen.

Tablet

Ein Tablet ist ein mobiles computergestütztes Gerät mit einem Touchscreen, das für Multimedia-Konsum, Surfen im Internet und Anwendungen optimiert ist.

Signup and view all the flashcards

Embedded Device

Ein Embedded Device ist ein Gerät, das einen Computer enthält, aber nicht wie ein traditioneller Computer aussieht oder bedient wird. Es ist für einen bestimmten Zweck optimiert und enthält oft ein Spezialbetriebssystem.

Signup and view all the flashcards

Echtzeitsystem

Echtzeitsysteme sind Computer, bei denen eine zeitgenaue Reaktion auf Ereignisse oder Signale entscheidend ist. Sie werden oft in kritischen Anwendungen eingesetzt, in denen Fehlfunktionen schwerwiegende Folgen haben könnten.

Signup and view all the flashcards

Hauptplatine (Mainboard)

Die Hauptplatine (Mainboard) ist das zentrale Verbindungselement im Computer. Sie verbindet alle anderen Komponenten, wie CPU, Hauptspeicher und Erweiterungskarten.

Signup and view all the flashcards

Prozessor (CPU)

Der Prozessor (CPU) ist das "Gehirn" des Computers. Er führt den Programmcode aus, verarbeitet Daten und steuert den gesamten Betrieb des Computers.

Signup and view all the flashcards

Hauptspeicher (RAM)

Der Hauptspeicher (RAM) ist ein flüchtiger Speicher, der für das Laden und Ausführen von Programmen und Daten verwendet wird. Er ist schnell zugänglich und ermöglicht den schnellen Zugriff auf aktuell benötigte Informationen.

Signup and view all the flashcards

Festplatte (HDD)

Festplatten (HDD) sind nicht-flüchtige Speichermedien, die Daten dauerhaft speichern. Sie dienen als primäre Speicher für das Betriebssystem, Programme und Benutzerdaten.

Signup and view all the flashcards

Bussystem

Ein Bussystem ist ein Kommunikationssystem, das verschiedene Komponenten in einem Computer verbindet. Es dient dazu, Daten zwischen den Komponenten auszutauschen, etwa CPU, RAM und Erweiterungskarten.

Signup and view all the flashcards

Datenbus

Der Datenbus ist ein Teil des Bussystems, der für den Datenaustausch zwischen CPU, Hauptspeicher und anderen Komponenten verantwortlich ist.

Signup and view all the flashcards

Controller

Ein Controller ist ein Spezialchip, der den Prozessor bei der Steuerung komplexer Geräte unterstützt. Er übersetzt Befehle des Prozessors in die Sprache des Geräts, z. B. bei Festplatten oder Netzwerkadaptern.

Signup and view all the flashcards

Chipsatz

Der Chipsatz verbindet die CPU mit anderen Komponenten, wie Hauptspeicher, Festplatten und Erweiterungskarten. Er besteht aus zwei Teilen: North Bridge und South Bridge.

Signup and view all the flashcards

North Bridge

Die North Bridge ist ein Teil des Chipsatzes und dient als Schnittstelle zwischen CPU, Hauptspeicher und Grafikspeicher (GPU).

Signup and view all the flashcards

South Bridge

Die South Bridge ist ein Teil des Chipsatzes und dient als Schnittstelle zwischen CPU, Peripheriegeräten (z. B. Festplatten, Netzwerkadapter) und dem BIOS.

Signup and view all the flashcards

Universalrechner (von Neumann)

Der Universalrechner, der von John von Neumann erdacht wurde, ist ein theoretisches Modell für einen Computer, der für verschiedene Zwecke programmierbar ist. Er besteht aus einer CPU, Speicher, Eingabe-, Ausgabe- und Steuerwerk.

Signup and view all the flashcards

Steuerwerk

Das Steuerwerk ist ein Teil der CPU (Prozessors) und gibt die Befehle zur Ausführung an die anderen Komponenten des Computers. Es steuert den Ablauf der Verarbeitung.

Signup and view all the flashcards

Rechenwerk (ALU)

Das Rechenwerk (ALU) ist ein Teil der CPU und führt arithmetische (Addition, Subtraktion, Multiplikation, Division) und logische (Vergleiche, Verknüpfungen) Operationen aus.

Signup and view all the flashcards

Befehlszähler (Program Counter)

Der Befehlszähler (Program Counter) ist ein Register im Steuerwerk, das die Adresse des nächsten auszuführenden Befehls im Speicher enthält.

Signup and view all the flashcards

Interrupt-Handler

Interrupt-Hander sind Teile des Betriebssystems, die auf externe Ereignisse (z. B. Tastatureingaben) reagieren, indem sie den Programmablauf des laufenden Programms unterbrechen und eine entsprechende Aktion ausführen.

Signup and view all the flashcards

Scheduling

Scheduling ist der Prozess, mit dem das Betriebssystem festlegt, welche Prozesse (Programme) wann und wie lange auf der CPU ausgeführt werden sollen. Ziel ist es, die Ressourcen effizient zu nutzen und die maximale Leistung zu erzielen.

Signup and view all the flashcards

Round Robin

Round Robin ist ein Scheduling-Verfahren, bei dem jeder Prozess eine feste Zeitspanne (Zeitscheibe) auf der CPU bekommt. Nach Ablauf dieser Zeit wird der Prozess unterbrochen und der nächste Prozess erhält eine Zeitscheibe.

Signup and view all the flashcards

Disassemblieren

Disassemblieren ist der Prozess, bei dem Maschinencode in Assemblercode umgewandelt wird. Dies ermöglicht das Analysieren und Verstehen von kompiliertem Code.

Signup and view all the flashcards

Befehlssatzarchitektur (ISA)

Die Befehlssatzarchitektur (ISA) beschreibt die Gesamtheit der Befehle, die ein Prozessor versteht und ausführen kann. Sie definiert auch die Registerstruktur, die Adressierungsarten und die Interrupt-Behandlung.

Signup and view all the flashcards

RISC (Reduced Instruction Set Computing)

RISC (Reduced Instruction Set Computing) ist eine CPU-Architektur, die einen einfachen und kleinen Befehlssatz verwendet. Alle Befehle haben eine feste Länge und können schnell verarbeitet werden.

Signup and view all the flashcards

CISC (Complex Instruction Set Computing)

CISC (Complex Instruction Set Computing) ist eine CPU-Architektur, die einen großen und komplexen Befehlssatz verwendet. Befehle können unterschiedliche Längen haben und komplexe Operationen ausführen.

Signup and view all the flashcards

Assembler

Ein Assembler ist eine Programmiersprache, die sehr nahe an der Maschinensprache liegt. Es verwendet mnemonische Befehle, die von einem Assembler in Maschinencode umgewandelt werden.

Signup and view all the flashcards

Harvard-Architektur

Die Harvard-Architektur ist eine CPU-Architektur, bei der Code und Daten in getrennten Speichern abgelegt sind. Das ermöglicht gleichzeitigen Zugriff auf Code und Daten und verbessert die Leistung.

Signup and view all the flashcards

Register

Ein Register ist ein interner Speicherplatz in der CPU, der für die schnelle Speicherung und Verarbeitung von Daten verwendet wird. Register sind sehr schnell und ermöglichen den schnellen Zugriff auf Informationen.

Signup and view all the flashcards

Segmentierung

Die Segmentierung ist eine Speicherverwaltungstechnik, bei der der Speicher in Segmente unterteilt wird. Jedes Segment kann eine bestimmte Größe haben und wird durch einen speziellen Segment-Deskriptoren verwaltet.

Signup and view all the flashcards

Paging

Paging ist eine Speicherverwaltungstechnik, bei der der Speicher in gleich grosse Blöcke (Seiten) unterteilt wird. Diese Seiten können als unabhängig voneinander verwaltet werden und können in einem bestimmten Speicherbereich (Swap-Datei) ausgelagert (ausgetauscht) werden.

Signup and view all the flashcards

DMA-Zugriff

Der DMA-Zugriff (Direct Memory Access) ermöglicht es Erweiterungskarten, direkt auf den Hauptspeicher zuzugreifen, ohne den Prozessor zu involvieren. Das steigert die Geschwindigkeit und Leistung des Computers.

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.

Quiz Team

Related Documents

More Like This

Operating System Components
38 questions

Operating System Components

PrivilegedMoscovium avatar
PrivilegedMoscovium
Introduction to Operating Systems
55 questions
Hardware, Software and Operating Systems
82 questions
Use Quizgecko on...
Browser
Browser