Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
sp-quiz
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Monitor
Service Desk
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Philip Kaluđerčić
sp-quiz
Merge requests
!13
Fragen von ws20.
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Fragen von ws20.
wa28ziqo/sp-quiz:ws20
into
main
Overview
13
Commits
2
Changes
1
Merged
Maximilian
requested to merge
wa28ziqo/sp-quiz:ws20
into
main
1 year ago
Overview
13
Commits
2
Changes
1
Expand
Ein paar Fragen aus der Klausur aus dem Wintersemester 2020.
0
0
Merge request reports
Compare
main
version 2
57120489
1 year ago
version 1
fe17e971
1 year ago
main (base)
and
latest version
latest version
68f5ef85
2 commits,
1 year ago
version 2
57120489
1 commit,
1 year ago
version 1
fe17e971
6 commits,
1 year ago
1 file
+
68
−
0
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
ws20.q
+
68
−
0
Options
#
https
://
sys.cs.fau.de
/
extern
/
lehre
/
ws23
/
sp2
/
pruefung
/
klausuren
/
2020
w
-
SP
-
Klausur_www.pdf
0
Gegeben
seien
die
folgenden
Pr
ä
prozessor
-
Makros
:
(
2021
-
02
)
|
|
|~~~
|#
define
ADD
(
a
,
b
)
a
+
b
|#
define
DIV
(
a
,
b
)
a
/ b
|~~~
|
|
Was
ist
das
Ergebnis
des
folgenden
Ausdrucks
?
|
|~~~
|
3
*
DIV
(
ADD
(
4
,
8
)
,
2
)
|~~~
-
18
-
10
-
24
+
16
Ja.
Makros
,
die
mit
`
#
define
`
definiert
sind
,
werden
rein
textuell
vor
dem
eigentlichen
Kompiliervorgang
vom
Pr
ä
prozessor
expandiert
,
indem
an
der
Stelle
,
an
der
das
Makro
verwendet
wird
,
die
Definition
dessen
,
bis
auf
Ersetzung
der
Parameter
mit
dem
angegebenen
Text
,
unver
ä
ndert
eingesetzt
wird.
Hier
wird
also
nach
dem
Pr
ä
prozessor
-
Schritt
der
folgende
Ausdruck
kompiliert
:
`3
*
4
+
8
/ 2`. Das ergibt 16. Dieses Problem könnte hier durch das Einklammern der Definitionen gelöst werden.
.
0
Welche
Aussage
ü
ber
Einplanungsverfahren
ist
richtig
?
(
2021
-
02
)
-
Im
Round
-
Robin
-
Verfahren
nutzen
E
/
A
-
intensive
Prozesse
die
ihnen
zugeteilte
Zeitscheibe
immer
voll
aus
Nein.
Bei
*
round
-
robin
*
wird
jedem
Prozess
reihum
eine
gleich
lange
Zeitscheibe
zugeteilt.
Ein
E
/
A
-
intensiver
Prozess
,
der
oft
fr
ü
h
in
seiner
Zeitscheibe
durch
eine
E
/
A
-
Operation
in
den
Zustand
"blockiert"
ü
bergeht
,
kann
seine
Zeitscheibe
nicht
bis
zum
Ende
ausnutzen.
-
Der
Konvoieffekt
kann
bei
kooperativen
Einplanungsverfahren
wie
First
-
Come
-
First
-
Served
nicht
auftreten.
Nein.
Insbesondere
dort
muss
ein
Prozess
,
der
nur
einen
kurzen
Rechensto
ß
macht
,
alle
l
ä
nger
dauernden
Rechenst
öß
e
in
der
Warteschlange
abwarten.
-
Bei
kooperativen
Verfahren
k
ö
nnen
Prozesse
die
CPU
nicht
monopolisieren.
Nein.
Genau
bei
kooperativen
Verfahren
,
bei
denen
Prozesse
die
CPU
freiwillig
abgeben
m
ü
ssen
,
ist
dies
m
ö
glich.
Pr
ä
emptive
Verfahren
k
ö
nnen
im
Gegensatz
dazu
derartige
Prozesse
unterbrechen.
+
In
einem
asymmetrischen
Multiprozessorsystem
ist
der
Einsatz
von
asymmetrischen
Verfahren
zur
Planung
obligatorisch.
Ja.
Man
betrachte
z.
B.
den
Fall
CPU
+
GPU.
Ein
Prozess
,
der
auf
der
CPU
rechnen
m
ö
chte
,
kann
nicht
unbedingt
auch
auf
der
GPU
rechnen.
Deswegen
ist
der
Einsatz
einer
Bereitliste
f
ü
r
alle
Rechenkerne
(
symmetrisches
Planungsverfahren
)
hier
unm
ö
glich.
Stattdessen
m
ü
ssen
zumindest
f
ü
r
GPU
und
CPU
separate
Bereitlisten
existieren.
Dies
zeichnet
asymmetrische
Planungsverfahren
aus.
.
0
Welche
Aussage
zu
virtuellem
Speicher
ist
richtig
?
(
2021
-
02
)
-
Virtueller
Speicher
sind
die
nicht
vorhandenen
Bereiche
des
physikalischen
Adressraums.
Nein.
Mit
virtuellem
Speicher
ist
kein
Bereich
des
physikalischen
Adressraums
gemeint.
Stattdessen
bezeichnet
man
damit
die
partielle
Abbildung
vom
logischen
zum
physikalischen
Adressraum.
-
Virtueller
Speicher
kann
dynamisch
zur
Laufzeit
von
einem
Programm
mit
der
Funktion
malloc
(
3
p
)
erzeugt
werden.
Nein.
Die
Implementation
von
`malloc`
kann
das
Betriebssystem
dazu
auffordern
(
`mmap
(
2
)
,
brk
(
2
)
`
)
,
den
verf
ü
gbaren
Speicherbereich
des
Prozesses
zu
vergr
öß
ern.
Benutzerprogramme
k
ö
nnen
jedoch
nicht
selbst
die
Abbildung
von
virtuellen
Adressen
zu
physikalischen
Adressen
ä
ndern.
-
Unter
einem
Virtuellen
Speicher
versteht
man
einen
physikalischen
Adressraum
,
dessen
Adressen
durch
eine
MMU
vor
dem
Zugriff
auf
logische
Adressen
umgesetzt
werden.
Nein.
Die
*
memory
management
unit
*
ü
bersetzt
logische
Adressen
auf
physikalische.
+
Virtueller
Speicher
kann
gr
öß
er
sein
als
der
physikalisch
vorhandene
Arbeitsspeicher.
Gerade
nicht
ben
ö
tigte
Speicherbereiche
k
ö
nnen
auf
Hintergrundspeicher
ausgelagert
werden.
Ja.
Das
bezeichnet
man
als
*
swapping
*.
.
0
Beim
Einsatz
von
RAID
-
Systemen
kann
durch
zus
ä
tzliche
Festplatten
Fehlertoleranz
erzielt
werden.
Welche
Aussage
dazu
ist
richtig
?
(
2021
-
02
)
+
Bei
allen
RAID
-
Systemen
ist
ein
h
ö
herer
Lese
-
Durchsatz
als
bei
einer
einzelnen
Platte
m
ö
glich
,
da
mehrere
Platten
gleichzeitig
beauftragt
werden
k
ö
nnen.
Ja
,
bei
allen
in
SP
betrachteten
Systemen
wird
dies
als
Vorteil
genannt.
-
Bei
RAID
4
Systemen
wird
Parit
ä
tsinformation
gleichm
äß
ig
ü
ber
alle
beteiligten
Platten
verteilt.
Nein.
Das
w
ä
re
RAID
5.
Bei
RAID
4
gibt
es
eine
designierte
Parit
ä
tsplatte.
-
RAID
0
erzielt
Fehlertoleranz
durch
das
Verteilen
der
Daten
auf
mehrere
Platten.
Nein.
RAID
0
erzielt
keine
Fehlertoleranz
sondern
erh
ö
ht
nur
die
Lese
-
und
Schreibgeschwindigkeit.
-
Bei
RAID
4
und
5
darf
eine
bestimmte
Menge
von
Festplatten
nicht
ü
berschritten
werden
,
da
es
sonst
nicht
mehr
m
ö
glich
ist
,
die
Parit
ä
tsinformation
zu
bilden
Nein.
Derartige
Einschr
ä
nkungen
existieren
nicht.
.
0
Man
unterscheidet
Programmunterbrechungen
in
Traps
und
Interrupts.
Welche
Aussage
ist
richtig
?
(
2021
-
02
)
-
Weil
das
Betriebssystem
nicht
vorhersagen
kann
,
wann
ein
Prozess
einen
Systemaufruf
t
ä
tigt
,
sind
Systemaufrufe
in
die
Kategorie
Interrupt
einzuordnen.
Nein.
Systemaufrufe
werden
deterministisch
ausgef
ü
hrt
,
also
werden
sie
der
Kategorie
Trap
zugeordnet.
-
Bei
der
mehrfachen
Ausf
ü
hrung
eines
unver
ä
nderten
Programms
mit
gleichen
Eingabedaten
treten
Interrupts
immer
an
den
gleichen
Stellen
auf.
Nein.
Das
w
ä
re
die
Definition
von
Traps.
Interrupts
,
wie
z.
B.
das
Eintreffen
eines
Netzwerkpakets
treten
ohne
direkten
Zusammenhang
zum
unterbrochenen
Prozess
auf.
-
Ein
gerade
laufendes
Maschinenprogramm
kann
bei
Bedarf
die
Behandlung
aller
Programmunterbrechungen
unterdr
ü
cken.
Nein.
Das
Unterdr
ü
cken
von
Interrupts
ist
eine
privilegierte
Operation
,
die
dem
Betriebssystem
vorbehalten
ist.
(
Das
w
ü
rde
sonst
z.
B.
einem
Benutzerprozess
das
Umgehen
einer
pr
ä
emptiven
Einplanung
erm
ö
glichen
)
+
Normale
Rechenoperationen
k
ö
nnen
zu
einem
Trap
f
ü
hren.
Ja
,
wenn
z.
B.
[
Division
auf
x86_64
](
https
://
www.felixcloutier.com
/
x86
/
div
)
mit
einem
Divisor
von
0
ausgef
ü
hrt
wird.
.
Loading