TGI 1

Technische Grundlagen der Informatik, Nordakademie - Elmshorn SM 1/1-51; JB 1/52-82; NR 1/83-92; BR 1/93-131; NR 2/1-27; JJ 2/28-63

Technische Grundlagen der Informatik, Nordakademie - Elmshorn SM 1/1-51; JB 1/52-82; NR 1/83-92; BR 1/93-131; NR 2/1-27; JJ 2/28-63


Set of flashcards Details

Flashcards 199
Students 13
Language Deutsch
Category Computer Science
Level University
Created / Updated 24.08.2015 / 14.05.2023
Weblink
https://card2brain.ch/box/tgi_1
Embed
<iframe src="https://card2brain.ch/box/tgi_1/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Definition der Informatik

Informatik ist die Wissenschaft von der Informationsverarbeitung, insbesondere mithilfe von Computern. Wissenschaft, Technik und Anwendung der maschinellen Verarbeitung und Übermittlung von Informationen (Gesellschaft für Informatik).

Ein Prozess ist ein Programm in Ausführung mit (u.a.)

- Eigener (virtueller) Adressraum

- Wert des Befehlszähler

- Registerinhalte

- Inhalte der Variablen

- Stapel (Stack), der die Unterprogrammaufrufe verwaltet

- Eigenem Arbeitsverzeichnis

- Handle auf geöffnete Dateien

- Abrechnungs- und Statistikinformationen

Welches sind die Aufgaben eines Betriebssystems?

1. Über welche Schnittstelle werden die Funktionalitäten eines Betriebssystems bereitgestellt?

2. Wie sind diese Funktionalitäten erreichbar?

3. Wo werden sie zur Verfügung gestellt?

1. Programmierschnittstelle

2. Über Systemaufrufe (system calls)

3. In Programmbibliotheken (Systembibliotheken)

1. Über welche Schnittstelle werden die Funktionalitäten eines Betriebssystems bereitgestellt?

2. Wie sind diese Funktionalitäten erreichbar?

3. Wo werden sie zur Verfügung gestellt?

1. Programmierschnittstelle

2. Über Systemaufrufe (system calls)

3. In Programmbibliotheken (Systembibliotheken)

Welche Funktionen beinhaltet die Speicherverwaltung?

Durch welche Eigenschaften wird Software definiert?

Software...

Definition: Betriebssystem

Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen. (DIN 44 300)

Software lässt sich grob in zwei Kategorien unterteilen. (Systemsoftware und Anwendungssoftware)

Welche dieser Programme lassen sich der Anwendungssoftware zuordnen?

Beschreibe den grundsätzlichen Aufbau des Schichtenmodells eines Rechners!

siehe Bild

Welchem Grundsatz folgt die Black-Box-Betrachtung des Betriebssystems?

Die Schnittstelle ist das Maß aller Dinge; die Implementierung, also das Systeminnere, wird nicht betrachtet.

  1. Welche Gefahren können durch die Black-Box-Betrachtung entstehen?
  2. Welches Problem birgt die Black-Box-Betrachtung des Betriebssystems?

  1. Überhöhter Ressourcenverbrauch oder unbefriedigender Ausführungsgeschwindigkeit, wegen Unkenntnis
  2. Kein Einblick ins System -> Betriebssystemdetails werden ignoriert (performancekritische Anwendungen)

Welche 3 Architekturformen von Betriebssystemen gibt es?

  • Monolithische Systeme
    • Bsp. MS-DOS
  • Geschichtete Systeme
    • Bsp. OS/2
  • Mikrokernsysteme
    • Bsp. MAC OS X (Basierend auf Mach kernel)
    • *
  • praktisch liegen häufig Mischformen vor

 

*Zusatzwissen: Eigenschaften des Betriebssystemkerns "Mach"

  • Multitasking
  • Threads
  • Interprozesskommunikation
  • Speicherschutz

Welche Eigenschaften besitzen Monolithische Systeme?

  • Keine oder unklare Strukturen
  • Teilfunktionen sind nicht klar mit Schnittstellen abgegrenzt
  • meist evolutionär gewachsen

Welche Eigenschaften besitzen geschichtete Systeme?

  • Teilfunktionen sind hierarchisch auf mehrere Schichten verteilt
  • jede Schicht realisiert eine bestimmte Funktionsgruppe
  • Funktionen bauen nur auf Funktionen der tieferen Schicht auf

Welche Eigenschaften besitzen Mikrokernsysteme?

  • zentrale Funktionen in einem Kernteil (Mikrokern); übrige Funktionen als "Serverdienste" aufgeführt
  • Mikrokern enthält vier Basisdienste
    • Nachrichtenübermittlung (message passing)
    • Speicherverwaltung (virtual memory)
    • Prozessorverwaltung (scheduling)
    • Gerätetreiber (device drivers)

Welche Kriterien in Hinsicht auf die Betriebsart eines Betriebssystems gibt es?

  • Stapelverarbeitung (batch processing)
    • Bearbeitung einer Folge von Stapelaufträgen
    • klassische Großrechnerbetriebssysteme
  • Time-Sharing-Betrieb
    • Zuteilung von Zeitscheiben
    • scheinbar exklusiver Zugriff
  • Echtzeitbetriebssystem
    • Priorisierung von Prozessen
    • Ausführung innerhalb fester Zeitschranken
    • reaktive Systeme: schnelle Reaktion auf Signale der Umgebung
    • Moderne Betriebssysteme fallen mehr oder weniger in diese Gruppe

Welche weiteren Unterteilungsmöglichkeiten für Betriebssysteme, neben der Betriebsart, gibt es?

  • Einprozessorsysteme
  • Multiprozessorsysteme
  • verteilte Systeme
    • Das Betriebssystem selbst ist verteilt, für Benutzer und Anwendungen ist dies nicht sichtbar.

Woraus besteht die Zentraleinheit?

Die Zentraleinheit besteht aus einem Steuerwerk (control unit; CU ) und einem Operationswerk (auch: Rechenerwerk, arithmetical logical unit, ALU)

Aus welchen Komponenten besteht ein Rechner/ Computer?

  • Zentraleinheit (Central Processing Unit,CPU)
  • Speicher (Memory)
  • Ein-/Ausgabeeinheit (Input/Output Unit)

Wie unterscheiden sich sequentielle Prozesse von parallelen Prozessen (grundlegend)?

sequentieller Prozess: Die Operationen werden eine nach der anderen ausgeführt.

 

Parallele Prozesse: mehrere Prozesse, die gleichzeitig auf mehreren Prozessoren ausgeführt werden;

keine Annahme über relative Geschwindigkeit

unabhängige Prozesse oder

kommunizierende Prozesse: p1 liefert Daten für p2 oder p1 wartet bis eine Bedingung erfüllt ist 

Wie wird ausführbare Software (meist auch das Betriebssystem) organisiert?

Die Menge der ausfühbaren Software (meist auch das Betriebssystem) ist in Prozessen organisiert

Wodurch werden Eingabedaten in Ausgabedaten verwandelt?

Programme wandeln Eingabedaten mit Hilfe von Algorithmen in Ausgabedaten um

Welchen Einfluss nimmt das Prozessmodell auf die Ausführung von Prozessen?

Durch schnelles Abwechseln können mehrere Prozesse quasi-gleichzeitig ausgeführt werden. Das Prozessmodell beschreibt die drei wesentlichen Prozesszustände, die je nach Ausgestaltung um weitere ergänzt werden können

  • BEREIT: Der Prozess besitzt alle benötigten Ressourcen (bis auf den Prozessor(kern)) und wartet auf seine weitere Ausführung.
  • LAUFEND: Der Prozess ist aktuell einem Prozessor(kern) zugeordnet und läuft auf diesem ab.
  • WARTEND: Der Prozess wurde unterbrochen und wartet auf eine nicht-Prozessorkern-Ressource. Wenn die Zuteilung erfolgt ist, wird er zunächst wieder in den Zustand BEREIT versetzt.

Wie wird ein Prozess erzeugt?

Beim Bootvorgang wird mindestens 1 Prozess gestartet

Durch den Systemaufruf von...

  • einem anderen Prozess
  • einem Benutzer über eine Benutzeroberfläche
  • die Initiierung einer Stapelverarbeiteung (Batch-Jobs auf Mainframe)

Mainframe = Großrechner

Warum gibt es mehr als einen Prozess?

Trennung blockierender E/A-Aktivitäten von der Verarbeitung

  • Dispatcher und Worker bei Serverprodukten
  • Trennung von Benutzerinteraktion und Rendering bei Textverarbeitung
  • ...

Ausnutzung mehrerer parallel aktiver Rechenkerne

E/A = Eingabe/Ausgabe

Wann enden Prozesse?

Normales Beenden - die Aufgabe ist erledigt.

Beenden aufgrund eines Fehlers (programmgesteuert)

Beenden aufgrund eines schwerwiegenend Fehlers durch das Betriebtssystem (Div. durch Null, Speicherschutzverletzungen, ...)

Beenden durch einen Systemaufruf eines anderen Prozesses

Freiwilliges Beenden eines Prozesses erfolgt durch den Systemaufruf von...

Exit (optional mit Return-Code für den Erzeuger des Prozesses)

Unfreiwilliges Beenden eines Prozesses erfolgt durch den Systemaufruf von...

Kill (Terminate bei Microsoft). Dieser Systemaufruf wird von einem anderen Prozess initiiert (bsp. Betriebssystem).

Berschreibe die Übergänge der Prozesszustände

  1. Prozess erzeigen und vom Betriebssystem zulassen
  2. Prozess wurde vom Scheduler ausgewählt
  3. Prozess unterbrechen; ein anderer Prozess wird ausgewält
  4. Prozess wartet auf Ereignis (E/A, Prozess)
  5. Erwartetes Ereignis ist eingetreten (bsp. Tastatureingabe)
  6. Prozess beenden

Welchen Zweck erfüllt die Prozesstabelle? Und welchen Informationen beinhaltet der Prozesskontrollblock?

Die Prozesstabelle ist eine vom Betriebssystem gepflegte Datenstruktur, um Laufzeit-Unterbrechungen bei Prozessen durchführen zu können. Es handelt sich dabei um eine Tabelle, die pro laufenden Prozess einen Eintrag enthält. Diesen Eintrag nennt man Prozesskontrollblock (engl. process control block, PCB).

Der Prozesskontrollblock beinhaltet Informationen über den Zustand des Prozesses, seinen Befehlszähler, CPU-Register, seinen Stackpointer sowie seine Speicherbelegung und den Zustand seiner geöffneten Dateien.

Nenne zwei Gründen, weshalb Prozess-Unterbrechungen erforderlich sind

  • Benutzer möchte ein hohes Maß an Parallelität.
  • Anzahl der laufenden Programme (Prozesse) ist größer als die Anzahl verfügbarer Prozessoren (auch bei Mehrkern-Prozessoren)

Wie läuft eine Interrupt-Verarbeitung ab?

Tipp: fünf Vorgänge

  1. Sichern des Befehlszählers, Statusregisters und weiterer Registerinhalte auf dem Stack
  2. Laden des neuen Befehlzählers aus dem Interrupt-Vektor
  3. Ausführung der Unterbrechnungsroutine (Meist Puffer von E/A)
  4. Auswahl des nächsten Prozesses durch den Scheduler
  5. Wiederherstellen des Zustands des nächsten Prozesses und ausführen

Welcher Interrupt ist wichtigt und wird häufig verwendet?

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

Eigenschaften von User-Threads

  • Liegen in der Kontrolle des Prozesses (Anwendungsprogramm)
  • Betriebssystem hat keine Kenntnis und verwaltet nicht (Scheduling)
  • Potentiell blockierende Systemaufrufe benötigen Wrapper (Jacket), damit blockierender Thread nicht den gesamten Prozess blockiert
  • Auch Seitenfehler sollten nur den verursachenden Thread treffen.

Eigenschaften von Kern-Threads

  • Werden wie Prozesse durch das Betriebssystem verwaltet
  • Einführung einer Threadtabelle neben der Prozesstabelle
  • Überarbeitung aller Systemaufrufe für Thread-Fähigkeit notwenig
  • BS kann Threads eines Prozesses auf mehrere Kerne verteilen
  • Beim blockieren eines Threads können Threads anderer Prozesse aktiviert werden (prozessübergreifende Scheduling)

Thread-Modell

Ein Programm benötigt Ressourcen, um seine Aufgabe erfüllen zu können. Nenne zwei klassische Ressourcen!

- Prozessorzeit

- Speicher

Bei der gleichzeitigen Verwendung einer Ressource durch mehrere Programm muss die Benutzung koordiniert werden. Nenne 3 Verwaltungsfunktionen, die der Sicherstellung des reibungslosen und effizienten Betriebs des Systems dienen!

- Zuweisung von Ressourcen (exclusive / shared)

- Buchhaltung (bspw. zur Abrechnung oder Systemoptimierung)

- Sicherheitseinstellungen (Zugriffssteuerung, Schutz, etc.)

True & False: Ein-/Ausgabefunktionen