Questions


C. C.
Diese Lernkarten bieten einen umfassenden Überblick über die Architektur von Computern und Netzwerken auf Universitätsniveau. Sie decken Themen wie Prozesse, Adressen, Pakete, Programme und Speicher ab, wobei auch spezifische Komponenten wie Cache, BIOS, FPU und Chipsätze behandelt werden. Die Karteikarten sind besonders nützlich für Studierende der Informatik, die sich mit den grundlegenden Konzepten und Funktionsweisen von Computersystemen vertraut machen möchten.
Flashcards
337
Students
3
Language
German
Category
Computer Science
Level
University
Created / Updated
27.01.2017 / 25.02.2020

Flashcards

Gibt es auch Rechner ohne Betriebssystem? Nenne Beispiele

Microcontroller, Taschenrechner, Digitale Uhr, alte Mobiltelefon

Was sind die Nachteile, wenn ein Rechner ohne Betriebssystem benutzt wird?

Jede Programm muss explizit für die Hardware programmiert werden. Die Hardware resp. deren Funktionalität, Möglichkeiten müssen genau bekannt sein. Die Hardware, Speicher muss selber verwaltet werden.

Die Programme sind nicht portierbar. Der Anwender muss verschiedene "Oberflächen"/Betriebssysteme kennen und bedienen können.

Was sind die Vorteile, wenn ein Rechner ohne BS benutzt wird?

- Bessere Performance, ein Programm kann optimal auf die HW programmiert werden.
- Die Hardware kann optimal genutzt werden.
- Keine Abhängigkeiten von BS Lieferanten, weniger Schnittstellen
- Sicherheit, Viren laufen in der Regel erst ab einem OS

Beschreibe die Hauptaufgabe eines BS

- Komfortable Schicht zwischen Anwendungen und der Hardware.
- Ressourcen-Manager
- Verwaltung der Geräte
- Schnittstellen bereitstellen

Was versteht man unter einem verteilten System?

- Ein logisches System wird auf mehrere physikalische Systeme verteilt.
- Für die Anwendung ist es ein kohärentes System

Welche Aufgabe erfüllt eine MMU?

Memory Management Unit

Mapping zwischen virtuellem und physikalischem Memory.
Führt den Relokationsmechanismus (relocation) aus. (Die im Programm enthaltenen Adressen auf die tatsächlichen Adressen im Speicher abbilden)

Worin unterscheiden sich Busy-Waiting und Interrupt?

- Bei Busy-Waiting (polling) ist die CPU blockiert bis die Daten geliefert werden.

- Beim Interrupt kann das OS andere Prozesse ausführen. Das Gerät meldet sich selbst (Interrupt) sobald es ready ist.

Was versteht man unter einem BIOS?

Basic Input Output System

Startet als erstes auf dem PC, überprüft die Hardware Config, ermittelt das Boot-Device und startet davon das OS.

Charakterisiere einen Prozess

- Ein Prozess ist ein in „Ausführung“ befindliches Programm.
- Jeder Prozess hat einen Adressraum (Programm- und Datenbereich, Stack, Registerinhalte)
- Prozesse können andere Prozesse kreieren und beenden
- Prozesse kommunizieren mit anderen Prozessen

Was bedeuten Protection-Codes?

Definieren die Berechtigung in einem Multi-User System.

Unix: RWX

User / Group / World

rwx / r-x / r-- => 111 / 101 / 100 => 754
(111 ist binär für 7)

Was ist eine Pipe?

Eine virtuelle Datei, Pseudofile über das zwei Prozesse miteinander kommunizieren.

FIFO-Speicher: First-In, First-Out

Wozu dienen Systemaufrufe?

Die Schnittstelle zum OS.

Anwendungsprogramme verwenden Betriebssystemfunktionen über Systemaufrufe (System Calls).

Was ist eine Shell?

Kommandointerpreter

(Ein GUI ist grundsätzlich auch eine Shell)

Welche Betriebssysteme kennen Sie?

Windows, Unix, Linux, MAC, DOS

Realtime-OS (z.B. LynxOS)

BS für Mobilgeräte (Android, Symbian, Windows Phone 7)

Stelle in einer Skizze die Architektur eines Computersystems dar. Markiere das Betriebssystem

siehe Bild

 

 Was sind die beiden Hauptaufgaben eines Betriebssystems?

- Ressourcen / Benutzer Verwalten 

- komfortable Schnittstellen für die Geräte zur Verfügung stellen 

Was ist ein Prozess?

- Ein Prozess ist ein in „Ausführung“ befindliches Programm. 
- Jeder Prozess hat einen Adressraum (Programm- und Datenbereich, Stack, Registerinhalte)
- Prozesse können andere Prozesse kreieren und beenden 
- Prozesse kommunizieren mit anderen Prozessen

Ein Grund für die langsame Einführung grafischer Benutzungsoberflächen war, dass die nötige Hardware anfangs noch sehr teuer war. Wie viel Videospeicher braucht man für die Darstellung von 80 Zeichen auf 25 Zeilen Textmodus in Schwarzweiss? Und wie viel braucht man für die Darstellung von 1024 x 768 Bildpunkten mit 24-Bit Farbtiefe? Was hat der nötige Speicher 1980 gekostet, als ein Kbyte etwa 5 Dollar kostete? Und wie viel kostet er heute?

80 * 25 = 2‘000 Byte (Zeichen) 

1kByte = 5Dollar => 10 Dollar 

Der Speicher kostete ca. 10 Dollar. 

1024x768x24 = 18‘874‘368 Bit => 2‘359‘296Byte => ca. 11‘520 Dollar

Zählen Sie einige Unterschiede zwischen einem Betriebssystem für einen Personalcomputer und dem für einen Mainframe auf.

PC: Einbenutzer-OS 

Mainframe: Mehrbenutzer-OS 

Es wird eine Benutzer- und Rechteverwaltung benötigt

Nun ein paar Aufgaben, die das Rechnen mit Einheiten zeigen sollen: 

a) Wie lange dauert ein Mikrojahr in Sekunden?
b) Mikrometer werden manchmal als Mikron bezeichnet. Wie lange ist ein Gigamikron?
c) Wie viele Bytes enthält ein 1 Tbyte-Speicher?
d) Die Masse der Erde beträgt 6000 Yottagramm. Wie viel ist das in Kilogramm?

a) Mikro 10^(-6) * 365 * 24 * 3600 => 31,536 Sekunden

b) Giga = 10^9 * Mikron (Mü = 10^(-9)) => 1km

c) Tera=10^12 => 2^40 = 1‘099‘511‘627‘776

d) Yotta = 10^24 => 6‘000 * 10^24g => 6 * 10^24kg

Charakterisieren Sie den Begriff Prozess.

Ein Prozess ist ein in „Ausführung“ befindliches Programm.

Prozess = Abstraktion eines laufenden Programms.

Jeder Prozess hat einen Adressraum (Programm- und Datenbereich, Stack, Registerinhalte)

Prozesse können andere Prozesse kreieren und beenden

Prozesse kommunizieren mit anderen Prozessen

Eigene „Recheneinheit“

Worauf muss man bei Mehrprozess-Betriebssystemen besonders achten?

Es wird ein Scheduler benötigt, der die Ressourcen verteilt.

Zugriff auf die kritischen Bereiche müssen geschützt werden.

Was versteht man unter dem Begriff „MUTEX“?

Wechselseitigen/Gegenseitiger Ausschluss (Mutual Exclusion)

Nennen Sie zwei Mittel, um den wechselseitigen Ausschluss zu gewährleisten.

Semaphore

Mutex

Message Passing

Monitor

Welche grundsätzlich verschiedenen Scheduling-Methoden gibt es?

- Nonpreemptive Scheduling

- Preemptive Scheduling

Wie ist es möglich, dass auf einer einzigen CPU mehrere Prozesse parallel ablaufen?

Scheduler von Betriebssystem: Die Prozesse werden quasi parallel ausgeführt.

Wie werden, technisch gesehen, Prozesse erzeugt?

Via Sysemaufruf: Systemcall

Nennen Sie die drei Zustände im Leben eines Prozesses

Rechnend, Blockiert, Rechenbereit

Zeichnen Sie - möglichst auswendig - die Zustandsübergänge eines Prozesses

siehe Bild

Kann mehr als ein Prozess gleichzeitig rechenbereit sein?

Ja

Kann mehr als ein Prozess gleichzeitig rechnend sein?

Bei einem Single Prozessor: Nein 

Multicore CPU: Ja

Beschreiben Sie die Semantik eines Semaphors.

- Down-Operation, P(s) 

o falls Semaphor = 0, dann sleep 

o erniedrige Semaphor falls > 0 

- Up-Operation, V(s) 

o erhöhe den Semaphor und wecke einen auf das Semaphor wartenden Prozess wieder auf 

 

Welche Aufgaben erfüllen Prozesse in einem Programmsystem?

Was versteht man unter dem Begriff MUTEX?

Welche Aussagen treffen zu?

Was passiert bei einem V(Semaphor) wenn kein Prozess darauf wartet?

Auf wie viele verschiedene Varianten können n=5 Prozesse eine einzige Instruktion ausführen

Auf wie viele verschiedene Arten kann ein Prozess ein Programm mit n = 5 Instruktionen ausführen?

Nennen Sie alle möglichen Schlussresultate der Variablen „x“. Erklären und dokumentieren Sie Ihren Lösungsweg! 

"//" bedeutet, dass die drei Prozesse quasi-parallel in Ausführung sind. 

Randbedingung: Jeder Prozess läuft nur 1 mal

Prozess1 kann nicht als erster starten weil er die Semaphore P(s2) benötigt, welche auf 0 ist. 

P2 oder P3 kann als erstes Starten: 

P2 -> P3 -> P1 x = 3 -> 9 -> 14 -> 28 

P3 -> P1 -> P2 x = 3 -> 8 -> 16 -> 256 

P3 -> P2 -> P1 x = 3 -> 8 -> 64 -> 128

Gegeben ist folgender Programmausschnitt, der in einer gemeinsamen Variablen, die Anzahl der BesucherInnen zählt, die durch zwei Drehkreuze (Prozesse) ein Museum betreten:

siehe Bild

Durch jedes der beiden Drehkreuze betreten 20 BesucherInnen das Museum, d.h. zwei Prozesse rufen parallel (gleichzeitig) people.increment(); 

Was gibt das Resultat? Erklären Sie! Ist das Programm korrekt? Falls das Programm fehlerhaft ist, geben Sie ein präzises Beispiel (ein Szenario) einer fehlerhaften Programmausführung an und korrigieren Sie das Programm!

Bsp: value = 17 

Beide Prozesse laufen parallel und speichern in temp den Wert 17, danach warten beide Prozesse auf den Interrupt. Der erste Prozess bekommt den Interrupt und speichert den Wert 18 zurück in value. Danach wird auch der Prozess 2 „freigegeben“, dieser speichert dann ebenfalls 18 in value zurück. Eigentlich müsste es jetzt 19 sein. 

Der kritische Bereich ist die gemeinsame Zahl value. 

Möglicher Lösungsvorschlag: siehe Bild

Mögliche Probleme: Falls der Interrupt zu lange dauert wird ggf. die Methode nicht abgearbeitet bis zum nächsten Interrupt.

Study