Technische Grundlagen 1 - Q1

Wirtschaftsinformatik, Technische Grundlagen der Informatik 1, 1. Semester - Begriffsdefinition - Geschichte - Computerhardware (Informationsdarstellung, Rechnerorganisation) - Grundlagen von Betriebssystemen

Wirtschaftsinformatik, Technische Grundlagen der Informatik 1, 1. Semester - Begriffsdefinition - Geschichte - Computerhardware (Informationsdarstellung, Rechnerorganisation) - Grundlagen von Betriebssystemen


K. N.
Diese Lernkarten decken grundlegende Konzepte der Informatik auf Universitätsniveau ab, mit Fokus auf Prozesse, Dateien und Speichermanagement. Sie behandeln Themen wie DMA, RISC- und CISC-Architekturen, Deadlocks, kritische Abschnitte und Interprozesskommunikation. Besonders relevant sind Strategien zur Vermeidung und Beseitigung von Deadlocks sowie Methoden zur gleichzeitigen Nutzung kritischer Ressourcen. Diese Karteikarten sind ideal für Studierende, die ein tiefes Verständnis der technischen Grundlagen von Betriebssystemen und Computersystemen erlangen möchten.
Karten
186
Lernende
2
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
08.09.2015 / 08.09.2019

Flashcards

Nennen Sie übliche Verzeichnisoperationen.

Create, Delete

Opendir (öffnet Verzeichnis), Closedir (schließt Verzeichnis)

Readdir (Lesen der Dateien und Unterverzeichnisse eines Verzeichnisses)

Rename

Link (Hardlink, Dateien/Verzeichnisse können so in mehreren Verzeichnissen enthalten sein, ohne dass es einer Kopie erfordert)

Unlink (Entfernen eines Eintrags im Dateisystem, Entfernen des letzten Links löscht Datei/Verzeichnis)

Was ist der MBR?

Master Boot Record

- Sektor 0 einer Platte

- beinhaltet Partitionstabelle

Was ist der Bootblock?

erster Block einer Partition

enthält Programm, das das Dateisystem lädt

Was verzeichnet die Partitionstabelle unter anderem?

Anfangs- und Endadresse jeder Partition auf einer Platte

Was sind mögliche Verfahren zur Realisierung von Dateien?

- zusammenhängende Belegung

- Belegung durch verkettete Listen

- Datei-Allokationstabelle (FAT)

- I-Nodes

Wie werden Dateien bei der zusammenhängenden Belegung realisiert?

- Jede Datei bekommt zusammenhängende, hintereinander liegende Blöcke zugeordnet.

- Zuordnung ganzer Blöcke, letzter Block damit potentiell unausgelastet

- Zur Assoziation von Datei muss nur Startblock und Anzahl der Blöcke bekannt sein.

Welche Vorteile/Nachteile bringt die zusammenhängende Belegung mit sich?

Vorteile: einfach zu implementieren, hohe Performance

Nachteile: potientielle Fragmentierung der Platte, Umgang mit dynamisch wachsenden Dateien schwierig, Verwaltung der freien Blöcke für künftige Anforderungen (wenn man sich "vorsichtshalber" mehr reserviert und andere Prozesse dann Platzprobleme haben)

Was ist ein Beispiel für eine zusammenhängende Belegung?

CD-ROM-Dateisystem

Wie werden Dateien bei der Belegung durch verkettete Listen realisiert?

- Block besteht aus Zeiger auf den folgenden Block und Nutzdaten

- letzter Block einer Datei hat entsprechende Kennzeichnung im Zeiger ("0")

 

Welche Vorteile/Nachteile bringt die Belegung durch verkettete Listen mit sich?

Vorteile: Blöcke müssen nicht zusammen liegen, sequentielles Lesen funktioniert problemlos, nur innere Fragmentierung im letzten Block möglich

Nachteile: für wahlfreien Zugriff auf Block n müssen alle n-1 Blöcke davor gelesen werden, Block steht durch Zeiger nicht mehr vollständig für Nutzdaten zur Verfügung

Wie werden Dateien über die Datei-Allokationstabelle (FAT) realisiert?

- Ablage der Zeiger nicht im Block, sondern in einer Tabelle

- Laden der Tabelle beim Start in den Hauptspeicher

Welche Vorteile/Nachteile bringt die Datei-Allokationstabelle mit sich?

Vorteile: zwar immer noch lineares Verfolgen der Kette beim wahlfreien Zugriff nötig, aber nun im Hauptspeicher möglich

Nachteile: Belegung eines Hauptspeicherbereiches, der mit der Größe der Platte wächst

Wie berechnet sich die Größe der Datei-Allokationstabelle?

Anzahl der Einträge * Größe der Blocknummer (wiederum abhängig von Anzahl an Einträgen) = (Partitionsgröße/Blockgröße) * Größe der Blocknummer

Wie werden Dateien über I-Nodes realisiert?

- Jeder Datei wird eine Datenstruktur zugeordnet (Index-Node)

- Datenstruktur beinhaltet Dateiattribute und Blockadressen

- System benötigt pro Datei nur den Namen und die Adresse des I-Nodes

- I-Nodes nur für geöffnete Dateien im Speicher

Welche Vorteile/Nachteile bringen I-Nodes mit sich?

Vorteile: benötigter Hauptspeicher hängt nicht von Größe der Partition, sondern von Anzahl geöffneter Dateien ab

Nachteile: Anzahl der Blockadressen limitiert Dateigröße. Abhilfe: spezielle Adressblöcke, die weitere Blockadressen aufnehmen, teilweise wieder von Adressblöcken

Über welche Wege können freie Blöcke verwaltet werden?

- Verwendung einer Bitmap: Bit kennzeichnet Belegungszustand; Datenstruktur, die für jede Blockadresse ein Bit bereitstellt (bei FAT wird Bit in der FAT untergebracht)

- Nutzung einer verketteten Liste der freien Blockadressen: Es muss nur ein Block der Freiliste im Speicher gehalten werden, Platzbedarf bei einer noch recht leeren Platte sehr groß

Nenne 3 Möglichkeiten zur Performanceverbesserung bei der Speicherverwaltung.

- Einführung von Caches

- Block read ahead (Vorauslesen von Blöcken)

- Reduzierung der Bewegung des Plattenarms durch geschickte Anordnung der Blöcke auf der Platte

Was ist ein Journaling file system?

- Aktionen in Dateisystemen können mehrere Zugriffe auf die Platte erfordern, z.B. bei Verschiebung: Löschen aus dem einen Verzeichnis und Einfügen in ein anderes Verzeichnis

- Systemabsturz währenddessen kann Dateisystem in inkonsistentem Zustand hinterlassen

- Journal = spezieller Bereich, in dem alle Aktionen vermerkt werden, um dann anschließend abgearbeitet zu werden

Was ist ein Prozess?

Programm in Ausführung

Wie entsteht ein Prozess?

- Beim Boot-Vorgang wird min. ein Prozess gestartet.

- Durch Systemaufruf von einem anderen Prozess / einem Benutzer / der Initiierung einer Stapelverarbeitung

Warum gibt es mehr als einen Prozess?

- Trennung blockierender Eingabe-/Ausgabe-Aktivitäten von der Verarbeitung

- Ausnutzung mehrerer parallel aktiver Rechenkerne

Wann enden Prozesse?

- normales Beenden nach Erledigung der Aufgabe

- aufgrund eines Fehlers (programmgesteuert)

- aufgrund eines "schwerwiegenden" Fehlers (betriebssystemgesteuert), z.B. Division durch 0

- durch einen Systemaufruf eines anderen Prozesses

 

Welche Systemaufrufe werden für das freiwillige Beenden bzw. das unfreiwillige Beenden von Prozessen genutzt?

freiwillig: EXIT

unfreiwillig: KILL / TERMINATE

Welche Prozesszustände gibt es?

neu

--> Prozess wurde erzeugt und vom Betriebssystem zugelassen -->

bereit

--> Prozess wurde vom Scheduler ausgewählt -->

rechnend

--> Prozess wartet auf Ereignis -->

blockiert

--> Erwartetes Ereignis ist eingetroffen -->

bereit

rechnend

--> Prozess beenden -->

beendet

Prozess kann mehrmals zwischen bereit, rechnend und blockiert wechseln (auch nur zwischen bereit und rechnend).

Was ist eines der wichtigsten und häufigsten Interrupts?

Timer-Interrupt, der in regelmäßigen Abständen durch die Hardware (Clock) erzeugt wird.

Was ist der PCB?

process control block

Prozesskontrollblock wird pro Prozess als Eintrag in die Prozesstabelle aufgenommen.

Enthält aktuelle Informationen über den Zustand eines Prozesses.

Wie läuft die Interrupt-Verarbeitung bei Prozessen ab?

- Sichern des Befehlszählers, Statusregisters und weiterer Registerinhalte auf dem Stack

- Laden des neuen Befehlszählers aus dem Interrupt-Vektor

- Ausführung der Unterbrechungsroutine

- Auswahl des nächsten Prozesses durch den Scheduler

- Wiederherstellen des Zustands des nächsten Prozesses

Was sind Threads?

Ausführungsfaden eines Programms mit eigenem Befehlszähler und Stapelspeicher für Rücksprungadressen der Unterprogramme und deren Parameter und lokalen Variablen

Wofür werden Threads benötigt?

- mehrere Aufgaben in einem Programm sollen quasi parallel ausgeführt werden (z.B. Bearbeiten eines Dokumentes + Speichern im Hintergrund)

- alle Teilaufgaben benötigen gemeinsamen Speicher, Prozesse haben aber eigenen Adressraum

- Lösung: Trennung von Ressourcenbündelung (liegt beim Prozess) und Ausführung (Thread)

Was ist Multithreading?

Ermöglichen mehrerer Threads in einem Prozess, dabei starten Prozesse mit einem Thread, der Prozeduren zur Erzeugung, Beendigung und Synchronisation nutzen kann

Ist Speicherschutz zwischen Threads des gleichen Prozesses möglich?

Nein, da sie sich einen virtuellen Adressraum teilen, wenn sie zu einem Prozess gehören.

Was sind Yields und warum sind die beim Thread-Modell wichtig?

Yields: freiwillige Abgabe der CPU

wichtig, da Timer-Interrupts nur auf Prozessebene wirken

Was zeichnet User-Threads aus?

- vom Prozess kontrolliert

- keine Kenntnis oder Verwaltung durch Betriebssystem

- potentiell blockierende Systemaufrufe benötigen Wrapper, damit blockierender Thread nicht gesamten Prozess blockiert

- auch Seitenfehler sollen nur verursachenden Thread treffen

Was zeichnet Kern-Threads aus?

- Verwaltung wie Prozesse durch das Betriebssystem

- Einführung einer Threadtabelle neben der Prozesstabelle

- Betriebssystem kann Threads eines Prozesses auf mehrere Kerne verteilen

- beim Blockieren eines Threads können auch Threads anderer Prozesse aktiviert werden (prozessübergreifendes Scheduling)

Was ist Scheduling?

Auswahlprozess, der entscheidet, welcher Prozess als nächstes läuft

Wann ist Scheduling notwendig?

- Erzeugung eines Prozesses

- Beenden eines Prozesses

- Blockieren eines Prozesses

- Bereitwerden eines zuvor blockierten Prozesses

- freiwillige Kontrollabgabe eines Prozesses

- Unterbrechen eines Prozesses durch Timer-Interrupt

Welche Ziele verfolgt Scheduling?

- Fairness bei der Behandlung von vergleichbaren Prozessen

- hoher Durchsatz: möglichst viele Ressourcen parallel in Betrieb halten

- niedrige Durchlaufzeit eines jeden Prozesses

- niedrige Antwortzeiten zwischen Nutzereingabe und Systemreaktion bei interaktiven Systemen

Nenne verschiedene Scheduling-Strategien und unterteile sie in Kategorien.

Preemptive (unterbrechende) Strategien: Prozess kann der Prozessor entzogen werden

- Round Robin, Shortest Remaining Time First

Non-preemptive (nicht unterbrechende) Strategien: Prozess gibt Kontrolle an Betriebssystem freiwillig ab

- First-Come-First-Served, Shortest Job First

Hybride Strategien

- Priority Scheduling

 

Was passiert bei der Round Robin-Strategie?

- Implementation der bereiten Prozesse/Threads als Warteschlange/Queue

- rechnender Prozess bekommt Prozess für bestimmte Zeitscheibe/Quantum, wird nach Ablauf der Zeit am Ende der Liste eingefügt

- Bemessen der Zeitscheibe entscheidend: zu klein --> Anteil der Rechenzeit für Prozesswechsel zu hoch, zu groß --> zu lange Wartezeiten, die für interaktive Systeme unzumutbar sind

Was passiert bei der Shortest Remaining Time First-Strategie?

- bereite Prozesse nach der noch benötigten Rechenzeit sortiert

- Prozess mit der geringsten noch benötigten Rechenzeit wird ausgewählt

- Erstellung eines neuen Prozesses bewirkt Unterbrechen des aktiven Prozesses

- Problem: Ermittlung der noch benötigten Rechenzeit, "Verhungern" von langläufigen Prozessen

Study