ZHAW BSY Kap1-2

Lernzielfragen für Betriebsysteme

Lernzielfragen für Betriebsysteme


S. G.
Diese Lernkarten behandeln grundlegende Konzepte von Betriebssystemen auf Universitätsniveau. Sie decken Themen wie Systemstart, Speicherhierarchie, Prozessmanagement, und Hardwarekomponenten ab. Besonders behandelt werden die Funktionsweise von System Calls, Kernel Mode, und verschiedene I/O-Techniken. Die Karteikarten sind ideal für Studierende der Informatik, die ein tiefes Verständnis der Betriebssystemarchitektur und deren Funktionsweisen erlangen möchten.
Flashcards
39
Students
13
Language
German
Category
Computer Science
Level
University
Created / Updated
11.03.2019 / 24.02.2024

Flashcards

kap1: zwei Hauptaufgaben von Betriebssystemen

(Hardware-)Ressourcen verwalten und Dienste anbieten

kap1: Welches sind die wichtigsten Dienste eines Betriebssystems?

Werkzeug zur Programmerstellung, Programmausführung, Systemzugriff ermöglichen, Interprozesskommunikation, Fehlerhandling, Accounting

kap1: Nennen sie die zwei aktuellen Generationen von Computersystemen

Personal Computers und Mobiile Computers

kap1: Erklären sie Batch-Systeme

Aus einem Stapel Programmen wird ein Programm nach dem anderen abgearbeitet. (Sequentiell).

Programme sind meist auf Lochkarten

kap1: Was ist ein Monitor

Ein Monitor ist eine Art Minimalbetriebssystem,

  • das nach dem Reset des Prozessors gestartet wird,
  • Interrupt-Vektoren, Benutzerschnittstellen etc. aufsetzt,
  • Jobs aus dem Batch in den Speicher lädt und ausführt.
  • Auch das BIOS ist eine Art Monitor

kap1: Was versteht man unter Multiprogramming

Mehrere Programme werden gleichzeitig im Zeitmultiplexverfahren auf einer einzigen CPU ausgeführt.

 

kap1: Welche Hardwareunterstützung wird für Multiprogramming benötigt?

Interrupts

kap1: Wie unterscheidet sich die Ausführung von Programmen auf einem System mit Multiprogramming und einem Multicore-Prozessorsystem

In beiden Fällen werden die Programme scheinbar gleichzeitig ausgeführt.

Multiprogramming: Jedes Programm läuft jeweils für ein kurzes Zeitintervall

Multicore-System: Programme können echt gleichzeitig d.h: parallel ohne Unterbrüche (müssen aber nicht) ausgeführt werden

kap1: Was bedeutet concurrent

Zeitlich verschränkt -> vom Anwender als gleichzeitig Wahrgenommen

kap1: Was bedeutet Parallel

Echt gleichzeitig. 

kap1: Was ist der wesentliche Unterschied zwischen Betriebssystemen mit Time Sharing und Batch-Multiprogramming

Timesharing erlaubt mehrere interaktive Benutzer

kap1: Wieso funktioniert Timesharing?

Reaktionszeit des Menschen relativ langsam. 2 sek Rechenzeit pro Minuten ausreichend

kap1: fünf wichtigste Grundkonzepte moderner Betriebssysteme

  • Prozesse
  • Scheduling / Ressourcenverwaltung
  • Speicherverwaltung
  • Schutzmechanismen
  • Systemarchitektur

kap1: Unterschied zwischen dem Schichtenmodell und der Microkernelarchitektur bei Betriebssystemen

Bei Microkernel Architekturen sind nur die allernotwendigsten Funktionen im Kernel, die restlichen Funktionen sind in Prozesse ausgelagert. Vorteile: Flexibilität, Portabilität, einheitliche Schnittstellen, schlank, 

Schichtenmodell: Klare Trennung, gut definierte Schnittstelle aber Performance eher schlechter

kap1: Welche Grundfunktionen muss ein Microkernel zur Verfügung stellen

  • Scheduling
  • Einfache Interprozesskommunikation 
  • Grundlegendes Speichermanagement

kap1: Was versteht man unter einem symmetrischen Multiprozessor

Mehrere identische Prozessoren mit gemeinsamen Speicher und IO

kap1: Was ist ein Real-Time Betriebssystem

Resultate müssen logisch richtig sein und zum richtigen Zeitpunkt zur Verfügung stellen

kap1: Was ist ein Hypervisor und welche Grundtypen gibt es

Ein Hypervisor ist eine Virtualisierungsschicht, die es ermöglicht mehrere Betriebssysteme gleichzeitig auf einem Rechner laufen zu lassen.

Typ 1: Kein Host-OS, nur Treiber für die Ansteuerung der Prozessor-Ressourcen.

Typ 2: Mit Host-OS, Treiber und Filesystme des Host-OS werden genutzt, üblicherweise ein Kernel-Modul für effizientere Verarbeitung und Ausführung von priviligierten Instruktionen

kap1: Timesharing

  • Gleichzeitige Ausführung mehrerer interaktiver Programme
  • CPU Zeit auf mehrere Benutzer verteilt
  • "Gleichzeitiger" Zugriff durch mehrere Benutzer

kap1: Uniprogramming

  • Nur ein Programm im Speicher
  • Verbringt meiste Zeit mit Warten.
  • Sehr schlechte CPU Auslastung

kap1: Multiprogramming

  • Mehrere Programme im Speicher
  • Programm wartet auf I/O Operationen
  • Monitor führt anderes Programm aus (concurrent / interleaving)

kap1: Problemstellungen bei frühen Betriebssystemen aufzählen

  • Nichtdeterministische Programmverhalten
    • Resultat der Berechnung abhängig von anderen aktiven Programmen
  • Gegenseitigem Ausschluss
    • Gleichzeitiger Zugriff mehrerer Programme auf eine Ressource
  • Synchronisation
    • Signale beim Warten verloren
  • Deadlocks
    • Programme warten gegenseitig (z.B. auf Freigabe von Ressourcen).

kap1: Prozess

Programm in Ausführung (Sandbox)

kap1: Scheduling

  • Zuteilung von Rechenleistung
  • Bs unterhält verschiedene Queues:
    • Ready Queue: Programme warten im Speicher auf CPU
    • Wait Queues: Prozesse warten auf I/O Gerät oder Operation
    • Long Term Queue: Prozesse warten auf Zulassung vom System welches nur eine beschränkte Anzahl von Prozessen zulässt

kap1: Resourcenverwaltung

Berücksichtig:

  • Fairness: Alle Programme haben grundsätzlich gleiche Zugriffsrechte
  • Differenzierte Behandlung: z.B. Prozesse die auf I/O Daten warten sofort einplanen sobald Daten verfügbar sind.
  • Effizienz: Maximaler Durchsatz, minimale Antwortzeit, möglichst viele Benutzer bedienen

kap1: Datenmanagement / Speicherverwaltung

  • Prozessisolation: Kein gegenseitiger Zugriff auf Speicher und Daten möglich
  • Automatische Speicherallokation: Progammierer muss sich nicht um Speicher kümmern sondern Betriebssystem weist speicher nach Bedarf zu
  • Schutz und Zugriffskontrolle: Zugriffskontrolle und Schutz bei gemeinsamer Nutzung des Speichers. (z.B. druch Virtueller Speicher ⇒ Grösserer Addressraum als physikalischer Speicher, nur benötigte pages werden in den richtigen Speicher geladen)

kap1: File-Systeme

  • Langzeitspeicherung von Daten auf Sekundärspeicher
  • Informationsspeicherung in Files
  • Ablageorganisation der Files: Hierarchisch in Verzeichnisse
  • Operationen auf Files: Create, Open, Delete, Close, Rename etc

kap1: Schutz und Sicherheit von Betriebssysteme 

  • Zugriffskontrolle**:**
    • Kein Zugriff auf nicht freigebene Resourcen
    • Systemzutritt nur für zugelassene Us
  • Kontrolle des Informationsflusses
    • Innerhalb des Systems
    • Bei auslieferen an Benutzer

kap2: wichtigste Hardwarekomponenten für das Betriebssystem

Interrupts

    - erlauben Unterbruch laufender Programme durch Events

    - bessere CPU-Ausnutzung durch Multitasking

System Calls

    - Schnittstelle zwischen User- und System-Bereich

    - schützt BS vor unerlaubtem Zugriff (Gate zum BS)

Speicherhierarchie: Lokalitätstprinzip

    - "versteckt" Zugriffszeiten auf Speicher

    - nicht-deterministische Zugriffszeiten problematisch bei Echtzeitsystemen

Boot-Vorgang

    - Systeminitialisierung und Systemstart, erfolgt schrittweise

    - abhängig von Komplexität des BS

kap2: Aufgaben und Komponente der CPU aufzählen und erklären

  • Rechnereinheiten
    • ALU
      • Logik und Rechenoperationen
    • FPU
      • Floating Point Unit
  •  
  • Adress-, Daten- und Statusregister (PSW)
    • Für Benutzer sichtbar
    • von System- und Anwenderprogrammen benutzt
    • Conditioncodes und Flags
  • Kontroll- und Statusregister
    • z.T von CPU, z.T vom OS benutzt
    • viele nicht sichtbar für Anwendungsprogramme
  • Instruction Unit
    • Steuereinheit: Interpretation und Ausführung der Instruktionen
  • Bus Interface
    • Ansteuerung der externen Einheiten

kap2: Hardware Threads erklären

 

  • Virtueller kern
  • Eigener Registersatz pro Hardware-Thread
  • Jeder Core hat mehrere Threads
  • Hyperthreading bei Intel
  • Threads teilen sich ALU
  • Performance Gewinn abhängig von Anwedung bis zu 50%

kap2: UMA vs NUMA

https://www.motioncontroltips.com/wp-content/uploads/2018/04/NUMA-Architecture.png

UMA = Uniform Memory Access:

Dabei gibt es nur einen globalen Speicher, auf den von allen Prozessoren aus einheitlich zugegriffen werden kann. Im Idealfall jeweils mit derselben Bandbreite und Latenzzeit

NUMA = Non-Uniform Memory Acess

jeder Prozessor einen eigenen, lokalen Speicher hat, aber anderen Prozessoren über einen gemeinsamen Adressraum direkten Zugriff darauf gewährt

kap2: Drei Techniken für Kommunikation mit I/O Geräten

Synchroner I / O:

  • Busy Wait
  • benötigt keine Interrupts, CPU wartet auf Beendigung jeder einzelnen I/O Operation

Interup driven I/O

  • CPU kann asynchron andere Arbeiten ausführen
  • CPU wird unterbrochen wenn I/O Operation beendet

Direct Memory Access

  •  ein Speicherblock mit Daten wird vom/zum Speicher übertragen ohne Rechenleistung der CPU zu beanspruchen

kap2: kernel mode und user mode erklären

 

Kernel Mode erlaubt zugriff auf kritische Rechner-Ressourcen wie I/O, Kontrollregister, Speicherverwaltung etc.

 

User Mode erlaubt nur zugriff auf unkritische Rechner-Ressorucen und hat fast kein Zugriff auf die Hardware

kap2: Funktionsweise von System Calls erklären

  • Schnittstelle zwischen Anwendersoftware - Systemsoftware
  • Rufen System-Funktionen auf
  • Schaltet zwischen Kernel und User mode um

Ablauf:

1. Anwenderprogramm stellt Parameter bereit (Register, Stack)

2. ruft Bibliotheksfunktion auf: normaler Prozeduraufruf - oft Assembler Programm, setzt System Call Number

3. Syscall bzw. SWI Kontrolle geht an Kernel - Kernel ruft System Call Handler auf - Handler wird ausgeführt

4. ev. Rückkehr zur Bibliotheksfunktion

5. Rückkehr ins Anwenderprogramm 

 

kap2: Speicherhierarchie erklären 

Cache liegt zwischen CPU und Hauptseicher und funktioniert dank dem Lokalitätsprinzip:

  • Räumliche Lokalität: Grosse Wahrscheinlichkeit, dass nächsters Speicherzugriff auf nahe liegende Dateien stattfindet
  • Zeitliche Lokalität: Grosse Wahrscheinlichikeit, dass Speicherzugriff auf gleiche Datum nochmal stattfindet.

kap2: mittlere Zugriffszeit auf Cache berechnen

kap2: nenne die zwei Phasen des Systemstarts

Hardwareabhängige Phase:

  • Prozessor startet auf seiner Reset Adresse,
  • Hardwareüberprüfung
  • Lädt boot code in Speicher

Betriebssystemabhängige Phase:

  • Boot code wird ausgeführt

 

kap2: Erkläre den Systemstart

  1. Prozessor startet BIOS
  2. Bios testet das System und lädt Master Boot Record (MRB) von ersten Sektor der ersten Disk
  3. MRB-Code list den Boot-Code von der ersten aktiven Partition und startet den Boot-Code (Loader)
  4. Der Boot-Code lädt sich weitere Informationen zum Starten des Betriebssystem von der Partition

Study