瀏覽代碼

Updated Markdown on S1 and fixed typos in task3.

Lorenz Bung 7 年之前
父節點
當前提交
acc5027303
共有 2 個檔案被更改,包括 10 行新增16 行删除
  1. 7
    13
      hw1/simu1/ANSWERS.md
  2. 3
    3
      hw1/task3/src/lib.rs

+ 7
- 13
hw1/simu1/ANSWERS.md 查看文件

@@ -1,17 +1,11 @@
1
-### Antworten zu Simulation 1
2
-#### Aufgabe 1
3
-Die CPU sollte 100% der Zeit in Nutzung sein, da wir beim Aufruf
4
-> ./process-run.py -l 5:100,5:100.
5
-angeben, dass 100% der ausgeführten Befehle CPU-Befehle sein sollen.
1
+# hw1 - Simulation 1 - Antworten
6 2
 
7
-#### Aufgabe 2
8
-Zuerst werden vier CPU-Befehle in Prozess 0 ausgeführt. Danach ist Prozess 0 beendet, Prozess 1 bereitet sich auf I/O vor und braucht dafür eine CPU-Instruktion. Prozess 1 muss dann auf die Abwicklung des I/Os warten und tut deswegen vier Instruktionen lang nichts. Anschließend läuft eine leere Instruktion, in der weder I/O noch CPU arbeiten, weil die I/O-Instruktion beendet wurde. Wir gehen daher davon aus, dass die Ausführung der beiden Prozesse 10 Instruktionen braucht.
3
+1. Die CPU sollte 100% der Zeit in Nutzung sein, da wir beim Aufruf `./process-run.py -l 5:100,5:100` angeben, dass 100% der ausgeführten Befehle CPU-Befehle sein sollen.
9 4
 
10
-#### Aufgabe 3
11
-Die Änderung der Reihenfolge der auszuführenden Prozesse hat zur Folge, dass die CPU auch rechnen kann, solange sie auf I/O wartet. Daher wird nur eine Instruktion zum Einleiten des I/Os benötigt, dann laufen vier Instruktionen, in denen sowohl CPU (für Prozess 1) und I/O (für Prozess 0) arbeiten, und abschließend vergeht noch eine leere Instruktion aufgrund des I/Os. Daher braucht die Ausführung in dieser Reihenfolge nur 6 Instruktionen.
5
+2. Zuerst werden vier CPU-Befehle in Prozess 0 ausgeführt. Danach ist Prozess 0 beendet, Prozess 1 bereitet sich auf I/O vor und braucht dafür eine CPU-Instruktion. Prozess 1 muss dann auf die Abwicklung des I/Os warten und tut deswegen vier Instruktionen lang nichts. Anschließend läuft eine leere Instruktion, in der weder I/O noch CPU arbeiten, weil die I/O-Instruktion beendet wurde. Wir gehen daher davon aus, dass die Ausführung der beiden Prozesse 10 Instruktionen braucht.
12 6
 
13
-#### Aufgabe 4
14
-Mit dieser Flag wird die CPU nicht parallel zum I/O arbeiten können. Deswegen wird die Ausführung wie bei Aufgabe 2 ablaufen, jedoch werden die Prozesse vertauscht abgearbeitet, also ein Takt Einleitung des I/Os, vier Takte I/O und dann 4 Takte CPU.
7
+3. Die Änderung der Reihenfolge der auszuführenden Prozesse hat zur Folge, dass die CPU auch rechnen kann, solange sie auf I/O wartet. Daher wird nur eine Instruktion zum Einleiten des I/Os benötigt, dann laufen vier Instruktionen, in denen sowohl CPU (für Prozess 1) und I/O (für Prozess 0) arbeiten, und abschließend vergeht noch eine leere Instruktion aufgrund des I/Os. Daher braucht die Ausführung in dieser Reihenfolge nur 6 Instruktionen.
15 8
 
16
-#### Aufgabe 5
17
-Der Ablauf wird genau der gleiche wie bei Aufgabe 3 sein, da per Standard beim Warten auf I/O zum anderen Prozess gewechselt wird.
9
+4. Mit dieser Flag wird die CPU nicht parallel zum I/O arbeiten können. Deswegen wird die Ausführung wie bei Aufgabe 2 ablaufen, jedoch werden die Prozesse vertauscht abgearbeitet, also ein Takt Einleitung des I/Os, vier Takte I/O und dann 4 Takte CPU.
10
+
11
+5. Der Ablauf wird genau der gleiche wie bei Aufgabe 3 sein, da per Standard beim Warten auf I/O zum anderen Prozess gewechselt wird.

+ 3
- 3
hw1/task3/src/lib.rs 查看文件

@@ -1,9 +1,9 @@
1 1
 pub fn count(line: &str, c: char) -> u64 {
2
-    let mut occurances = 0;
2
+    let mut occurrences = 0;
3 3
     for char in line.chars() {
4 4
         if char == c {
5
-            occurances += 1;
5
+            occurrences += 1;
6 6
         }
7 7
     }
8
-    occurances
8
+    occurrences
9 9
 }

Loading…
取消
儲存