From a544fb887598e8522995745cb5a62eeabec70828 Mon Sep 17 00:00:00 2001 From: Christian Lang Date: Thu, 26 Oct 2023 11:53:08 +0200 Subject: [PATCH] tools_and_varia: add os_concepts --- .../images/process_threads.drawio | 1 + topics/tools_and_varia/slides/os_concepts.md | 59 +++++++++++++++++++ .../tools_and_varia/tools_and_varia_slides.md | 2 + 3 files changed, 62 insertions(+) create mode 100644 topics/tools_and_varia/images/process_threads.drawio create mode 100644 topics/tools_and_varia/slides/os_concepts.md diff --git a/topics/tools_and_varia/images/process_threads.drawio b/topics/tools_and_varia/images/process_threads.drawio new file mode 100644 index 0000000..e0a5fed --- /dev/null +++ b/topics/tools_and_varia/images/process_threads.drawio @@ -0,0 +1 @@ +7VnbctsgEP0aPaaju+XH2Ena6bTTzDjTTvuG0UpigoUH4evXF2SQrIsTp7XTZpwnw2FZxO7Zg5Atbzxbf+Ronn1lMVDLteO15d1YruvYXiR/FLLZIWE03AEpJ7E2qoEJ2YKZqdEFiaFoGArGqCDzJohZngMWDQxxzlZNs4TR5qpzlEIHmGBEu+gPEotsh0aBXeOfgKSZWdmx9cgMGWMNFBmK2WoP8m4tb8wZE7vWbD0GqoJn4rKbd3dgtHowDrk4ZsIP//HhIQyXP+/S7+IzdtfbX7dX2ssS0YXesOWGVPobTblspar1baI3IDYmKpwt8hiUY0carDIiYDJHWI2uJA8klokZ1cMJoXTMKOPlXC+JMGAs8UJw9gh7I9Mo8GVg5WTGyZblAikXCkhkR3PDCU1fP45agqIp0HtWEEFYLjEsYwLS62gJXBCZzS8tgxmJYzV7hChJe2dc6wHB1HZ0mOQYrA/G36myKssB2AwE30iTqhY0EXQlRLq7qmlVmWR7lHI9DSJN5bRyXWdbNnTCX5B894jkd5F7zjAUxROcsF/OiQTCfk7Eg+HUtl8jxU+Szu+Q7gSECJuEGPYQwu0hhOOfixBeDyFaWZYqNlfNhML6WumrDAzksW7eYIqKguBmspvMkNZGScuwyr6JsquIo8dcv48miXuAJuE0DEJDkxHCj2m5qjHJWQ5VGUPc0fxnc7aXlKAnJwbjQJEgy6b7vjzpFe4ZkQtXlKhqfdPKv3FRsAXHoGfti33Lkec/40ggnoLoOCppU237z5nkd5j0kHFAcYdPKhdl5TYp82zNVtXNoSBbNC39KXrN1ZbKTQYjK7g5khI9hazfKLTr+hzfJ8vhKjpY9fYHv5EZo8J/yZwrf9Dr1nhgSVLAWVIdvIvGfyYa4alEo+3ozKIRXrBoBJclGoO3LxpvTRZc+0Sy0HF0ZlmILlgWBpclC8MeWXi/kf6zG6nrH3klbb8onOxGaj4Dvh8Ur3hQDE51ULQdnfmgcLpfMy/npHDsfg69vaNCduuv4jvz+r8F7/Y3 \ No newline at end of file diff --git a/topics/tools_and_varia/slides/os_concepts.md b/topics/tools_and_varia/slides/os_concepts.md new file mode 100644 index 0000000..738242f --- /dev/null +++ b/topics/tools_and_varia/slides/os_concepts.md @@ -0,0 +1,59 @@ +Betriebssystem-Konzepte +======================= + + +Unterschiede: Tasks, Threads und Prozesse +----------------------------------------- + +* Prozesse und Threads sind *OS-Features* +* Tasks werden durch das *SW-Framework* definiert +* Threads und Prozesse bedeuten *Overhead*: Stack, Context-Switch, Synchronisierung + +\centering +![process_threads](images/process_threads.pdf) + + +Zugriffsrechte Arbeitsspeicher +------------------------------ + +* Alle Threads können auf gesamten *Prozess-Speicher* zugreifen +* Prozesse können untereinander *nicht auf Speicher* zugreifen. + + +Was ist ein Real-Time-OS (RTOS)? +-------------------------------- + +\colBegin{0.5} + +Time-Sharing OS +\vspace{0.2cm} + +* *Mehrere Prozesse* mit virtuellem Memory (MMU) +* *Präemptives Scheduling* für Prozesse und Threads +* *Dynamisches* zeitliches Verhalten des Schedulers + +\colNext{0.5} + +Bare Metal +\vspace{0.2cm} + +* Nur *ein Prozess* +* Meist nur *kooperatives Scheduling* für Tasks (Event-Loop) +* *Direkte Verwendung* von Timer-Interrupts für die Einhaltung von Echtzeitverhalten + +\colEnd + +\vspace{0.6cm} +\colBegin{0.25} +\colNext{0.5} + +Real-Time OS +\vspace{0.2cm} + +* Nur *ein Prozess* aber mit Threads +* *Präemptives Scheduling* für Threads/Tasks +* *Scheduler* kümmert sich um die Einhaltung von Echtzeitverhalten + +\colNext{0.25} +\colEnd + diff --git a/topics/tools_and_varia/tools_and_varia_slides.md b/topics/tools_and_varia/tools_and_varia_slides.md index 3fe9d7c..c7c4ab5 100644 --- a/topics/tools_and_varia/tools_and_varia_slides.md +++ b/topics/tools_and_varia/tools_and_varia_slides.md @@ -16,6 +16,7 @@ Inhalt * Best Practice * Aufgaben lösen * Concurrency vs. Parallelism +* Betriebssystem-Konzepte * Tools * *Praxis Block 2* * Weiterführendes @@ -28,6 +29,7 @@ Inhalt <#include slides/best_practice.md> <#include slides/problem_solving.md> <#include slides/concurrency_vs_parallelism.md> +<#include slides/os_concepts.md> <#include slides/tools.md> <#include slides/practice_2.md> <#include slides/links.md>