it's wednesday my dudes
This commit is contained in:
@@ -78,9 +78,124 @@ Wie - mit welchen speziellen weiteren Eigenschaften sollen die funktionalen Eige
|
||||
- in Fahrzeugen, Kaffeemaschinen, Telefonen...
|
||||
- z.T. Spezialaufgaben
|
||||
|
||||
# Grundbegriffe
|
||||
## Grundbegriffe
|
||||
- Wo sind Betriebssysteme zu finden?
|
||||
- Welches Spektrum decken sie ab?
|
||||
- Welche Arten von Betriebssystemen gibt es?
|
||||
- Welche funktionalen und nichtfunktionalen Eigenschaften spielen dabei eine Rolle?
|
||||
|
||||
# Prozessormanagement: Prozesse und Threads
|
||||
## Grundsätzliches
|
||||
1. Computer bearbeiten Aufgaben in wohldefinierten Arbeitsabläufen (beschrieben durch Programme/Algorithmen)
|
||||
2. bei abarbeitung von Programmen entstehen oft Wartesituationen
|
||||
3. Wartezeiten sind ~ relativ zur Prozessorgeschwindigkeit ~ gigantisch (1 Sek ~ 10 Milliarden Prozessorzyklen)
|
||||
4. statt zu warten, lässt sich besseres tun (parallele Ausführung mehrerer Aufgaben)
|
||||
5. Parallelität geht nicht immer (vorraussetzung Nebenläufigkeit)
|
||||
|
||||
Begriffe
|
||||
1. Aktivitäten heißen nebenläufig, wenn zwischen ihnen keine kausalen abhängigkeiten bestehen
|
||||
2. Aktivitäten heißen parallel, wenn sie zeitlich überlappend druchgeführt werden
|
||||
|
||||
|
||||
> Definition Prozess: Ein Prozess ist eine Abstraktion zur vollständigen Beschreibung einer sequenziell ablaufenden Aktivität
|
||||
|
||||
parallele Aktivitäten werden repräsentiert durch parallele Prozesse
|
||||
|
||||
> Prozess = betriebssystem-Abstraktion zur Ausführung von programmen
|
||||
|
||||
> Prozessmodelle: definieren konkrete Prozesseigenschaften
|
||||
|
||||
> Prozessmanagement: Komponente eines Betriebssystems, die Prozessmodell dieses Betriebssystems implementiert
|
||||
|
||||
> Aufgabe: präzise Definition der Betriebssystem-Abstraktion "Prozess"
|
||||
(definiert durch Semantik und nichtfunktionale Eigenschaften; implementiert durch Datenstrukturen/Algorithmen)
|
||||
|
||||
> Prozesserzeugung: Erzeugen einer Programmablaufumgebung
|
||||
|
||||
## Prozesserzeugung
|
||||
### Was geschieht bei der Prozesserzeugung
|
||||
1. Prüfen notwendiger Vorraussetzungen (Rechte, Ressoucenverfügbarkeit,...)
|
||||
2. Namensvergabe und "Stammbaumpflege"
|
||||
3. Allokation von Ressourcen (Arbeitsspeicher, Prozessorzeit)
|
||||
4. Anlegen von Managementstrukturen (belegte Ressourcen, Laufzetmanagement)
|
||||
|
||||
### Prozesserzeugung: notwenige Vorraussetzungen
|
||||
1. Rechte: zur Prozesserzeugung und Ressourcenallokation (Kontingente)
|
||||
2. Ressourcenverfügbarkeit (Arbeitsspeicher, Rechenzeit, Kommunikation)
|
||||
3. Sicherheit (Authentizität und Integrität des auszuführenden Programms)
|
||||
4. bei Echtzeitbetriebssystem
|
||||
- Erfüllung von Ressourcenanforderung
|
||||
- Einhaltung gegebener Garantien
|
||||
5. Fairness (Quoten)
|
||||
6. robustheit/Überlastvermeidung (Lastsituation)
|
||||
|
||||
### Prozesserzeugung: Namensvergabe
|
||||
Identifikation ist positive ganze Zahl durch Vergabe Algorithmus. Kann nach Terminierung eines Prozesses erneut vergeben werden
|
||||
- eindeutig: zu einem Zeitpunkt bzgl aller existierenden Prozesse
|
||||
- nicht unbedingt eindeutig: für zeitlich nicht überlappende Prozesse
|
||||
- erst recht nicht eindeutig: über Systemgrenze hinweg
|
||||
|
||||
### Prozesserzeugung: Stammbaumpflege
|
||||
Abstammungsbeziehung: definieren Eltern/Kind Hierarchie
|
||||
1. Prozess erzeugt weitere Prozesse: Kinder
|
||||
2. diese wiederum erzeugen weitere Prozesse usw
|
||||
-> baumartige Abstammungshierarchie
|
||||
Nutzung: Rechte und Verantwortlichkeiten
|
||||
|
||||
Verwaiste Prozesse -> Adoption (durch Urprozess)
|
||||
|
||||
### Prozesserzeugung: Allokation (Zuordnung) von Ressourcen
|
||||
1. Arbeitsspeicher
|
||||
1. Größe: Wie viel Arbeitsspeicher benötigt der Prozess?
|
||||
2. Zeitpunkt: zu welchem Zeitpunkt? Echtzeiteigenschaften (Planbarkeit) oder Performanz (proaktivität)?
|
||||
3. Isolation: wie ist er geschützt? (Robustheit, Sicherheit, Korrektheit)
|
||||
2. Prozessorzeit
|
||||
1. in Prozessmodellen echtzeitfähiger Systeme: Größe und Zeitpunkt
|
||||
2. in Prozessmodellen ohne diese Eigenschaften: dynamisches ad-hoc-Scheduling
|
||||
|
||||
für richtige Initialisierung: präzise Formatvereinbarung zwischen
|
||||
- Linker (Programmdatei-Produzent)
|
||||
- Prozessmanagement des BS (Programmdatei Nutzer)
|
||||
|
||||
1. das a.out-Format (veraltet; ursprünglich Unix Format)
|
||||
2. das Mach Object File Format (Mach-O; heutiger Standard für OS X, iOS)
|
||||
3. das Executable and Link(age/able) Format (ELF; heutiger Linux standard)
|
||||
|
||||
### Prozesserzeugung: Management Datenstrukturen
|
||||
Buchführung über sämtliche zum management notwendigen Informationen
|
||||
- Prozessidentifikation
|
||||
- Rechtemanagement
|
||||
- Speichermanagement
|
||||
- Prozessormanagement
|
||||
- Kommunikationsmanagement
|
||||
|
||||
a. Prozessdeskriptor (process control block ~ PCB)
|
||||
b. Prozessdeskriptortabelle: Deskriptioren sämtlicher Prozesse
|
||||
|
||||
| Prozessormanagement | |
|
||||
| Identifikation | eindeutige Prozessbezeichnung; einordnung in Abstammungshierarchie |
|
||||
| Scheduling | Informationen für Schedulingalgorithmen |
|
||||
| Prozessorkontext | gesichert bei Verdrängung des Prozesses, restauriert bei Reaktivierung |
|
||||
| Ereignismanagement | what if... |
|
||||
| Accounting (Kontoführung) | zur Prioritätsbestimmung, Statisik, kostenberechnung |
|
||||
| Virtueller Adressraum | Beschreibung des Speicherlayouts |
|
||||
| Kernel Stack | Prozedurmanagement innerhalb des BS |
|
||||
| Rechtemanagement | |
|
||||
| Allgemeines Ressourcenmanagement | Filedeskriptoren, Socketdeskriptoren,... |
|
||||
|
||||
### Aktionen des Prozessmanagements
|
||||
- Prüfen notweniger Vorraussetzungen
|
||||
- Namensvergabe und Stammbaum
|
||||
- Allokation von Ressourcen
|
||||
- Anlegen von Managementdatenstrukturen (Prozessdeskriptor)
|
||||
|
||||
### Prozessterminierung
|
||||
durch
|
||||
- Aufgabe erledigt
|
||||
- Fehler aufgetreten
|
||||
- durch Nutzer/Eigentümer geschlossen
|
||||
- ...
|
||||
|
||||
1. Freigabe der Ressourcen
|
||||
2. Benachrichtigung der "Eltern"
|
||||
3. Adoption der "Kinder"
|
||||
Reference in New Issue
Block a user