update
This commit is contained in:
parent
fd66c695fc
commit
5654a06633
@ -22,6 +22,7 @@
|
|||||||
<toc-element topic="15_Bibliotheken.md"/>
|
<toc-element topic="15_Bibliotheken.md"/>
|
||||||
<toc-element topic="16_Dateisysteme.md"/>
|
<toc-element topic="16_Dateisysteme.md"/>
|
||||||
<toc-element topic="17_Plattenspeicherverwaltung.md"/>
|
<toc-element topic="17_Plattenspeicherverwaltung.md"/>
|
||||||
|
<toc-element topic="Klausurthemen.md"/>
|
||||||
</toc-element>
|
</toc-element>
|
||||||
<toc-element toc-title="OOAD">
|
<toc-element toc-title="OOAD">
|
||||||
<toc-element topic="IntroductionOOAD.md"/>
|
<toc-element topic="IntroductionOOAD.md"/>
|
||||||
|
63
Writerside/topics/BS/Klausurthemen.md
Normal file
63
Writerside/topics/BS/Klausurthemen.md
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# Klausur
|
||||||
|
## Themenbereiche
|
||||||
|
- 4 Stück mit je 20 Punkten
|
||||||
|
|
||||||
|
1. Kernel
|
||||||
|
- Was ist ein Kernel
|
||||||
|
- Was für Varianten
|
||||||
|
- Warum ist das so
|
||||||
|
|
||||||
|
2. Prozesse
|
||||||
|
- Wie funktionieren die
|
||||||
|
- Wie sind sie aufgebaut
|
||||||
|
- Wer verwaltet sie
|
||||||
|
- Wie werden sie verwaltet
|
||||||
|
|
||||||
|
3. Interprozesskommunikation / Scheduling
|
||||||
|
- IPC
|
||||||
|
- Scheduling
|
||||||
|
- Was ist das
|
||||||
|
- Was macht das
|
||||||
|
|
||||||
|
4. Speicherverwaltung / Virtualisierung
|
||||||
|
- VM / Container
|
||||||
|
- Virtueller Speicher
|
||||||
|
- Wie funktioniert das
|
||||||
|
- Was macht Speicherverwaltung generell
|
||||||
|
- Konzepte
|
||||||
|
- Was wird da so gemacht
|
||||||
|
|
||||||
|
### Keine Spickzettel :/
|
||||||
|
|
||||||
|
## Kommt nicht dran
|
||||||
|
- Energieeffizienz
|
||||||
|
- Dateisysteme
|
||||||
|
- Plattenspeicherverwaltung
|
||||||
|
- Und alles was da oben nicht steht :)
|
||||||
|
|
||||||
|
|
||||||
|
## Altklausur WiSe 2324
|
||||||
|
**Aufgabe1:**
|
||||||
|
1. Beschreiben Sie Betriebssysteme
|
||||||
|
2. Grundlegende Funktionalitäten von Kernel
|
||||||
|
3. Unterschied von monolithische und minimale Kernel grafisch darstellen.
|
||||||
|
4. Grundsätzlich m.. Bottleneck von verschiedenen Betriebssystem Varianten
|
||||||
|
|
||||||
|
**Aufgabe2:**
|
||||||
|
1. Beschreiben Sie die Kontrollstruktur von Prozessen blah blah, Welche Informationen bekommt man blah blah
|
||||||
|
2. Unterschied zwischen Thread und Fork() im Zusammenhang mit nebenläufigen Programme
|
||||||
|
3. 8-Zustandsdiagramm von Linux
|
||||||
|
4. Beschreiben Sie die Funktion von Signalen im BS/Prozess?
|
||||||
|
|
||||||
|
**Aufgabe3:**
|
||||||
|
1. Beschreiben Sie Interkommunikation thingy
|
||||||
|
2. Nenne Sie 3 Methoden davon und beschreiben Sie diese
|
||||||
|
3. Beschreiben Sie die Funktionen von verdrängende und kooperative Scheduling
|
||||||
|
4. Warum Priorisierung Scheduling und Wie
|
||||||
|
|
||||||
|
**Aufgabe4:**
|
||||||
|
1. verschiedene Partionierungsverfahren beschreiben
|
||||||
|
2. Speicherabstraktion und funktion von Adressenräume
|
||||||
|
3. Paging erklären
|
||||||
|
4. Virtueller Speicherraum vs Container
|
||||||
|
|
@ -175,7 +175,7 @@
|
|||||||
- **Probleme**
|
- **Probleme**
|
||||||
- Pattern löst zwei Probleme gleichzeitig
|
- Pattern löst zwei Probleme gleichzeitig
|
||||||
- verletzt [SRP](SOLID-Principle.md#s-single-responsibility-principle-srp)
|
- verletzt [SRP](SOLID-Principle.md#s-single-responsibility-principle-srp)
|
||||||
- Kann schlechtes Design verstecken (bspw. kein Loose Coupling)
|
- Kann sychlechtes Design verstecken (bspw. kein Loose Coupling)
|
||||||
|
|
||||||
|
|
||||||
## Adapter Pattern
|
## Adapter Pattern
|
||||||
|
124
Writerside/topics/OOAD/Praktikum4_Diagramme.md
Normal file
124
Writerside/topics/OOAD/Praktikum4_Diagramme.md
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
```plantuml
|
||||||
|
@startuml
|
||||||
|
class Subject <<abstract>>{
|
||||||
|
+ ~Subject()
|
||||||
|
+ attach(obersever: Observer*): void
|
||||||
|
+ detach(observer: Observer*): void
|
||||||
|
+ notify(): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class Observer <<interface>>{
|
||||||
|
+ {abstract} update(): void
|
||||||
|
+ ~Observer()
|
||||||
|
}
|
||||||
|
|
||||||
|
class SystemBattery{
|
||||||
|
+ setBatteryLevel(data: int): void
|
||||||
|
+ getData(): int
|
||||||
|
- BatteryLevel: int
|
||||||
|
}
|
||||||
|
|
||||||
|
class BatteryApp{
|
||||||
|
+ BatteryApp(subject: SystemBattery&, name: string)
|
||||||
|
+ update(): void
|
||||||
|
- name: string
|
||||||
|
}
|
||||||
|
|
||||||
|
class BatteryLogger{
|
||||||
|
+ BatteryLogger(subject: SystemBattery&, name: string)
|
||||||
|
+ update(): void
|
||||||
|
- name: string
|
||||||
|
}
|
||||||
|
|
||||||
|
Subject <|-- SystemBattery
|
||||||
|
Observer <|-- BatteryApp
|
||||||
|
Observer <|-- BatteryLogger
|
||||||
|
|
||||||
|
SystemBattery "1" *- "*" BatteryApp: - subject: SystemBattery&
|
||||||
|
SystemBattery "1" *- "*" BatteryLogger: - subject: SystemBattery&
|
||||||
|
Subject "*" -o "*" Observer: - observers: list<Observer*>
|
||||||
|
|
||||||
|
|
||||||
|
@enduml
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
actor human
|
||||||
|
activate human
|
||||||
|
create participant Main
|
||||||
|
human -)+ Main: <<create>>
|
||||||
|
|
||||||
|
Note over Main: create Observers and Subject
|
||||||
|
create participant SystemBattery as systemBattery: Subject
|
||||||
|
Main ->>+ SystemBattery: <<create>>
|
||||||
|
SystemBattery --)- Main: return
|
||||||
|
|
||||||
|
create participant Observer as batteryApp: Observer
|
||||||
|
Main ->>+ Observer: <<create>>(SystemBattery* = *systemBattery, name = "BatteryApp")
|
||||||
|
Observer->>+ SystemBattery: attach(this)
|
||||||
|
SystemBattery ->> SystemBattery: observers.push_back(batteryApp)
|
||||||
|
SystemBattery --)- Observer: return
|
||||||
|
Observer --)- Main: return
|
||||||
|
|
||||||
|
create participant Logger as batteryLogger: Observer
|
||||||
|
Main ->>+ Logger: <<create>>(SystemBattery* = *systemBattery, name = "BatteryLogger")
|
||||||
|
Logger->>+ SystemBattery: attach(this)
|
||||||
|
SystemBattery ->> SystemBattery: observers.push_back(batteryLogger)
|
||||||
|
SystemBattery --)- Logger: return
|
||||||
|
Logger --)- Main: return
|
||||||
|
|
||||||
|
Note over Main: Set BatteryLevel to 87
|
||||||
|
Main ->>+ SystemBattery: setBatteryLevel(data = 87)
|
||||||
|
activate SystemBattery
|
||||||
|
SystemBattery -->> SystemBattery: BatteryLevel = data
|
||||||
|
SystemBattery --) human: "New value 87
|
||||||
|
|
||||||
|
%% Loop for each observer
|
||||||
|
note over SystemBattery: update each Observer
|
||||||
|
SystemBattery ->>+ SystemBattery: notify()
|
||||||
|
SystemBattery ->>+ Observer: update()
|
||||||
|
Observer ->>+ SystemBattery: getData()
|
||||||
|
SystemBattery --)- Observer: return BatteryLevel
|
||||||
|
Observer -->> Observer: newValue = BatteryLevel
|
||||||
|
Observer --) human: "This is batteryApp! Received value 87"
|
||||||
|
Observer --)- SystemBattery: return
|
||||||
|
|
||||||
|
SystemBattery ->>+ Logger: update()
|
||||||
|
Logger ->>+ SystemBattery: getData()
|
||||||
|
SystemBattery --)- Logger: return BatteryLevel
|
||||||
|
Logger -->> Logger: newValue = BatteryLevel
|
||||||
|
Logger --) human: "TThis is batteryLogger! Received value 87! Will proceed to log value into file..."
|
||||||
|
Logger -->> Logger: log data into file
|
||||||
|
Logger --)- SystemBattery: return
|
||||||
|
%% end loop
|
||||||
|
deactivate SystemBattery
|
||||||
|
SystemBattery --)- Main: return
|
||||||
|
|
||||||
|
Note over Main: delete created Objects
|
||||||
|
Main --x Observer: <<delete>>
|
||||||
|
activate Observer
|
||||||
|
Observer ->>+ SystemBattery: detach(this)
|
||||||
|
SystemBattery ->> SystemBattery: overservers.remove(batteryApp)
|
||||||
|
deactivate Observer
|
||||||
|
destroy Observer
|
||||||
|
SystemBattery --)- Observer: return
|
||||||
|
|
||||||
|
Main --x Logger: <<delete>>
|
||||||
|
activate Logger
|
||||||
|
Logger ->>+ SystemBattery: detach(this)
|
||||||
|
SystemBattery ->> SystemBattery: overservers.remove(batteryLogger)
|
||||||
|
deactivate Logger
|
||||||
|
destroy Logger
|
||||||
|
SystemBattery --)- Logger: return
|
||||||
|
|
||||||
|
destroy SystemBattery
|
||||||
|
Main --x SystemBattery: <<delete>>
|
||||||
|
|
||||||
|
Main --)- human: return
|
||||||
|
|
||||||
|
destroy Main
|
||||||
|
human --x Main: <<destroy>>
|
||||||
|
deactivate human
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user