Begonnen am 开始于Dienstag, 30. Juli 2024, 17:03
2024年7月30日,星期二,下午5:03
Status 地位Beendet 完成
Beendet am 结束于Dienstag, 30. Juli 2024, 17:04
2024 年 7 月 30 日,星期二,下午 5:04
Verbrauchte Zeit 花费的时间9 Sekunden 9 秒
Bewertung 评估0,00 von 24,00 (0%) 24.00 的 0.00 (0%)

Frage 1 第1项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 1,00
可实现的分数: 1.00

Fragetext

Beim Paging... 贝姆分页...

Frage 1 Antwort
a.

... muss die Seitentabelle bijektiv sein.
...页表必须是双射的。

b.

... wird der gesamte Prozessspeicher am Stück in den physischen Speicher geladen.
...整个进程内存被整体加载到物理内存中。

c.

... wird eine sogenannte Seitentabelle verwendet, die Seiten (Virtueller Adressraum) auf Kacheln (Physikalischer Adressraum) abbildet.
...使用所谓的页表,将页面(虚拟地址空间)映射到瓦片(物理地址空间)。

d.

... wird der virtuelle Adressraum eines Prozesses in Seiten gleicher Größe unterteilt, die unabhängig voneinander im physischen Speicher platziert werden können.
...将进程的虚拟地址空间划分为相同大小的页,这些页可以独立放置在物理内存中。

e.

... gibt es keine Möglichkeit, Seiten zwischen Hauptspeicher und Sekundärspeicher auszutauschen.
...无法在主内存和辅助内存之间交换页面。

Feedback

Frage 2 第2项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 4,00
可实现的分数: 4.00

Fragetext

Beim Paging/Segmentierung verwendet man meistens einen Übersetzungspuffer (Translation Look-Aside Buffer, kurz TLB) um einen schnellen Zugriff auf die Seitenabbildungen zu ermöglichen. Der
在分页/分段时,通常使用翻译旁路缓冲区(简称 TLB)来快速访问页面图像。这

TLB bietet Platz für einige Abbildungen der Seiten/Segmenttabelle. In der Vorlesung haben Sie bereits den vollassoziativen TLB kennengelernt. Bei dieser TLB-Variante werden mehre Basisadressen in einer assoziativen Tabelle festgehalten und bei bedarf durch einen Ersetzungsalgorithmus ersetzt.
TLB 为页面/段表的一些插图提供了空间。在讲座中,您已经熟悉了完全关联 TLB。在这种 TLB 变体中,几个基址被记录在一个关联表中,并在必要时被替换算法替换。

Neben den voll- und mengenassoziativen TLB finden auch nicht-assoziative TLBs Anwendung. Bei dieser Variante wird die virtuelle Adresse in einen Tag und einen Index zerlegt. Zu jedem Index wird im TLB genau eine Basisadresse festgehalten. Bei jedem Zugriff wird geprüft, ob die Basis für den jeweiligen Index mit dem Tag übereinstimmt. Ist dies der Fall spricht man von einem TLB-Hit. Stimmt der Tag nicht mit der Basis überein, handelt es sich um einen TLB-Miss. Bei einem TLB-Miss muss die Abbildung aus der Seiten/Segmenttabelle geladen werden. Die Basis wird in diesem Fall mit dem angeforderten Eintrag ersetzt.
除了完全关联和数量关联 TLB 外,还使用非关联 TLB。在此变体中,虚拟地址被分解为标签和索引。对于每个索引,TLB 中只记录一个基址。每次访问它时,它都会检查相应索引的基础是否与标签匹配。如果是这种情况,则称为 TLB 命中。如果标签与基数不重合,则为 TLB 未命中。在 TLB 未命中的情况下,必须从页面/段表中加载图形。在这种情况下,基数将替换为请求的条目。

Die ’Addition’ in den oberen beiden Blockschaltbildern ist als Konkatenation der Kachelnummer aus dem TLB mit dem Offset innerhalb der Seite zu verstehen, da die Seiten gleich groß sind und die Größe einer Zweierpotenz besitzen.
上面两个框图中的“加法”可以理解为来自 TLB 的瓦片编号与页面内的偏移量的串联,因为页面的大小相同,并且大小为 2 的幂。

In dieser Aufgabe soll der Tag aus fünf Bits und der Index aus zwei Bits bestehen. Simulieren Sie den nicht assoziativen TLB für fünf Zugriffe indem Sie die vorbereitete Tabelle vervollständigen. Schreiben Sie die Basen als Binärzahlen im Format BBBBB.
在此任务中,标记应由 5 个位和 2 个位的索引组成。通过完成准备好的表来模拟五个访问的非关联 TLB。以 BBBBB 格式将基数写为二进制数。

- Die Basis für den Index 00 lautet 10000.
- 索引 00 的基础是 10000。

- Die Basis für den Index 01 lautet 10101.
- 索引 01 的基础是 10101。

- Die Basis für den Index 10 lautet 11100.
- 指数 10 的基础是 11100。

- Die Basis für den Index 11 lautet 10110.
- 指数 11 的基础是 10110。

Die erste Spalte der Tabelle enthält eine Nummerierung der Zeilen.
表的第一列包含行的编号。

Die zweite und dritte Spalte enthalten den angeforderten Tag (5 Bits) und Index (2 Bits)
第二列和第三列包含请求的标记(5 位)和索引(2 位)

Die vierte Spalte enthält die Basis des Index 00, die fünfte Spalte enthält die Basis des Index 01, die sechste Spalte enthält die Basis des Index 10 und die letzte Spalte enthält die Basis des Index 11.
第四列包含索引 00 的底,第五列包含索引 01 的底,第六列包含索引 10 的底,最后一列包含索引 11 的底。

Schreiben Sie die Basen als Binärzahlen im Format BBBBB:
以 BBBBBB 格式将基数写为二进制数:

1 | 10000 | 00 |
1 |10000 |00 |
| | |
2 | 10101 | 01 |
2 |10101 |01 |
| | |
3 | 01101 | 10 |
3 |01101 |10 |
| | |
4 | 10110 | 11 |
4 |10110 |11 |
| | |
5 | 11000 | 11 |
5 |11000 |11 |
| | |
6 | 01101 | 10 |
6 |01101 |10 |
| | |
7 | 01101 | 00 |
7 |01101 |00 |
| | |
8 | 01101 | 11 |
8 |01101 |11 |
| | |

Dieser Aufgabentyp ist nicht relevant für die Klausur und ist hier als Zusatzaufgabe zu verstehen. Ein Verständnis von Paging, Segmentierung und TLBs ist aber sehr wohl relevant.
这种类型的任务与考试无关,在这里应理解为一项附加任务。但是,对分页、分段和 TLB 的理解非常重要。

Frage 3 第3项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 1,00
可实现的分数: 1.00

Fragetext

Übersetzen Sie mit Hilfe der Speichersegmentierung die virtuelle Adresse 0x0F0ADDAA in eine physikalische Adresse. 
使用存储分段将虚拟地址0x0F0ADDAA转换为物理地址。


Die höchstwertigen 8 Bit der logischen Adresse geben die Position innerhalb der Segmenttabelle an. Tragen Sie die berechnete Adresse als Hexadezimalzahl 0x???????? im Format ???????? (also ohne den sonst üblichen Präfix 0x...) ein. Löst eine Speicheranfrage eine Speicherschutzverletzung aus, machen Sie dies bitte durch XXXXXXXX kenntlich. Verwenden Sie ausschließlich Ziffern und die Großbuchstaben A, B, C, D, E, F und X für die Antwort.
逻辑地址的最高有效 8 位表示段表中的位置。 以十六进制 0x 的形式输入计算出的地址????????采用????????格式(即没有通常的前缀 0x...一。如果内存请求触发了内存保护违规,请用 XXXXXXXX 表示。答案仅使用数字和大写字母 A、B、C、D、E、F 和 X。

Für die Klausur ist es möglicherweise notwendig, dass Sie sicher mit Hexadezimalzahlen rechnen können!
对于考试,您可能需要可以安全地使用十六进制数进行计算!

Feedback

Frage 4 第4项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 1,00
可实现的分数: 1.00

Fragetext

Übersetzen Sie mit Hilfe der Speichersegmentierung die virtuelle Adresse 0x00AABB in eine physikalische Adresse. 
使用存储分段将虚拟地址0x00AABB转换为物理地址。


Die höchstwertigen 8 Bit der logischen Adresse geben die Position innerhalb der Segmenttabelle an. Tragen Sie die berechnete Adresse als Hexadezimalzahl 0x???????? im Format ???????? (also ohne den sonst üblichen Präfix 0x...) ein. Löst eine Speicheranfrage eine Speicherschutzverletzung aus, machen Sie dies bitte durch XXXXXXXX kenntlich. Verwenden Sie ausschließlich Ziffern und die Großbuchstaben A, B, C, D, E, F und X für die Antwort.
逻辑地址的最高有效 8 位表示段表中的位置。 以十六进制 0x 的形式输入计算出的地址????????采用????????格式(即没有通常的前缀 0x...一。如果内存请求触发了内存保护违规,请用 XXXXXXXX 表示。答案仅使用数字和大写字母 A、B、C、D、E、F 和 X。

Für die Klausur ist es möglicherweise notwendig, dass Sie sicher mit Hexadezimalzahlen rechnen können!
对于考试,您可能需要可以安全地使用十六进制数进行计算!


Feedback

Frage 5 第5项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 1,00
可实现的分数: 1.00

Fragetext

Bei einem Kontextwechsel...
切换上下文时...

Frage 5 Antwort
a.

... wird der Zustand des aktuell laufenden Prozesses gespeichert und der Zustand des nächsten zu laufenden Prozesses geladen.
...存储当前正在运行的进程的状态,并加载要运行的下一个进程的状态。

b.

... muss der Inhalt der Translation Lookaside Buffer (TLB) invalidiert werden, da sich die virtuelle zu physikalische Adressübersetzung ändert.
...转换后备缓冲区 (TLB) 的内容必须失效,因为虚拟地址到物理地址的转换会发生变化。

c.

... kann die Effizienz des Systems beeinträchtigt werden, da der Wechsel zwischen Prozessen Zeit und Ressourcen kostet.
...系统的效率可能会受到影响,因为在流程之间切换会花费时间和资源。

d.

... werden alle Daten im Cache automatisch beibehalten, um die Leistung zu verbessern.
...缓存中的所有数据都会自动保留,以提高性能。

e.

... wird nur zwischen Benutzerprozessen durchgeführt, nicht zwischen Kernelprozessen.
...仅在用户进程之间执行,而不在内核进程之间执行。

f.

... werden die Hardware-Komponenten wie CPU und Speicher komplett neu initialisiert.
...CPU 和内存等硬件组件将完全重新初始化。

g.

... bleibt der TLB unverändert, da er keine spezifischen Prozessinformationen speichert.
...TLB 保持不变,因为它不存储任何特定的进程信息。

h.

... muss der aktuelle Prozess immer auf den Abschluss aller seiner Fäden warten, bevor er gespeichert wird.
...当前进程必须始终等待其所有线程完成,然后才能保存。

Feedback

Frage 6 第6项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 4,00
可实现的分数: 4.00

Fragetext

Sowohl im Zusammenhang mit Übersetzungspuffern (TLB) von voll- bzw. mengenassoziativen Speichern als auch bei der Arbeit mit Caches werden Ersetzungsalgorithmen eingesetzt. Mit einem solchen Algorithmus lässt sich entscheiden, welcher TLB-Eintrag bzw. welche Seite/Kachel optimalerweise zu entfernen ist, wenn kein weiterer Eintrag bzw. keine weitere Seiten/Kachel mehr aufgenommen werden kann. Ersetzungsalgorithmen approximieren also eine Lösung für das Ersetzungsproblem.
替换算法既可用于与完整关联存储器或集合关联存储器的转换缓冲区 (TLB) 结合使用,也可用于处理缓存。这种算法可用于决定如果无法包含更多条目或页面/磁贴,则应删除哪个 TLB 条目或哪个页面/磁贴。因此,替换算法近似于替换问题的解决方案。

In der Vorlesung wurde unter anderem der LFU-Algorithmus eingeführt. Naiv lässt sich der LFU-Algorithmus folgendermaßen implementieren: Die CPU besitzt einen Zähler, der bei jedem Speicherzugriff inkrementiert wird. bei jedem Zugriff wird der aktuelle Zählerwert in den jeweiligen Seitendeskriptor geschrieben. Wird eine nicht eingelagerte Kachel aufgerufen, so wird die am seltensten aufgerufene Kachel mit dieser ersetzt.
除此之外,讲座中还介绍了LFU算法。天真地,LFU 算法可以按如下方式实现:CPU 有一个计数器,每次访问内存时该计数器都会递增。每次访问它时,当前计数器值都会写入相应的页面描述符。如果调用了未存储的图块,则访问频率最低的图块将替换为该图块。

Beim LRU-Algorithmus wird im Gegensatz dazu die am längsten nicht mehr aufgerufene Kachel ersetzt.
相比之下,LRU 算法会替换时间最长的未被调用的瓦片。

Führen Sie den LFU-Algorithmus für die in der Tabelle gegebene Referenzfolge aus. Tragen Sie die in jedem Zeitschritt eingelagerten Seiten in die Registertabelle ein und verwenden Sie X für einen noch unbelegten Rahmen.
在表中给出的参考序列上运行 LFU 算法。在选项卡表中输入每个时间步长中存储的页面,并使用 X 表示未占用的帧。

Referenzfolge: 1 5 3 3 5 4 4 2 7 4 4 4 5 6
参考序列:1 5 3 3 5 4 4 2 7 4 4 4 5 6





Frage 7 第7项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 4,00
可实现的分数: 4.00

Fragetext

Sowohl im Zusammenhang mit Übersetzungspuffern (TLB) von voll- bzw. mengenassoziativen Speichern als auch bei der Arbeit mit Caches werden Ersetzungsalgorithmen eingesetzt. Mit einem solchen Algorithmus lässt sich entscheiden, welcher TLB-Eintrag bzw. welche Seite/Kachel optimalerweise zu entfernen ist, wenn kein weiterer Eintrag bzw. keine weitere Seiten/Kachel mehr aufgenommen werden kann. Ersetzungsalgorithmen approximieren also eine Lösung für das Ersetzungsproblem.
替换算法既可用于与完整关联存储器或集合关联存储器的转换缓冲区 (TLB) 结合使用,也可用于处理缓存。这种算法可用于决定如果无法包含更多条目或页面/磁贴,则应删除哪个 TLB 条目或哪个页面/磁贴。因此,替换算法近似于替换问题的解决方案。

In der Vorlesung wurde unter anderem der LRU-Algorithmus eingeführt. Naiv lässt sich der LRU-Algorithmus folgendermaßen implementieren: Die CPU besitzt einen Zähler, der bei jedem Speicherzugriff inkrementiert wird. bei jedem Zugriff wird der aktuelle Zählerwert in den jeweiligen Seitendeskriptor geschrieben. Wird eine nicht eingelagerte Kachel aufgerufen, so wird die am am längsten nicht mehr aufgerufene Kachel mit dieser ersetzt.
除此之外,讲座中还介绍了LRU算法。幼稚地,LRU 算法可以按如下方式实现:CPU 有一个计数器,每次访问内存时该计数器都会递增。每次访问它时,当前计数器值都会写入相应的页面描述符。如果调用了未存储的瓦片,则未调用时间最长的瓦片将被替换为该瓦片。

Führen Sie den LRU-Algorithmus für die in der Tabelle gegebene Referenzfolge aus. Tragen Sie die in jedem Zeitschritt eingelagerten Seiten in die Registertabelle ein und verwenden Sie X für einen noch unbelegten Rahmen.
在表中给出的参考序列上运行 LRU 算法。在选项卡表中输入每个时间步长中存储的页面,并使用 X 表示未占用的帧。

Referenzfolge: 1 5 3 3 5 4 4 2 7 4 4 4 5 6
参考序列:1 5 3 3 5 4 4 2 7 4 4 4 5 6






Frage 8 第8项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 4,00
可实现的分数: 4.00

Fragetext

Eine weitere Möglichkeit zur Implementierung des LRU-Algorithmus besteht darin, die Einträge durch eine ’Ist älter als oder gleich alt wie’-Relation (bezeichnet mit ⪯) miteinander in Beziehung zu setzen. Ein Eintrag ist genau dann ’älter’ als ein anderer Eintrag, wenn er länger nicht mehr aufgerufen wurde als der andere. Wird ein Eintrag neu hinzugefügt oder aufgerufen, wird dieser automatisch zum jüngsten Eintrag. Der älteste Eintrag wird bei bedarf entfernt. Die Relation ändert sich also bei jedem Zugriff. Im Rechner wird die Relation ⪯ in Form einer Adjazenzmatrix 'Adj' festgehalten.
实现 LRU 算法的另一种方法是通过“早于或等于”关系(用 ⪯ 表示)将条目相互关联。当且仅当一个条目比另一个条目更长时间没有被访问时,它才比另一个条目“旧”。如果某个条目是新添加或访问的,它将自动成为最新的条目。如有必要,将删除最早的条目。因此,这种关系会随着每次访问而变化。在计算器中,关系 ⪯ 以邻接矩阵 'Adj' 的形式记录。

Adj[i, j] bezeichnen den Eintrag in der i-ten Zeile und der j-ten Spalte der Adjazenzmatrix. Adj[i, j] = 1 gilt also immer genau dann, wenn i älter als oder gleich alt wie j ist (j ⪯ i). Andernfalls gilt Adj⪯[i, j] = 0.
Adj[i, j] 表示邻接矩阵的第 i 行和第 j 列中的条目。因此,如果 i 大于 j (j ⪯ i) 或与 j (j ⪯ i) 同龄,则 Adj[i, j] = 1 始终有效。否则,Adj⪯[i, j] = 0。

Gegeben sei die folgende Adjazenztafel einer Relation ⪯:
给定以下关系的邻接表 ⪯:


⪯ soll hier die Einträge eines vollständig befüllten, vollassoziativen TLBs bzgl. ihres Alters in Relation setzen.
⪯ 旨在将完全填充、完全关联的 TLB 的条目与其年龄相关联。

Welcher Eintrag ist der älteste? Antworten Sie mit einer Ziffer:
哪个条目是最早的?用数字回答:

Welcher Eintrag ist der jüngste? Antworten Sie mit einer Ziffer:
哪个条目是最新的?用数字回答:

Nun wird eine virtuelle Adresse aufgerufen, dessen Übersetzung zur physikalischen Adresse nicht in der TLB-Menge vorliegt. Der korrekte Eintrag wird nun also aus der Seitentafel geholt und soll im TLB eingelagert werden. Dazu wird der älteste Eintrag mit dem geholten Eintrag überschrieben. Die oben gegebene Adjazenztafel sei so zu verändern, dass nun der älteste Eintrag zum jüngsten wird. Statt der X soll hier nun unter Berücksichtigung der Reflexivität und Antisymmetrie auch jeweils konkret 0 bzw. 1 eingetragen werden.
现在调用了一个虚拟地址,其对物理地址的转换在 TLB 集中不可用。现在,正确的条目已从边桌中取出,并存储在 TLB 中。为此,最早的条目将被检索到的条目覆盖。上面给出的邻接表应该以这样的方式进行更改,即最早的条目现在成为最年轻的条目。现在,在每种情况下都应该输入 0 或 1,而不是 X,同时考虑到反身性和反对称性。









Welcher Eintrag ist nun der älteste? Antworten Sie mit einer Ziffer:
哪个条目是最早的?用数字回答:


Frage 9 第9项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 1,00
可实现的分数: 1.00

Fragetext

Gegeben sei die folgende Instanz des Zweite-Chance-Algorithmus (Clock-Algorithmus):
请考虑以下第二次机会算法(时钟算法)的实例:


Welche Kachel wird als nächstes entfernt? (Durchlauf im Uhrzeigersinn!)
接下来将移除哪个图块?(全程顺时针!

Feedback

Frage 10 第10项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 1,00
可实现的分数: 1.00

Fragetext

Die folgende Speicherlandkarte zeigt das Speicherlayout eines UNIX-Prozesses:
以下内存映射显示了 UNIX 进程的内存布局:

Welche Segmente finden sich auch in einer ELF-Datei wieder und werden bei der Programmausführung in den Arbeitsspeicher kopiert?
哪些段也可以在 ELF 文件中找到,并在执行程序时被复制到内存中?

Schieben Sie die Segmente an die jeweils richtigen Stellen!
将线段移动到正确的位置!

Hintergrundbild, auf das die Markierungen gezogen werden
leer 
leer 
leer 

Feedback

Frage 11 第11项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 1,00
可实现的分数: 1.00

Fragetext

Gegeben sei das folgende C-Programm:
请考虑以下 C 程序:


Der C-Code wird kompiliert und auf einem UNIX-System ausgeführt.
C 代码是在 UNIX 系统上编译和执行的。

Der Compiler stellte fest, dass g an keiner Stelle im Programm geändert wird und wandelte g daher in eine Konstante um.
编译器确定 g 在程序中的任何位置都不会更改,因此将 g 转换为常数。

Man betrachte nun das Speicherlayout des UNIX-Prozesses.
现在考虑 UNIX 进程的内存布局。


In welche Segmente müssen die unten stehenden Funktionen/Variablen/Konstanten eingeordnet werden?
下面的函数/变量/常量必须分类在哪些段中?

Sollten mehrere Funktionen/Variablen/Konstanten zu einem Segment gehören, ordnen Sie aufsteigend alphabetisch.
如果多个函数/变量/常量属于一个段,则按字母升序对它们进行排序。

Das '-' sei den verbleibenden Drop-Zonen beizuordnen.
应将“-”分配给其余放置区域。

.text:  。发短信: Leer 1 Frage 11  Leer 2 Frage 11
.rodata:  .磨合: Leer 3 Frage 11
.data:  。数据: Leer 4 Frage 11
.bss:  .bss: Leer 5 Frage 11
.heap:  。堆: Leer 6 Frage 11
.stack:  。叠: Leer 7 Frage 11  Leer 8 Frage 11  Leer 9 Frage 11
.kernel:  。内核: Leer 10 Frage 11

vv flaecheflaeche luftdichteluftdichte mainmain massemasse luftreibungluftreibung endgeschwindigkeitendgeschwindigkeit gg
V区气密主质量空气摩擦最终速度 - G

Feedback

Frage 12 第12项质询

Nicht beantwortet 未回答
Erreichbare Punkte: 1,00
可实现的分数: 1.00

Fragetext

Der Heap muss von jedem UNIX-Prozess selbst verwaltet werden. Dem C-Programmierer stehen dazu die Methoden malloc(n) und free(p) zur Verfügung, mit denen n Byes im Heap reserviert werden können bzw. ein Block mit der Startadresse p wieder fregegeben werden kann.
堆必须由每个 UNIX 进程本身管理。C 程序员可以使用 malloc(n) 和 free(p) 方法,它们可用于在堆中保留 n 个 byes 或释放起始地址为 p 的块。

malloc(n) und free(p) können auf unterschiedlichste Art und Weise implementiert werden. Aus der Vorlesung sind unter anderem Next-Fit, Best-Fit oder auch das Buddy-Verfahren bekannte Platzierungsstrategien. Das Buddy-Verfahren kann zum Beispiel dann eingesetzt werden, wenn die geforderten n immer einer Zweierpotenz entsprechen. Sollte bei der Anwendung des Buddy-Verfahrens n keiner Zweierpotenz entsprechen, wird n auf die nächste Zweierpotenz 'aufgerundet'. Was würde in diesem Fall im Heap entstehen?
malloc(n) 和 free(p) 可以通过多种方式实现。除其他事项外,Next-Fit、Best-Fit 或伙伴程序是讲座中著名的放置策略。例如,如果所需的 n 始终对应于 2 的幂,则可以使用 buddy 方法。如果在使用 buddy 方法时 n 不对应于 2 的幂,则 n 将“四舍五入”到最接近的 2 的幂。在这种情况下,堆中会出现什么?


Antworten Sie präzise mit dem Begriff aus der Vorlesung.
准确地回答讲座中的术语。

Feedback