From f8bc6512518a87f431b8cb51f9b06f10fb488439 Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Tue, 17 Aug 2021 13:39:09 +0200 Subject: [PATCH] =?UTF-8?q?Abschlu=C3=9F=20Sommersemester=202021?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20210625/bs-20210625.pdf | Bin 2651378 -> 2654117 bytes 20210625/bs-20210625.tex | 2 +- 20210702/bs-20210702.txt | 116 ++++++++++++++++++++++++++ 20210709/bs-20210709.txt | 173 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 290 insertions(+), 1 deletion(-) create mode 100644 20210702/bs-20210702.txt create mode 100644 20210709/bs-20210709.txt diff --git a/20210625/bs-20210625.pdf b/20210625/bs-20210625.pdf index be8b653380582c395fd0e4e41e8063084452df0f..0fe477fbd343c6ae3c99907c00f3f875ae734299 100644 GIT binary patch delta 23482 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�%a-4`W4z|UPsv*A@Uq?+OT>h?>AyZYBjSvd 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 VKT)C~&uwIBYRaXm>gw;t1pp<*dd~m= delta 21158 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 GjSB!_rZxot diff --git a/20210625/bs-20210625.tex b/20210625/bs-20210625.tex index 060f964..16870ce 100644 --- a/20210625/bs-20210625.tex +++ b/20210625/bs-20210625.tex @@ -669,7 +669,7 @@ \end{frame} -\setlength{\pdfpageheight}{40.5cm} +\setlength{\pdfpageheight}{50.5cm} \begin{frame}[fragile] diff --git a/20210702/bs-20210702.txt b/20210702/bs-20210702.txt new file mode 100644 index 0000000..fd6949f --- /dev/null +++ b/20210702/bs-20210702.txt @@ -0,0 +1,116 @@ +Scheduler des Linux-0.01-Kernels, 02.07.2021, 11:39:30 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Aufgabe: Welcher Task kommt als nächster an die Reihe? + +Tabelle von Structs: task_struct +Datenfelder: + - state: Will dieser Task überhaupt Rechenzeit haben? + - counter: aktuelle (dynamische) Priorität des Tasks + - priority: Priorität des Tasks + +p ist ein Zeiger auf Zeiger von task_structs, + also ein Array von Zeigern auf task_structs. + +Task Nr. 0 ist der "idle task". + +p wird so initialisiert, daß er auf dem ersten Eintrag des + task-Arrays zeigt, der nicht mehr(!) zum Array gehört. +In der Schleife wird dann als erstes --i und --p ausgeführt. + +Das innere "if" wird nur ausgeführt, wenn der Zeiger(!) "*p" +kein NULL-Zeiger ist. + + int counter[n] = { ... }; + int c = -1; + for (int i = 0; i < n; i++) + if (counter[i] > c) + c = counter[i]; + +--> c hat den Wert des Maximums aller counter[i]. + +Was bewirkt das Komma in der Zeile "c = (*p)->counter, next = i;"? +--> Komma-Operator: "a,b" bedeutet: "berechne a, vergiß es wieder, + und berechne stattdessen b." + Nur sinnvoll in Kombination mit Seiteneffekten! + "c = (*p)->counter" ist ein Ausdruck mit dem Wert "(*p)->counter" + und dem Seiteneffekt, daß dieser Wert der Variablen c zugewiesen wird. + +Andere Schreibweise für die innere Schleife: + + while (i >= 1) + { + i--; + p--; + if (*p) + if ((*p)->state == TASK_RUNNING && (*p)->counter > c) + { + c = (*p)->counter; + next = i; + } + } + +Nach der inneren while-Schleife enthält +next die Nummer des Tasks mit der höchsten Priorität (counter) +und c den counter dieses Tasks (also die höchste Priorität selbst) + +Sobald alle counter abgelaufen sind, bekommen sie +in der for-Schleife neue Werte zugewiesen +gemäß der jeweiligen Priorität der Tasks. +Tasks, die nicht TASK_RUNNING sind, können noch counter > 0 haben +und bekommen die Priorität zusätzlich darauf addiert. +--> Der Counter kann über alle Maßen wachsen. (Oder????;-) +Nein, denn der "angesparte" Counter wird vorher halbiert (">> 1"). +--> Der Counter kann bis zu einem gewissen Maximum wachsen + (dem Doppelten der Priorität des Tasks). +--> Durch Abwarten kann ein Task Rechenzeit ansparen. + Wenn er dann doch läuft, hat er direkt hohe Priorität. +--> Sinnvoll für interaktive Programme (z.B. Editor). + +--> Dynamische Prioritätenvergabe (nicht echtzeitfähig) + +Signal, 02.07.2021, 13:35:22 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Messenger mit Ende-zu-Ende-Verschlüsselung + +Freie Software (Client und Server) +zentrale Infrastruktur +Signal Foundation betreibt zentrale Server + +Auch die Meta-Daten werden verschlüsselt. +Der Empfänger einer Nachricht ist dem Server bekannt, +aber der Absender nur dem Empfänger. + +Die Server werden in Clouds betrieben bei Amazon, Microsoft usw. + +Es gibt Vertraulichkeit, Integrität und plausible deniability + +Man kann über Signal auch "telefonieren". + +Wer teilnimmt, hat einen privaten Schlüssel. +Um eine Nachricht zu versenden, benötigt man +eine ID des Empfängers (Telefonnummer). +Darüber holt man sich den Public Key. +Schlüsselabgleich erfolgt über den Abgleich einer Sicherheitsnummer, +die aus beiden Public Keys gemeinsam gebildet wird. + +Zur Registrierung benötigt man eine Telefonnummer, +über die man SMS oder Sprachanrufe empfangen kann. +Darüber erfährt man einen Verifizierungs-Code, den man +währnd der Installation der Client-Software eingeben muß. +Man kann seinen Signal-Account zusätzlich durch eine PIN schützen. + +Versenden einer verschlüsselten Nachricht: + - Austausch eines Sitzungsschlüssels per Diffie-Hellman + - Vermutung: Die asymmetrischen Schlüssel dienen dazu, + Man-in-the-Middle-Angriffe zu verhindern. + +Projekt: Signal-Bot +Raspberry Pi mit Signal-CLI +Dieser soll Nachrichten versenden, die von anderen Programmen stammen +und empfangene Nachrichten an Programme weiterleiten. +Wichtig: dedizierte Telefonnummer + + +Verbesserungsmöglichkeiten für BBB, 02.07.2021, 14:07:31 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In Kombination mit Mumble: anzeigen, wer gerade spricht diff --git a/20210709/bs-20210709.txt b/20210709/bs-20210709.txt new file mode 100644 index 0000000..85a6382 --- /dev/null +++ b/20210709/bs-20210709.txt @@ -0,0 +1,173 @@ +Echtzeit-Erweiterungen für Linux, 09.07.2021, 11:42:17 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + - früher: RTAI (Real Time Application Interface) + + Der RTAI-Kernel läuft als "Sub-Kernel" direkt auf der Hardware. + Der Linux-Kernel läuft als "Applikation" im RTAI-Kernel. + Kommunikation zwischen Echtzeit-Tasks und Linux-Prozessen + erfolgt mittels Semaphoeren. + + - früher: RT-Linux + + - aktuell: Xenomai + +do-while(0)-Schleife, 09.07.2021, 12:05:38 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Definition: + + #define spin_lock_mutex(lock, flags) \ + do \ + { \ + spin_lock (lock); \ + (void) (flags); \ + } \ + while (0) + +Benutzung: + + if (whatever) + spin_lock_mutex (lock, flags); // Semikolon! + else + whatever (); + +Wird zu: + + if (whatever) + do + { + spin_lock (lock); + (void) (flags); + } + while (0); // Semikolon! + else + whatever (); + +Definition: + + #define spin_lock_mutex(lock, flags) \ + { \ + spin_lock (lock); \ + (void) (flags); \ + } + +Benutzung: + + if (whatever) + spin_lock_mutex (lock, flags); // Semikolon! + else + whatever (); + +Wird zu: + + if (whatever) + { + spin_lock (lock); + (void) (flags); + }; // Semikolon! --> Fehler + else + whatever (); + +Definition: + + #define spin_lock_mutex(lock, flags) \ + spin_lock (lock); \ + (void) (flags) + +Benutzung: + + if (whatever) + spin_lock_mutex (lock, flags); // Semikolon! + else + whatever (); + +Wird zu: + + if (whatever) + spin_lock (lock); + (void) (flags); // Semikolon! --> Fehler + else + whatever (); + +Fazit: do ... while(0) ist ein Trick, um ein Präprozessor-Macro +so definieren zu können, daß es in allen Situationen wie eine +Funktion verwendet werden kann. + +F. Aust, P. Maas: Signal-Bot, 09.07.2021, 13:35:29 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +https://gitlab.cvh-server.de/faust/signalbot + +Der Bot protokolliert und interpretiert alle Nachrichten, die er bekommt. +Nachrichten, die mit einem Punkt beginnen, sind Befehle. + +Beipiel: + .help + .foo --> bar + .ping --> pong + +Herausforderung: über die Kommandozeile laufen lassen +python-Skript benutzt signal-CLI. Die benutzt Java. Langsam: 90s +Jetzt: läuft per systemd im Hintergrund --> Java läuft durch. --> schnell + +Funktionen: + + - .yn --> zufällige GIF-Datei von yes-no-wtf + + - Zitate in Datenbank speichern + + - Der Bot informiert den Kanal automatisch aktuell kostenlose Computerspiele. + + - Projekt: .gn: Der Bot prüft den Chat auf Gender-Neutralität, weist auf + nicht-neutrale Wörter hin und schlägt gener-neutrale Synoyme vor - unter + Verwendung von geschicktgendern.de. + + - Projekt: Signal selbst unterstürzt bereits Polls, sog. Reactions. + zusätzlich: cvhbot-Polls durch den Bot + + - Projekt: MQTT-To-Signal-Adapter (separates Programm, sagt dem Bot bescheid) + +Es ist möglich, mehrere Bots auf demselben Server laufen zu lassen, +sofern jeder Bot eine eigene Telefonnummer hat. +Alternative: Die Reaktion des Bots hängt vom Ursprung +des Befehls ab (Benutzer, Gruppe). + +Der Bot kommt bei den Benutzern gut an. + +Nachteile von Signal: + - zentraler Server + - App im Ruhemodus erfährt nicht von neuen Nachrichten + (Konfiguration der Stromsparmaßnahmen unter Android hilft nicht.) + +Projektideen: + - Signal beibringen, auch im Hintergrund Nachrichten zu empfangen + - Signal mit Mumble-Chat koppeln + - Signal mit BBB-Chat koppeln + - Matrix als "Sammelstelle" + +S. Simanek: Forums-Projekt, 09.07.2021, 14:25:09 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Forum für Studierende, aber auch Lehrende, für den Austausch über +Studieninhalte, für Austausch mit der Fachschaftsvertretung, aber +auch für Off-Topic-Gespräche (als Alternative to Discord usw.) + +Situation: Auf dem CVH-Server gibt es bereits eine +Discourse-Installation. Die müßte man wieder in Betrieb nehmen. + +Abgrenzung zu Signal: + - Signal ist ein Messenger-Dienst - Echtzeit-Kommunikation - + wie SMS mit Gruppen - nach Personen(gruppen) sortiert. + Signal ist nicht anonym. + - Forum: offline-Kommunikation + Ein Forum ist nach Themen sortiert. + Ein Forum kann pseudonym sein. + +Vorschläge für die Struktur des Forums: + - Start-Subforum mit FAQs und Übersicht + - fachspezifische Subforen + - organisatorische Subforen: Ankündigungen der Fachschaftsvertretung usw. + - Off-Topic-Subforen + +Sonstiges: + - Fachschaftsvertretung mit einbinden! + - Maßnahmen gegen Trolle und Spammer! --> Moderation erforderlich + - Gelder für Moderatoren beantragen: diversitätssensible Studieneigangsphase + - Wichtig für nachhatltige IT: Lizenzen, Datenschutz -- GitLab