ZHAW BSY Kap1-2
Lernzielfragen für Betriebsysteme
Lernzielfragen für Betriebsysteme
Fichier Détails
Cartes-fiches | 39 |
---|---|
Utilisateurs | 13 |
Langue | Deutsch |
Catégorie | Informatique |
Niveau | Université |
Crée / Actualisé | 11.03.2019 / 24.02.2024 |
Lien de web |
https://card2brain.ch/box/20190311_bsy_lernzielfragen_2019
|
Intégrer |
<iframe src="https://card2brain.ch/box/20190311_bsy_lernzielfragen_2019/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
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
- ALU
- 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
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: 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
- Prozessor startet BIOS
- Bios testet das System und lädt Master Boot Record (MRB) von ersten Sektor der ersten Disk
- MRB-Code list den Boot-Code von der ersten aktiven Partition und startet den Boot-Code (Loader)
- Der Boot-Code lädt sich weitere Informationen zum Starten des Betriebssystem von der Partition