Betriebssysteme 1
Einführung File Systeme Prozesse und Threads Memory Management
Einführung File Systeme Prozesse und Threads Memory Management
-
- 1 / 111
-
Flashcards
Welche Schedulingkriterien ergeben den Scheduling Algorithmus für die Schedulingkategorie "interaktiver Betrieb (time sharing)"?
Antwortzeit (response time)
Welche Schedulingkriterien ergeben den Scheduling Algorithmus für die Schedulingkategorie "Real Time Betrieb"?
Deadlines einhalten - garantierte Reaktion bei Aufruf
Vorhersagbarkeit
Mögliche Schedulingverfahren?
First Come First Served
- nonpreemtive
- sehr einfacher algorithmus
Shortest Job First
- Der Prozess der die kürzeste CPU burst time hat kommt zuerst dran
- preemtive and non-preemtive möglich
Priority Based
- Ist das selbe wie SJF nur kann hier die Priorität explizit zugeordent werden
Round Robin
- Ist eigentlich das selbe wie FCFS jedoch werden die Prozesse in Zeitscheiben aufgeteilt. Benötigt also der Prozess "Zwei" 4 zeiteinheiten, wird die erste Zeiteinheit nach Prozess "Eins" ausgeführt die übrigen 3 Zeiteinheiten jedoch erst nach den anderen n-Zeiteinheinten pro weiteren Prozess
Prozesse kommunizieren gemeinsam miteinander über ?????? z.B ????????
- Datenstrukturen
- Prozess Warteschlange (ready queue)
Weshalb muss der Zugriff und die Manipulation dieser Datenstrukturen synchronisiert sein?
Da die Prozesse gemeinsam über genau diese Kommunizieren und sich somit konkurrieren könnten. Beispiel. Datenstak
Durch die synchronisation kann man die Konsistenz der Datenstruktur gewährleisten
Wie nennt man Bereiche im Stack die nur seriell verarbeitet werden dürfen?
- critical section
- Stack muss initialisiert werden
- danach push
- dansch pop
Welche Anforderungen müssen für eine CRITICAL Section erfüllt sein?
- Wechselseitiger Ausschluss (wird durch eine Sperre (lock) erreicht.)
- Prozesse auserhalb einer critical section blockieren keine anderen Prozesse
- Wartezeit zum Eintreten in die critical section sollte begrenzt sein.
Was sind Deadlocks?
Systemblockaden durch Sperren (locks) nennt man so
Die passiert zum Beispiel wenn P1 R1 gelocket hat und nun zusätzlich noch R2 anfordert. Gleichzeitig läuft jedoch P2 der R2 locked und fordert die R1 an welche ebenfalls scho gelocked ist. Dies führt nun dazu das beide Prozesse unendlich lange auf die bereits vergebene Ressourcen warten. Dies nennt man auch starvation.
Kann auch bei DB's auftretten owohl die einen diese automatisch erkennen.
Was muss direkt adressierbar sein?
Alle Speicherplätze müssen direkt adressierbar sein
Was arbeitet mit dem Hauptspeicher nicht aber mit den Speichersystemen?
Das Instruktionset von Prozessoren
Wie lange ist die Zugriffszeit auf ein
- Register
- L1 Cache
- L2 Cache
- L3 Cache
- Hauptspeicher
- >1ns
- 5ns
- 10ns
- 15ns
- 50ns
Hat jeder Prozess seinen eigenen Adressraum?
Man unterscheidet bei Adressen zwischen?
Logischen (auch virtuelle genannt) Adressen
Physischen Adressen
Welche Komponente setzt logische in physische Adressen um?
MMU = Memory Management Unit (ist eine HW-Einheit des Prozessors
Wie gross ist der phyische Adressraum wenn der Hauptspeicher 8GB gross ist?
Der physische Adressraum entspricht exakt der Hauptspeicher grösse als 8GB
der logische Adressraum kann um Faktoren grösser sein als der physische, wo liegt die Grenze?
Der logische Adressraum ist genau so gross wie die Adressen lang sein können. Heisst bei einer 32bit Architektur 2^32 bei einer 64bit Architektur 2^64.
Wie viel ist das? ;-)
Welches sind die Schlagwörter welche jeder Prozess kennt?
Jeder Prozess hat eine
- base address
- limit address
- logical address
- physical address
- Die physical address setzt sich aus der base address und der logical address zusammen.
Wie funktioniert die Adressierung genau machen sie ein ausführliches Beispiel?
Der Adressraum von 0 bis z.B 1024bit gehört dem OS ab 1024byte wir können die Prozesse ihre Adressräume reservieren in den jeweils benötigen Blöchen (64 byte oder 512byte).
Somit beginnt Prozess 2(siehe Bild) bei 2048kbyte (base address) und hat eine limit addresse bei 3072kbyte. Hat Prozess 2 nun die z.B. eine logical address von 357 ist die physikal address 2048000bite. +357 = physicaladdress=2048357bite
Sollte die physikalische addresse auserhalb der Addressraums zeigen ist dies eine access violation
Wann kommt Swapping zum Einsatz?
Falls der benötigte Adressraum von allen laufenden Prozessen mehr physikalischen Speicher benötigt als der Hauptspeicher gross, werden alle Adressräume von zur Zeit inaktiven Prozessen ausgelagert auf die HD.
Wird Prozess wieder inaktiv wird der Addressraum wieder EINGELAGERT in den Hauptspeicher dadurch kann sich die base address ändern.
Diese Vorgänge nennt man swapping
Nennen Sie zwei Belegungsstrategien beim swapping?
- best fit
- first fit
Wie kommt es zu einer Fragmentierung des Hauptspeichers?
Da jeder Adressraum von einem Prozess eine unterschiedeliche Grösse haben kann, kann es nach mehrfachen swapping dazu führen das wir leere räume haben in die nichts passen also quasi ein Leopardenmuster entsteht.
Was kann Hardwaretechnisch unternommen werden um die Adressermittlung zu beschleunigen?
Die page map table kann in einem speziellen Register abgelegt werden namens page table base register (PTBR) bei moderneren Systemen wird translatino look aside buffer (TLB) verwendet.
TLB
- Spezielle hardware
- Erlaubt schnelle, parallele Suche
- Kapazität limitiert, typisch bis 1024 Adressen
- Ein TLB miss erfordert das Nachladen aus der page map table
Was sind Shared Pages?
Wenn ein Programm von mehreren Prozessen ausgeführt wird, muss der Programm Code nur von dem ersten Prozess geladen werden und die anderen können diesen anhand von shared pages ebenfalls benutzen
Sorgt für besserer Ressourcen auslastung
Was sind die Eigenschaften von Segmentation des logischen Adresraumes?
Der logische Adressraum von Benutzerprozessen wird segmentiert in:
- Programm Code
- Globale Variablen
- Heap Memory für Programmvariablen
- Stack für Threads eines Programmes
- Standart C Library
Welches ist die optimale page size?
Kann man so nicht bestimmen kommt ganz auf den einsatz der Applikation drauf an. OS bieten daher oft die konfigurations möglichkeit an
2^12-2^22
Definition des FileSystem?
Ein FileSystem besteht aus Files und Direktories welche das wesentliche Konzept zur Speicherverwaltung ist. Das File ist die kleinste Speichereinheit von zusammengehörigen Informationen.
Was für Attribute (Eigenschaften) hat ein File?
- Name
- Id
- Typ
- Location
- Size
- access rights
- TimeStamp
Für benötigt das OS ein File Table?
Anhand des FileTable weiss das OS welche Dateien sich aktuell in Bearbeitung befinden.
Welche zwei Arten von File Locking gibt es?
- Mandatory
- System sorgt für inegrität in dem es zB nicht erlaubt das ein File welches ausgeführt ist nochmals für einen Write oder delete ausgeführt werden kann.
- Advisroy
- Die Anwendung ist für die Integrität verantwortlich.
- Ein bereits ausgeführtes File kann erneut ausgeführt werden für write was soviel bedeutet wie der Prozess der zuletzt speichert hat die änderungen des früher beendeten überschrieben.
Wie sind Files organisiert?
Typischerweise in Blöcke fester Grösse
Werden mehrere File Strukturen unterstützt?
Ja ausser bei Unix, Unix kennt nur byte strea,
Wie kann eine Position in einem File ermittelt werden?
Durch die dazugehörige zweistufige Adresse
- reative block number
- byte position
Wie heissen die zwei Zugriffsmechanismen?
- Sequentieller Zugriff (sequential access)
- Das File wird von anfang an block für block gelesen bis der gewünschte Block gefunden ist.
- Zum Beispiel Tape
- Direkter Zugriff (direct access)
- Jeder Block im File kann über die Blockadresse direkt gelesen werden.
Wie werden Partitionen noch genannt?
slice, raw disk oder raw device
Was sagt ihnen der Begriff "Verzeichnisstruktur"?
Bedeutet das eine grosse Anzahl Files in hirarchisch organsierten Directories abgelegt sind
Was enthält der erste Sektor einer Disk?
Der MBR = Master Boot Record wird dort abgelegt. Der MBR enthält unter anderem den partition table des Systems
Was versteht man unter Implementierungstechnik bei FileSystemen?
- MBR
- Contiguous Allocation
- Linked List von Blöcken und Clustern
- i Nodes
Was ist Contiguous Allocation?
Fortlaufende Belegung von Blöcken auf einer Disk
Dies hat eine sehr gute Leseperformance zur folge auf hdd