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
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
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
Yannick Vollmer
sp-quiz
Commits
4b692d13
Commit
4b692d13
authored
1 year ago
by
Philip Kaluđerčić
Browse files
Options
Downloads
Patches
Plain Diff
Add more questions from ss16
parent
900956f2
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
ss16.q
+70
-0
70 additions, 0 deletions
ss16.q
with
70 additions
and
0 deletions
ss16.q
+
70
−
0
View file @
4b692d13
#
https
://
sys.cs.fau.de
/
extern
/
lehre
/
ws23
/
sp2
/
pruefung
/
klausuren
/
2016
s
-
SP
-
Klausur
-
www.pdf
0
Welche
Aussage
zum
Thema
Speicherzuteilung
ist
richtig
?
(
Juli
2016
)
-
Beim
Halbierungsverfahren
(
buddy
-
Verfahren
)
kann
keine
interne
Fragmentierung
auftreten.
Doch
,
weil
der
Speicher
intern
in
Zweier
-
Potenzen
aufgeteilt
wird
,
und
wenn
man
weniger
braucht
,
hat
man
Speicher
-
Verschlie
ß
.
...
...
@@ -9,3 +11,71 @@
Nein
,
das
versucht
nur
den
Verschnitt
zu
minimieren
,
und
opfert
daf
ü
r
Laufzeit
,
weshalb
es
nicht
"in jedem Fall"
das
beste
sein
kann.
.
0
Welche
Aussage
zum
Thema
Adressr
ä
ume
ist
richtig
?
(
Juli
2016
)
-
Im
realen
Adressraum
sind
alle
theoretisch
m
ö
glichen
Adressen
auch
g
ü
ltig.
Nein
,
weil
der
reale
Addressraum
l
ü
cken
haben
kann
,
bedingt
durch
den
Speicher.
+
Der
Zugriff
auf
eine
virtuelle
Adresse
,
die
zum
Zeitpunkt
des
Zugriffs
nicht
im
Hauptspeicher
abgebildet
ist
,
f
ü
hrt
zu
einem
Trap.
Ja
,
das
Betriebsystem
kann
dann
versuchen
die
Seite
einzulagern
,
oder
einen
Speicherfehler
an
den
Prozess
weiterzuleiten.
-
Die
Gr
öß
e
eines
virtuellen
Adressraums
darf
die
Gr
öß
e
des
vorhandenen
Hauptspeichers
nicht
ü
berschreiten.
Nein
,
der
virtuelle
Adressraum
abstrahiert
ü
ber
dem
realem
Addressraum
,
und
kann
vort
ä
uschen
(
/
virtualisieren
/
)
die
gesammte
Wortbreite
addressierbar
zu
machen.
-
Bei
Seitennummerierung
besitzt
jede
Seite
eine
unterschiedliche
Gr
öß
e.
Nein
,
alle
Seiten
haben
die
gleiche
Gr
öß
e
(
ausnahme
Huge
-
Pages
,
welche
ein
Vielfaches
gr
öß
er
sind
)
,
damit
diese
leichter
ein
-
und
ausgelagert
werden
k
ö
nnen.
.
0
Ein
laufender
Prozess
wird
in
den
Zustand
blockiert
ü
berf
ü
hrt.
Welche
Aussage
passt
zu
diesem
Vorgang
?
(
Juli
2016
)
-
Der
Prozess
terminiert.
Nein
,
weil
ein
blokierter
Prozess
kann
sp
ä
ter
weiter
laufen
,
sobald
die
Ursache
,
d.h.
eine
fehlende
Ressource
,
behoben
wurde.
-
Es
ist
kein
direkter
Ü
bergang
von
laufend
nach
blockiert
m
ö
glich.
Nein
,
ein
laufender
Prozess
kann
direkt
blockiert
werden
(
ohne
bspw.
ü
ber
"bereit"
zu
gehen
)
,
wenn
ein
blokierender
Systemaufruf
(
`read
(
2
)
`
,
`accept
(
2
)
`
,
`wait
(
2
)
`
,
...
)
get
ä
tigt
wird.
+
Der
Prozess
wartet
auf
Daten
von
der
Standardeingabe.
Ja
,
weil
das
den
Prozess
so
lange
blokiert
,
bis
diese
Daten
verf
ü
gbar
sind.
-
Der
bisher
laufende
Prozess
wurde
vom
Betriebssystem
verdr
ä
ngt
und
ein
anderer
Prozess
auf
der
CPU
eingelastet.
Nein
,
der
Prozess
muss
nicht
(
sofort
)
auf
einer
anderen
CPU
eingelastet
werden.
.
0
Welche
Aussage
zum
Aufbau
einer
Kommunikationsverbindung
zwischen
einem
Client
und
Server
ü
ber
eine
Socket
-
Schnittstelle
ist
richtig
?
(
Juli
2016
)
-
Der
Server
signalisiert
durch
einen
Aufruf
von
`connect
()
`
,
dass
er
zur
Annahme
von
Verbindungen
bereit
ist
;
ein
Client
kann
dies
durch
`accept
()
`
annehmen.
Nein
,
dazu
benutzt
der
Server
den
Systemaufruf
`listen
()
`
,
`connect
()
`
wird
auf
der
Client
-
Seite
benutzt
um
sich
mit
einem
Server
zu
verbinden.
-
Der
Server
erzeugt
einen
Socket
und
ruft
anschlie
ß
end
`bind
()
`
auf
--
der
Client
muss
durch
einen
Aufruf
von
`listen
()
`
warten
,
bis
der
Server
bereit
zur
Annahme
von
Verbindungen
ist.
Nein
,
wenn
der
*
Server
*
den
Socket
nicht
f
ü
r
Verbindungen
vorbereitet
hat
mittels
`listen
()
`
,
wird
der
*
Client
*
mit
`connect
()
`
einen
Fehler
erfahren.
Es
ist
nicht
in
diesem
Sinne
mit
`listen
()
`
f
ü
r
den
Client
m
ö
glich
auf
zuk
ü
nftige
Dienstleistungen
zu
warten.
-
Nach
der
Erzeugung
eines
Sockets
mittels
`socket
()
`
kann
ohne
weitere
System
-
oder
Funktionsaufrufe
sofort
eine
Verbindung
von
einem
Client
durch
einen
Aufruf
von
`connect
()
`
angenommen
werden.
(
Juli
2016
)
Falsch
,
man
kann
mit
`connect
()
`
keine
Verbindung
*
annehmen
*,
dazu
benutzt
man
`accept
()
`.
In
dem
Fall
muss
aber
zuvor
`bind
()
`
und
`listen
()
`
verwenden.
+
Der
Server
richtet
an
einem
Socket
mittels
`listen
()
`
eine
Warteschlange
f
ü
r
ankommende
Verbindungen
ein
und
kann
danach
mit
`accept
()
`
eine
konkrete
Verbindung
annehmen.
`accept
()
`
blockiert
so
lange
die
Warteschlange
leer
ist.
.
0
Wozu
dient
der
Maschinenbefehl
_
cas_
(
compare
-
and
-
swap
)
?
(
Juli
2016
)
-
Um
bei
Monoprozessorsystemen
Interrupts
zu
sperren.
Nein
,
das
w
ä
re
auf
x86
ein
Befehl
wie
`cli`.
+
Um
auf
einem
Multiprozessorsystem
einfache
Modi
fi
kationen
an
Variablen
ohne
Sperren
implementieren
zu
k
ö
nnen.
Ja
,
es
ersetzt
einen
Wert
atomar
und
transaktional
,
wenn
der
Wert
sich
nicht
ver
ä
ndert
hat.
-
Um
bei
der
Implementierung
von
Schlossvariablen
(
Locks
)
aktives
Warten
zu
vermeiden
Nein
,
passives
Warten
braucht
einen
Scheduler
,
was
man
nicht
direkt
mit
cas
bekommt.
-
Um
in
einem
System
mit
Seitennummerierung
(
Paging
)
Speicherseiten
in
die
Auslagerungspartition
(
swap
area
)
schreiben
zu
k
ö
nnen.
Nein
,
das
wird
nicht
mit
einem
Maschinenbefehl
umgesetzt
,
sondern
braucht
eine
MMU.
.
0
Welche
Aussage
zu
Seitenersetzungsstrategien
ist
richtig
?
(
Juli
2016
)
-
Bei
der
Seitenersetzungsstrategie
FIFO
wird
immer
die
zuletzt
eingelagerte
Seite
ersetzt.
Nein
,
_
First
In
,
First
Out_
wird
die
ä
lteste
Seite
ausgelagert.
-
Beim
Auslagern
einer
Speicherseite
muss
der
zugeh
ö
rige
Seitendeskriptor
angepasst
werden
,
beim
Einlagern
einer
Seite
ist
das
jedoch
nicht
n
ö
tig.
Nein
,
der
Deskriptor
muss
dahingehend
angepasst
werden
,
um
anzudeuten
dass
die
Seite
wieder
pr
ä
sent
ist.
+
Bei
der
Seitenersetzungsstrategie
LRU
wird
die
Seite
ersetzt
,
welche
am
l
ä
ngsten
nicht
mehr
referenziert
wurde.
Ja
,
_
Least
Recently
Used_
wird
die
ä
lteste
unbenutzte
Seite
ausgelagert.
-
Beim
Einsatz
der
Seitenersetzungsstrategie
FIFO
kann
es
nicht
zu
Seiten
fl
attern
kommen.
Doch
,
wenn
die
neuste
Seite
(
_
First
In_
)
immer
ausgelagert
wird
(
_
First
Out_
)
,
dann
werden
bei
hoher
Last
immer
die
gleichen
Seiten
ein
-
und
ausgelagert
,
was
man
unter
"Seitenflattern"
versteht.
.
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment