Last modified by Thomas Schwotzer on 2025/04/09 12:44

From version 202.1
edited by Thomas Schwotzer
on 2024/12/04 10:51
Change comment: There is no comment for this version
To version 191.1
edited by Thomas Schwotzer
on 2024/03/22 09:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -6,7 +6,7 @@
6 6  
7 7  Am Ende der Veranstaltung steht eine **Klausur**. Sie werden eine schriftliche Arbeit schreiben.
8 8  
9 -Als** semesterbegleitende Leistung** implementieren Sie ein kleines dezentrales Programm. Die Arbeit daran beginnt in der 1. Übung. Das Programm unterstützt Sie beim Lernen der Konzepte und zeigt umgekehrt, ob Sie sich mit den Themen während des Semesters beschäftigten. Am Ende des Semester sind Sie in der Lage, ein Programm zu schreiben, dass eine TCP-Verbindung zu einem anderen Prozess herstellt und mit diesem wohl definierte PDUs austauscht. Das wird am Ende der Vorlesungszeit in einem kleinen Programmiertest geprüft. **Diesen Test müssen Sie bestehen. Erst dann gibt es Punkte. Es gibt keine Punkte für eine nicht fertige Lösung.** Bestehen Sie den Test nicht, sind Sie auch nicht zur Klausur zugelassen. Der Test wird aus zwei Teilen bestehen. Der erste findet im ersten dritten des Semester statt (zählt 1/3), der letzte Test am Ende der Vorlesungszeit (2/3)
9 +Als** semesterbegleitende Leistung** implementieren Sie ein kleines dezentrales Programm. Die Arbeit daran beginnt in der 1. Übung. Das Programm unterstützt Sie beim Lernen der Konzepte und zeigt umgekehrt, ob Sie sich mit den Themen während des Semesters beschäftigten. Am Ende des Semester sind Sie in der Lage, ein Programm zu schreiben, dass eine TCP-Verbindung zu einem anderen Prozess herstellt und mit diesem wohl definierte PDUs austauscht. Das wird am Ende der Vorlesungszeit in einem kleinen Programmiertest geprüft. **Diesen Test müssen Sie bestehen. Erst dann gibt es Punkte. Es gibt keine Punkte für eine nicht fertige Lösung.** Bestehen Sie den Test nicht, sind Sie auch nicht zur Klausur zugelassen.
10 10  
11 11  Wir sind eine Hochschule für angewandte (!) Wissenschaften. Sie müssen grundlegende Dinge praktisch umsetzen können. Das ist auch gar kein Problem, wenn Sie sich aktiv an den Übungen beteiligen. Wirklich gar kein Problem. Es kann ein ernsthaftes Problem werden, wenn Sie die Übungen ignorieren.
12 12  
... ... @@ -62,11 +62,8 @@
62 62  
63 63  [[Mediathek>>url:https://mediathek.htw-berlin.de/album/video/Betriebssysteme-und-Netzwerke-Einstieg-Betriebssysteme/1cc396fd6ac3354b598b93915297a83a/334||shape="rect"]]
64 64  )))|(((
65 -(% class="content-wrapper" %)
66 -(((
67 -Wir fangen an mit dem Bau einer verteilten Anwendung. Ein Spiel, ein Chat, mal schauen. Das wird das semesterbegleitende Projekt. Sie müssen immer mit machen, dann lernen Sie sicherlich eine Menge.
65 +\\
68 68  )))
69 -)))
70 70  |(((
71 71  2
72 72  )))|(((
... ... @@ -86,10 +86,11 @@
86 86  )))|(((
87 87  (% class="content-wrapper" %)
88 88  (((
89 -\\
86 +Wir implementieren ein Multithreaded Java-Programm.
90 90  
88 +{{view-file att--filename="ThreadTemplate.zip" display="thumbnail" height="250"/}}
91 91  
92 -\\
90 +[[LN:Threads mit Java>>url:http://www.sharksystem.net/htw/GMA/LN/Threads_Java_Android.pdf||shape="rect"]]
93 93  )))
94 94  )))
95 95  |(((
... ... @@ -101,9 +101,9 @@
101 101  )))|(((
102 102  [[Codebeispiel: Account Example (bad)>>url:https://github.com/thsc42/OperatingSystems/tree/master/src/raceConditions/accountExample/bad||shape="rect"]]
103 103  
104 -[[LN:Threads mit Java>>url:http://www.sharksystem.net/htw/GMA/LN/Threads_Java_Android.pdf||shape="rect"]]
105 -)))|(((
106 106  \\
103 +)))|(((
104 +Wir versuchen Threads zu synchronisieren.
107 107  )))
108 108  |(((
109 109  4
... ... @@ -118,7 +118,7 @@
118 118  
119 119  [[Codebeispiel: Synchronisation>>url:https://github.com/thsc42/OperatingSystems/tree/master/src/raceConditions||shape="rect"]]
120 120  )))|(((
121 -\\
119 +Wir diskutieren das Lese-Schreibe-Problem und den schlafenden Friseur, siehe Moodle.
122 122  )))
123 123  |(((
124 124  5
... ... @@ -133,7 +133,9 @@
133 133  
134 134  [[Mediathek: Fehlerkorrektur und -erkennung>>url:https://mediathek.htw-berlin.de/album/video/Fehlererkennung-behebung-Hamming-Frames-Synchronisation-OSI-Layer-2/9d682f6b9ef2cac57be9795f35a57a29/334||shape="rect"]]
135 135  )))|(((
136 -\\
134 +Sie finde das [[NWAppTemplate>>url:https://github.com/thsc42/NWAppTemplate||shape="rect"]] auf Github. Wir nehmen das als Basis, um in streambasierte Netzwerkprogrammierung einzusteigen. Sie bekommen in der Übung ein Skeleton das wir schrittweise bis zum Ende des Semesters erweitern.
135 +
136 +Wir beschäftigen uns mit [[Streams>>url:https://mediathek.htw-berlin.de/album/video/Streams/ef694bc868aa397a1bb42507db7fc33d/334||shape="rect"]] und [[DataStreams>>url:https://mediathek.htw-berlin.de/album/video/DataStreams/55d82930517c4795a6089dce9512c409/334||shape="rect"]].
137 137  )))
138 138  |(((
139 139  6
... ... @@ -148,7 +148,7 @@
148 148  
149 149  [[Mediathek:CSMA>>url:https://mediathek.htw-berlin.de/video/Carrier-Sense-Multiple-Access-CSMA/dc16139e4522ef04e708c69ae0000abf||shape="rect"]]
150 150  )))|(((
151 -\\
151 +Wir beschäftigen uns mit Unit Tests, konkret JUnit. Der Einschub ist wichtig, weil unser Programm immer komplexer wird die Fehlersuche immer schwerer. Bei verteilten Systemen sowieso ein richtiges Problem.
152 152  )))
153 153  |(((
154 154  7
... ... @@ -167,7 +167,7 @@
167 167  )))|(((
168 168  (% class="content-wrapper" %)
169 169  (((
170 -\\
170 +{{view-file att--filename="AdderProtocolEngine.zip" display="thumbnail" height="250"/}}Wir implementieren eine Protokollmaschine. Hier das Beispiel, dass wir in der Vorlesung diskutieren.
171 171  )))
172 172  )))
173 173  |(((
... ... @@ -200,8 +200,6 @@
200 200  
201 201  [7]
202 202  
203 -[[Mediathek>>url:https://mediathek.htw-berlin.de/album/video/tcp-udp/817fbf28e183c4fcc36a2cf914713285/334||shape="rect"]]
204 -
205 205  [[Mediathek: Layer1-4>>url:https://mediathek.htw-berlin.de/album/video/OSI-Layer-1-4/cfe6541e4a0ecb5092a4ffd650334182/334||shape="rect"]]
206 206  )))|(((
207 207  \\
... ... @@ -220,18 +220,16 @@
220 220  
221 221  [2] S.93-99, 150-166 + S.181, 186ff
222 222  
223 -[[Mediathek:Scheduling>>url:https://mediathek.htw-berlin.de/video/Betriebssysteme-und-Netzwerke-Scheduling/394e546de01c41a388ac2afc2d9cdd6c||shape="rect"]]
224 -
225 -[[Mediathek:Deadlocks>>url:https://mediathek.htw-berlin.de/album/video/deadlocks/a74ffe24a122016f66a28e377b4de5ab/334||shape="rect"]]
221 +[[Mediathek>>url:https://mediathek.htw-berlin.de/video/Betriebssysteme-und-Netzwerke-Scheduling/394e546de01c41a388ac2afc2d9cdd6c||shape="rect"]] [[Mediathek>>url:https://mediathek.htw-berlin.de/album/video/deadlocks/a74ffe24a122016f66a28e377b4de5ab/334||shape="rect"]]
226 226  )))|(((
227 227  \\
228 228  )))
229 229  |(((
230 -11
226 +6
231 231  )))|(((
232 -**Verzeichnisdienste**
228 +**Verzeichnisdienste DNS**, LDAP, X.500
233 233  )))|(((
234 -Wir diskutieren den **Domain Name Service (DNS)**
230 +Wir diskutieren den Domain Name Service.
235 235  )))|(((
236 236  [4] S. 690ff
237 237  
... ... @@ -240,56 +240,67 @@
240 240  [[https:~~/~~/datatracker.ietf.org/doc/html/rfc1035>>url:https://datatracker.ietf.org/doc/html/rfc1035||rel="nofollow" shape="rect" class="external-link"]]
241 241  [[https:~~/~~/de.wikipedia.org/wiki/Nslookup>>url:https://de.wikipedia.org/wiki/Nslookup||rel="nofollow" shape="rect" class="external-link"]]
242 242  [[https:~~/~~/www.denic.de/>>url:https://www.denic.de/||rel="nofollow" shape="rect" class="external-link"]]
243 -
244 -[[Mediathek>>url:https://mediathek.htw-berlin.de/album/video/domain-name-service-dns/c411b9faba8a704eea698beef3254227/334||shape="rect"]]
245 245  )))|(((
246 246  \\
247 247  )))
248 248  |(((
249 -12
243 +7
250 250  )))|(((
251 -**E-Mail
252 -**
245 +\\
253 253  )))|(((
254 -Wir schauen uns SMTP und ein wenig POP und IMAP an. Wir werfen aber vor allem auch einen Blick in das Format einer Mail; in dem Kontext entstand nämlich MIME was man dann auch in HTTP nutzte.**
255 -**
247 +\\
256 256  )))|(((
257 -[[~[8~]>>url:http://www.sharksystem.net/paper/diplom_schwotzer.pdf||shape="rect"]] 2.2 (POP und IMAP)
258 -
259 -[4] S.708ff
260 -
261 -[[https:~~/~~/www.rfc-editor.org/rfc/rfc5322>>url:https://www.rfc-editor.org/rfc/rfc5322#page-8||shape="rect"]]
262 -[[https:~~/~~/www.rfc-editor.org/rfc/rfc5321.html>>url:https://www.rfc-editor.org/rfc/rfc5321.html#page-10||shape="rect"]]
263 -
264 -[[Mediathek>>url:https://mediathek.htw-berlin.de/album/video/e-mail-pop-imap-smtp-base64-mime/c53f7fe8b966f7dd17068a2add09060c/334||shape="rect"]]
249 +\\
265 265  )))|(((
266 266  \\
267 267  )))
268 268  |(((
269 -13
254 +8
270 270  )))|(((
271 -**HTTP**
256 +\\
272 272  )))|(((
273 -HTTP
258 +\\
274 274  )))|(((
275 -[[Mediathek>>url:https://mediathek.htw-berlin.de/album/video/http/2fd5decaa8938d672bd8bcc1f64472b9/334||shape="rect"]]
260 +\\
276 276  )))|(((
277 277  \\
278 278  )))
279 279  |(((
280 -13
265 +9
281 281  )))|(((
282 -**Speichermanagement**
267 +Speichermanagement
283 283  )))|(((
284 284  Wir sprechen über Daten, der Speicherung und Verwaltung in einem laufenden Programm. Und endlich wissen wir was dieser legendäre Stackoverflow ist. Und wir werden sehen, dass wir es mit einer Stackmaschine zu tun haben. Und dann verstehen wir auch, warum wir ITler:innen als ersten Index immer die 0 nehmen und nicht die 1 wie diese eigenartigen anderen Menschen...
285 285  )))|(((
286 286  [[LN:Funktionsstack>>url:http://www.sharksystem.net/htw/Prog1/MethodenUndStack.pdf||shape="rect"]] , [[LN:Rekursion / Stack und Heap>>url:http://www.sharksystem.net/htw/Prog1/RekursionUndStack.pdf||shape="rect"]], [[LN:eindimensionale Arrays>>url:http://www.sharksystem.net/htw/Prog1/EindimensionaleArrays.pdf||shape="rect"]], [[LN:mehrdimensionale Arrays>>url:http://www.sharksystem.net/htw/Prog1/MehrdimensionaleArrays.pdf||shape="rect"]],
287 287  )))|(((
273 +Wir machen einmal Pause von unserem Projekt und implementieren ein simples rekursives Java-Programm das ein mehrdimensionales Array füllt und schauen uns Stack und Speicherstruktur einmal genauer an.
274 +)))
275 +|(((
288 288  \\
277 +)))|(((
278 +\\
279 +)))|(((
280 +\\
281 +)))|(((
282 +\\
283 +)))|(((
284 +\\
289 289  )))
290 290  |(((
287 +11
288 +)))|(((
291 291  \\
292 292  )))|(((
291 +\\
292 +)))|(((
293 +\\
294 +)))|(((
295 +\\
296 +)))
297 +|(((
298 +\\
299 +)))|(((
293 293  Inter Process Communications (IPC): Shared Memory
294 294  
295 295  (optional)
... ... @@ -303,8 +303,30 @@
303 303  \\
304 304  )))
305 305  |(((
313 +12.1
314 +)))|(((
306 306  \\
307 307  )))|(((
317 +\\
318 +)))|(((
319 +\\
320 +)))|(((
321 +\\
322 +)))
323 +|(((
324 +12.2
325 +)))|(((
326 +\\
327 +)))|(((
328 +\\
329 +)))|(((
330 +\\
331 +)))|(((
332 +\\
333 +)))
334 +|(((
335 +\\
336 +)))|(((
308 308  Dateinsysteme, Speicherverwaltung / Paging / Caching
309 309  )))|(((
310 310  spannend, aber optional
... ... @@ -325,8 +325,37 @@
325 325  \\
326 326  )))
327 327  |(((
357 +13
358 +)))|(((
359 +E-Mail**
360 +**
361 +)))|(((
362 +Wir schauen uns SMTP und ein wenig POP und IMAP an. Wir werfen aber vor allem auch einen Blick in das Format einer Mail; in dem Kontext entstand nämlich MIME was man dann auch in HTTP nutzte.**
363 +**
364 +)))|(((
365 +[[~[8~]>>url:http://www.sharksystem.net/paper/diplom_schwotzer.pdf||shape="rect"]] 2.2 (POP und IMAP)
366 +
367 +[4] S.708ff
368 +
369 +[[https:~~/~~/www.rfc-editor.org/rfc/rfc5322>>url:https://www.rfc-editor.org/rfc/rfc5322#page-8||shape="rect"]]
370 +[[https:~~/~~/www.rfc-editor.org/rfc/rfc5321.html>>url:https://www.rfc-editor.org/rfc/rfc5321.html#page-10||shape="rect"]]
371 +)))|(((
328 328  \\
373 +)))
374 +|(((
375 +\\
329 329  )))|(((
377 +Einige Protokolle und Formate
378 +)))|(((
379 +HTTP, MQTT.
380 +)))|(((
381 +\\
382 +)))|(((
383 +\\
384 +)))
385 +|(((
386 +\\
387 +)))|(((
330 330  Architekturen
331 331  )))|(((
332 332  monolithisch, zentralisiert, verteilt, wenigstens 3 Arten von P2P, Agenten.
... ... @@ -342,7 +342,7 @@
342 342  \\
343 343  )))
344 344  |(((
345 -\\
403 +13
346 346  )))|(((
347 347  //Grundlagen der Verschlüsselung//
348 348  
AdderProtocolEngine.zip
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -19.4 KB
Content
BN_23_24_1.pdf
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -58.6 KB
Content
BN_23_24_2.pdf
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -60.1 KB
Content
BS_NW_22_1.pdf
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -41.5 KB
Content
BS_NW_22_2.pdf
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -41.5 KB
Content
BS_NW_22_23_1.pdf
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -41.5 KB
Content
BS_NW_23_1.pdf
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -42.4 KB
Content
BS_NW_24_1.pdf
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -58.6 KB
Content
CLISkeletonWithConnection.zip
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -30.7 KB
Content
FragenBS_NW.txt
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -3.7 KB
Content
... ... @@ -1,87 +1,0 @@
1 -(10‘) Was ist Maschinencode? Erläutern Sie!
2 -- spezifisch für einen Prozessor.
3 -- kann direkt abgearbeitet werden in der CPU
4 -- Zusatz: Ziel des Compilers.
5 -
6 -Was ist ein Compiler?
7 -
8 -Worin unterscheiden sich der Output der Compiler von C und Java gründsätzlich?
9 -
10 -(10‘) Welche Elemente sind einem Prozess zugeordnet? Anders gefragt: Woraus besteht ein Prozess und welche Dinge ordnet das Betriebssystem zu?
11 -- Freispeicher (Heap), Stack(),
12 -- Instruction Pointer ggf
13 -- Teil der Prozessortabelle
14 -
15 -Welche Aufgaben hat ein Scheduler?
16 -
17 -Was ist ein Betriebssystem?
18 -
19 -Was ist ein Thread?
20 -
21 -Wozu dient der Stack in einem Prozess?
22 -
23 -(5‘) Nennen und beschreiben Sie zwei Prozesszustände!
24 -- wait: Prozess wartet auf externe Eingaben
25 -- running: Prozess wird abgearbeitet
26 -- bereit: Prozess ist bereit, ist aber gerade nicht zur Abarbeitung eingeteilt.
27 -
28 -Beschreiben Sie das Schedulingverfahren First-In-First-Out (FIFO)!
29 -
30 -Beschreiben Sie das Schedulingverfahren Round-Robin!
31 -
32 -(15‘) Schedulingverfahren lassen sich u.a. klassifizieren als in Batch-, Multitask- und Echtzeitverfahren. Nennen Sie für jedes Verfahren ein mögliches Einsatzgebiet und beschreiben Sie grob dessen Prinzip.
33 -- Batch: Banken. Job after Job wird ohne(!) Unterbrechung abgearbeitet.
34 -- Multitask: Rechnern mit Usern davor: Unterbrechbare Jobs
35 -- Echtzeit: Industrieanlagen: Garantie der Zeiten, setzte Kenntnis der Prozesse voraus.
36 -
37 -Nennen Sie eine Bedingung, die erfüllt sein muss, um einen Deadlock zu erzeugen.
38 -Begründen Sie, warum kein Deadlock eintreten kann, wenn eine solche Bedingung nicht
39 -vorliegt.
40 -
41 -Was ist ein Spooler? Nennen Sie ein Beispiel für einen Einsatz.
42 -
43 -(5‘) Wozu dienen Prüfsbits?
44 -
45 -(10‘) Was beschreibt die Hamming-Distanz?
46 -
47 -Wie groß muss die Hammingdistanz wenigstens sein, um Ein-Bit-Fehler zu erkennen?
48 -
49 -Was ist ein Frame im Kontext der unteren zwei ISO-OSI-Layer?
50 -
51 -(10‘) Aloha ist das wohl bekannteste ein Multiple-Access (MA) Verfahren: Mehrere Geräte greifen gleichzeitig auf das gleiche Medium zur Datenübertragung zu. MA-Verfahren wurden um die Fähigkeit Carrier-Sense und damit zu CSMA Verfahren erweitert. Beschreiben Sie diese Erweiterung und wozu sie dient!
52 -- erkennt ob das Medium in Nutzung ist
53 -- erlaubt damit das Warten des Sendens und verringert damit die Wahrscheinlichkeit der Kollision
54 -- erlaubt Erkennung von Kollisionen und damit eine mögliche Reaktion
55 -
56 -Es gibt Varianten mit Kollisionen im Layer 2 umzugehen:
57 -Ignorieren, Collission Detection (CD) und Collision Avoidance (CA).
58 -Beschreiben Sie wahlweise CSMA/CD oder CSMA/CA. Nennen Sie eine Einsatzgebiet.
59 -
60 -Beschreiben Sie ein|e [Hub | Bridge | Repeater | Switch], ordnen Sie diese Infrastrukturelemente einem
61 -OSI-Layer zu und begründen Sie diese Zuordnung!
62 -
63 -(15‘) Wozu dient das Address-Resolution-Protocol (ARP)? Beschreiben Sie wie es funktioniert?
64 -- Zuweisung einer logische (Layer3) Adresse zu Rechnern.
65 -- ARP erlaubt diese Rechner innerhalb eines Layer 2 Netzes zu finden.
66 -- Sendet BC und wartet auf Antwort
67 -
68 -(10‘) Was ist das Internet?
69 -- weltweiter Verbund von Layer3-Routern.
70 -
71 -Der OSI-Layer 3 kann prinzipiell auf zwei Arten realisiert werden: Virtual Circuit oder
72 -Datagramm. Beschreiben Sie ein Verfahren.
73 -Welcher Klasse kann man das Internet Protocol (IP) zuordnen?
74 -
75 -(10‘) Welche Aufgaben hat ein Layer-3 Router?
76 -- Entscheidung, wohin ein Paket gesendet werden soll - in das Layer2 Netz oder weiter routen?
77 -- Zusatz: Adaption an die Netzauslastung.
78 -
79 -TCP realisiert zwei Arten der Flusskontrolle: 1) Die Geschwindigkeit in die beiden
80 -Anwendungen Daten in den Layer 3 sende und 2) es passt die Datenmenge
81 -an den aktuellen Durchsatz des Layer 3 Netzes an. Beschreiben wie eine der Varianten realisiert wird.
82 -
83 -
84 -
85 -
86 -
87 -
ThreadTemplate.zip
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze
Size
... ... @@ -1,1 +1,0 @@
1 -7.9 KB
Content
Confluence.Code.ConfluencePageClass[0]
id
... ... @@ -1,1 +1,1 @@
1 -139399664
1 +228589818
url
... ... @@ -1,1 +1,1 @@
1 -https://wiki.htw-berlin.de/spaces/fb4mobileapplicatio/pages/139399664/B23 Betriebssysteme und Netzwerke
1 +https://wiki.htw-berlin.de/spaces/fb4mobileapplicatio/pages/228589818/B23 Betriebssysteme und Netzwerke
XWiki.XWikiRights[0]
allow
... ... @@ -1,1 +1,0 @@
1 -Allow
levels
... ... @@ -1,1 +1,0 @@
1 -edit
users
... ... @@ -1,1 +1,0 @@
1 -XWiki.schwotze