From 40c2bc1d87659ce5f7128c55b3df6d91e6b5cc93 Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Fri, 26 Feb 2021 14:36:00 +0100 Subject: [PATCH] =?UTF-8?q?neue=20=C3=9Cbungsunterlagen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Betriebssysteme - Übung.pdf | Bin 0 -> 172854 bytes Betriebssysteme - Übung.tex | 509 ++++++++++++++++++++++++++++++++++++ 2 files changed, 509 insertions(+) create mode 100644 Betriebssysteme - Übung.pdf create mode 100644 Betriebssysteme - Übung.tex diff --git a/Betriebssysteme - Übung.pdf b/Betriebssysteme - Übung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..605b1d26a80ebbe1db19c9bb9fd6f3986bb78854 GIT binary patch literal 172854 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 z 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 z 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

a3XAMm36h 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%0Aocds7*oI`>waV*@Ez5^zl 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%0A3)jgasqw5Xn9Kao1PG{s2Tj-UX@ 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 LaN`EVKm+hUVn;Jn literal 0 HcmV?d00001 diff --git a/Betriebssysteme - Übung.tex b/Betriebssysteme - Übung.tex new file mode 100644 index 0000000..e162832 --- /dev/null +++ b/Betriebssysteme - Übung.tex @@ -0,0 +1,509 @@ +\documentclass[a4paper]{article} +\usepackage[utf8]{inputenc} +\usepackage[ngerman]{babel} +\usepackage{listings} +\usepackage{float} +\usepackage{graphicx} +\usepackage{color} +\usepackage{listings} +\usepackage[dvipsnames]{xcolor} +\usepackage{tabularx} +\usepackage{geometry} +\usepackage{color,graphicx,overpic} +\usepackage{amsmath,amsthm,amsfonts,amssymb} +\usepackage{tabularx} +\usepackage{listings} +\usepackage[many]{tcolorbox} +\usepackage{multicol} +\usepackage{mdwlist} %less space for lists + +\newtheorem{definition}{Definition} +\newtheorem{proposition}{Proposition} +\newtheorem{beweis}{Beweis} + +\pdfinfo{ + /Title (Betriebssysteme - Übung) + /Creator (TeX) + /Producer (pdfTeX 1.40.0) + /Author (Robert Jeutter) + /Subject () +} + +% Don't print section numbers +\setcounter{secnumdepth}{0} + +%My Environments +\newtheorem{example}[section]{Example} + + +\newtcolorbox{myboxii}[1][]{ + breakable, + freelance, + title=#1, + colback=white, + colbacktitle=white, + coltitle=black, + fonttitle=\bfseries, + bottomrule=0pt, + boxrule=0pt, + colframe=white, + overlay unbroken and first={ + \draw[red!75!black,line width=3pt] + ([xshift=5pt]frame.north west) -- + (frame.north west) -- + (frame.south west); + \draw[red!75!black,line width=3pt] + ([xshift=-5pt]frame.north east) -- + (frame.north east) -- + (frame.south east); + }, + overlay unbroken app={ + \draw[red!75!black,line width=3pt,line cap=rect] + (frame.south west) -- + ([xshift=5pt]frame.south west); + \draw[red!75!black,line width=3pt,line cap=rect] + (frame.south east) -- + ([xshift=-5pt]frame.south east); + }, + overlay middle and last={ + \draw[red!75!black,line width=3pt] + (frame.north west) -- + (frame.south west); + \draw[red!75!black,line width=3pt] + (frame.north east) -- + (frame.south east); + }, + overlay last app={ + \draw[red!75!black,line width=3pt,line cap=rect] + (frame.south west) -- + ([xshift=5pt]frame.south west); + \draw[red!75!black,line width=3pt,line cap=rect] + (frame.south east) -- + ([xshift=-5pt]frame.south east); + }, +} + +\begin{document} +\begin{myboxii}[Disclaimer] + Die Übungen die hier gezeigt werden stammen aus der Vorlesung \textit{Betriebssysteme}! Für die Richtigkeit der Lösungen wird keine Gewähr gegeben. +\end{myboxii} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Übung 1} +%########################################## +\subsection{Aufgabe 1} +\textit{Wie würden Sie heute, zu Beginn des Kurses, den Begriff "Betriebssystem" beschreiben? Sehen Sie Analogien zwischen den Aufgaben und Funktionen von Betriebssystemen und denen gesellschaftlicher oder wirtschaftlicher Einrichtungen?} +\vspace{10mm} + +Begriff "Betriebssysteme" beschreiben: Verknüpfung zwischen Hard- und Software. +\begin{itemize*} + \item Ermöglicht Kommunikation + \item Software: Browser, Office, Bibiliotheken,... + \item Betriebssystem: Betriebssystemdienste, Resourcenmanagement, Schnittstellen, Bibiliotheken,... + \item Hardware: CPU, GPU, E/A, Speicher, Netzwerk,... +\end{itemize*} +eine Abstraktion von Hardware-Ressourcen, Sammlung von programmen, +Vorteil: Komplexität verborgen vor dem Nutzer + +%########################################## +\subsection{Aufgabe 2} +\textit{Wie sind diejenigen Betriebssysteme in Erscheinung getreten, mit denen Sie bisher schon gearbeitet haben? Welche Aufgaben haben sie gelöst? Welche Probleme haben sie gezeigt?} +\vspace{10mm} +verschiedene Betriebssysteme: +\begin{itemize*} + \item Universalsysteme (Windows, Linux, Mac, Android, iOS): Benutzerfreundlich, keine Spezialisierung (GUI gehört nicht dazu) + \item eingebettete Systeme (Microkontroller): resourcensparend, belastbarkeit + \item Echtzeitsysteme (motorsteuerung): deadlines! + \item chipkarten/sicherheitssysteme: nicht wiederbeschreibbar, meist genau 1 Aufgabe +\end{itemize*} + +%########################################## +\subsection{Aufgabe 3} +\textit{In der Vorlesung haben Sie ein breites Spektrum an Einsatzgebieten für Betriebssysteme kennen gelernt, das verdeutlichen sollte, welche sehr unterschiedlichen Anforderungen heute an Betriebssysteme gestellt werden. Kennen Sie über diese Szenarien hinaus Beispiele für Einsatzgebiete, in denen folgende eine zentrale Rolle spielen? Was wären die jeweiligen Konsequenzen, wenn ein Betriebssystem dabei diese Eigenschaften nicht besitzen würde?} +\vspace{10mm} +\begin{description*} + \item[Echtzeitfähigkeit] einhalten von Fristen ist Hauptziel, harte oder weiche EZS + \item[Robustheit] betrieb in widrigen Umgebungen (Umwelteinflüsse, Anwenderfehler) + \item[Sicherheit] Security: schutz gegen Angriffe von außen (Verschlüsselung etc); Safety: Schutz gegen "Angriffe von innen" (Speichersicherheit etc) + \item[Korrektheit] (gegenüber einer Spezifikation) Testen (keine vollständige Sicherheit), Verifikation (mathematischer Beweis) + \item[Performanz] Geschwindigkeit von Anwenderprogrammen, Effiziente Algorithmen für BS Dienste + \item[Sparsamkeit] BS Größe, energie- und ressourcenschonend + \item[Skalierbarkeit] Lastskalierbarkeit (Bsp Online shops), Ressourcenskalierbarkeit +\end{description*} + + +%########################################## +\subsection{Aufgabe 4} +\textit{Wenn Sie auf einem der heute üblichen Computer Bürosoftware, Internetprogramme (Webbrowser, E-Mail-Clients etc.) und Audio/Video-Applikationen nutzen möchten und die Wahl eines Betriebssystems hätten: Welche der oben genannten und welche weiteren Eigenschaften würden Sie von diesem Betriebssystem erwarten?} +\vspace{10mm} +Anforderungen an Office-PC-BS (universalsystem): Interaktivität, Performance, Robustheit, korrektheit, sicherheit, sparsamkeit, bequemlichkeit, hohe abstraktionsebene + + +%########################################## +\subsection{Aufgabe 5} +\textit{Warum könnte es problematisch sein, ein und dasselbe Betriebssystem auf Großrechnern (Mainframes) und gleichzeitig auf eingebetteten Systemen einzusetzen?} +\vspace{10mm} +gleiches Betriebssystem für Großrechner und eingebetteten Systemen? Portierbarkeitsprobleme +\begin{itemize*} + \item Aufgaben sehr unterschiedlich; Batch-Verarbeitung, Interaktiv + \item Ressourcen Verwaltung/Größen + \item Platformspezifische Einheiten (Befehlssätze, RISC vs CISC) + \item Funktionsumfang +\end{itemize*} + +%########################################## +\subsection{Aufgabe 6} +\textit{Welche Vorteile hat es aus Anwendersicht, Betriebssysteme als Virtualisierung von Maschinen zu verstehen?} +\vspace{10mm} +Vorteile für Anwender die Betriebssysteme als Virtualisierung zu sehen +\begin{itemize*} + \item Bequemlichkeit + \item Beherschbarkeit + Isolation +\end{itemize*} + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Übung 2} +%########################################## +\subsection{Repetitorium} +\begin{itemize*} + \item \textbf{Welcher Zusammenhang besteht zwischen den Konzepten Nebenläufigkeit und Parallelität? Wann können Aktivitäten auf einem System nur pseudoparallel ausgeführt werden?} Nebenläufig: kausal unabhängig; Parallel: zeitlich überlappend; Aufgaben können nur parallel ausgeführt werden wenn diese Nebenläufig sind + \item \textbf{Wozu dienen Prozessmodelle? Aus welchen Bausteinen setzt sich ein Prozessmodell zusammen? Welche finden sich typischerweise in Prozessdeskriptoren wieder?} + \item \textbf{Aus welchem Grund wurde das Thread-Konzept entwickelt? Welche zwei eigentlich unabhängigen Konzepte sind im Modell des ursprünglichen (Schwergewichts-)Prozesses vereint?} Prozesse von einem Ressoircenmanagement und Parallelität; Threads laufen im Ressourcenkontext über Prozesse + \item \textbf{Wozu dienen Prozess- bzw. Threadzustände? Welche elementaren Zustände finden sich in jedem Prozessmodell?} Elementare Zustände: bereit, aktiv, blockiert, (frisch, beendet); ermöglichen Scheduling + \item \textbf{Warum benötigt jeder Thread einen eigenen Stack?} + \item \textbf{Worin besteht der Unterschied zwischen Kernel- und User-Level-Threads? Welche Vor- und Nachteile besitzt die jeweilige Form? Wo befinden sich die PCB- und TCB-Datenstrukturen?} +\end{itemize*} +%########################################## +\subsection{Aufgabe 1: Prozesserzeugung in Linux-Systemen} +\textit{In Betriebssystemen der Unix/Linux-Familie werden neue Prozesse durch den fork-Systemaufruf erzeugt. Dabei entsteht sukzessive eine Abstammungshierarchie, in der ein Prozess, der ein fork() (erfolgreich) ausführt, zum Elternprozess ("parent") des von ihm erzeugten Kind-Prozesses ("child") wird. Die bei Unix/Linux-Systemen benutzte Technik funktioniert wie folgt: Durch fork wird eine nahezu exakte Kopie des Elternprozesses zum Zeitpunkt des fork()-Aufrufs erzeugt, bei der der neue Kindprozess eine Vielzahl der Eigenschaften des Elternprozesses erbt. Falls der Kindprozess ein anderes als das vom Elternprozess vererbte Programm ausführen soll, kann das Kind unmittelbar nach fork einen Systemaufruf der exec[ute]-Familie verwenden, der das durch den aufrufenden Prozess ausgeführte Programm austauscht.} +\vspace{10mm} +\textit{a) Informieren Sie sich über $fork$ und $exec*$ und finden Sie Antworten auf die folgenden Fragen. Wie unterscheiden sich Eltern- und Kindprozess unmittelbar nach dem fork()-Aufruf? Woran können sich Eltern- und Kindprozess unmittelbar nach einem fork()-Aufruf selbst erkennen ("Wer bin ich?")? Finden Sie mindestens 3 Möglichkeiten. Welche unterschiedlichen Werte kann der Funktionsaufruf fork() zurückgeben, und was bedeuten sie?} +\vspace{10mm} +\begin{itemize*} + \item Unterscheidung: getrennte Speicherbereiche, unterschiedliche PIDs, Programmierung gleich + \item Selbsterkkennung: $getpid()$, $getppid()$, $system()$-calls, Rückgabewert von $fork()$ + \item Rückgabewert von $fork()$: + \begin{itemize*} + \item PID des Kindes von Parent + \item 0 im Kindprozess + \item -1 Fehler (errno gesetzt) + \end{itemize*} +\end{itemize*} + +\textit{b) Demonstrieren Sie mit dem einfachen C-Programm p1 (in der Anlage), dass nach der Ausführung von fork() tatsächlich zwei Prozesse existieren.} +\vspace{10mm} + + +\textit{c) Führen Sie Programm p2 aus. Dieses enthält einen execl-Systemaufruf, mit dem ein Programm p4 ausgeführt werden soll. Das Programm p4 muss dabei ein (mit dem C-Compiler) übersetztes, ausführbares Programm im gleichen Verzeichnis sein. Sie können dazu das vorgegebene Programm p4 verwenden, das lediglich einen Ausdruck erzeugt.} +\vspace{10mm} + + +\textit{d) Wie viele Prozesse werden durch das Programm p3 erzeugt? Warum? Was passiert, wenn execl() nicht erfolgreich ausgeführt werden kann, weil z. B. das Programm p4 nicht gefunden wird? Führen Sie zur Kontrolle p3 aus, während das Programm p4 einmal existiert und ein weiteres Mal, während dieses nicht existiert.} +\vspace{10mm} + + +%########################################## +\subsection{Aufgabe 2: Prozessdeskriptoren und Prozesszustände} +\textit{Beschäftigen Sie sich mit dem Shell-Kommando $ps$. Es dient dazu, bestimmte Informationen aus den Prozessdeskriptoren ausgewählter Prozesse auszugeben. Die ausgewählte Prozessmenge und der Umfang der wiedergegebenen Informationen kann dabei durch entsprechende Parameter beeinflusst werden. So bedeutet z. B. $ps -el$, dass eine Liste mit vielen Parametern (l, "long") für alle Prozesse (e) erzeugt wird. Aus Gründen der Übersichtlichkeit kann auch $ps -al$ verwendet werden.} +\vspace{10mm} +\textit{a) Welche Prozesszustände sind in Linux-Betriebssystemen definiert, und wie erkennt man diese an den Ausgaben von ps?} +\vspace{10mm} + + +\textit{b) Starten Sie das Programm p5, in dem der durch $fork()$ erzeugte Kindprozess in einer Endlosschleife läuft (Zweck?). Welche Prozesszustände haben Eltern- und Kindprozess? Beobachten Sie, welche Komponenten der Prozessdeskriptoren sich in Abhängigkeit von der Zeit ändern und interpretieren Sie dies.} +\vspace{10mm} + + +\textit{c) Wenn ein Prozess auf ein sogenanntes Ereignis warten muss, beispielsweise eine Eingabe, dann ändert sich dessen Zustand. Starten Sie Programm p6, welches mittels $getchar()$ auf eine Eingabe vom Standardeingabegerät (ohne weitere Maßnahmen ist dies die Tastatur) wartet, und untersuchen Sie die Zustandsinformationen des wartenden Prozesses.} +\vspace{10mm} + + +\textit{d) Mit dem Systemaufruf $sleep()$ kann sich ein Prozess selbst "schlafen legen". Starten Sie p7 und untersuchen Sie, welchen Zustand der hierdurch erzeugte Prozess nach dem Aufruf von $sleep()$ einnimmt.} +\vspace{10mm} + + +%########################################## +\subsection{Aufgabe 3: Dateiformate ausführbarer Programme} +\textit{Kompilierte Programme liegen immer in einem genau definierten Format vor. Ziel dieser Aufgabe ist es, Erkenntnisse darüber zu gewinnen, wie ein Betriebssystem aus einem kompilierten Programm einen Prozess erzeugt. Ein in Linux-Betriebssystemen verbreitetes Binärformat ist ELF (Executable and Link Format), welches Gegenstand dieser Aufgabe ist.} +\vspace{10mm} +\textit{a) Im Mittelpunkt Ihrer Recherchen über ELF sollte stehen, welche Informationen das Betriebssystem zur Erzeugung eines Prozesses benötigt und wo und wie diese in ELF zu finden sind. Berücksichtigen Sie ebenfalls die Metainformationen, die sich im ELF-Header befinden. Finden Sie Antworten auf die folgenden Fragen. + \begin{itemize} + \item Wie findet man (bzw. das Betriebssystem) die erste auszuführende Instruktion innerhalb des Text-Segments? + \item Auf welche Weise bekommen bereits im Quellprogramm (z. B. C-Programm) initialisierte Variablen ihre Anfangswerte vor dem Start der Ausführung eines Programmes? + \item Woran erkennt man, um welchen Typ einer in ELF dargestellten Datei es sich handelt? Für welche Dateitypen ist ELF prinzipiell vorgesehen? + \item Unterscheiden sich ELF-Dateien für 32-Bit- und 64-Bit-Prozessorarchitekturen? + \item Woran ist das gegebenenfalls erkennbar? + \item Welchen Zweck haben die so genannten Sektionen (sections) bzw. die program headers? + \item Welche Bedeutung hat eine Symboltabelle als Teil einer in ELF dargestellten Datei? + \end{itemize}} +\vspace{10mm} + + +\textit{b) Untersuchen Sie experimentell Binärdateien hinsichtlich ihrer ELF-Metainformationen. Hierzu können Sie die Werkzeuge readelf 9 und objdump 10 verwenden, um zu ermitteln, welche konkreten Informationen eine Datei im ELF-Format enthalten kann. Als Beispiele sollen mindestens die folgenden ELF-Binärdateien dienen: + \begin{itemize} + \item das ls-Utility, zu finden im Verzeichnis /bin, + \item die Executable zum Programm p1.c (siehe Anlage zu Aufgabe 1), + \item eine dynamisch ladbare Bibliothek aus dem Verzeichnis /lib oder /usr/lib. + \end{itemize}} +\vspace{10mm} + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Übung 3} +%########################################## +\subsection{Repetitorium} +\begin{description*} + \item[Durch welche Ereignisse wechselt ein Thread vom Zustand aktiv in den Zustand blockiert? Durch welche in den Zustand suspendiert?] + \item[Welche Auswirkung hat im Round-Robin-Schedulingalgorithmus die Veränderung der Größe der Zeitscheibe?] + \item[Round-Robin-Scheduler verwalten normalerweise eine oder mehrere Listen von Prozessen, wobei jeder lauffähige Prozess genau einmal aufgeführt wird. Was würde passieren, wenn ein Prozess 2x in einer Liste stehen würde? Aus welchen Gründen könnte man so etwas erlauben?] + \item[Welche Form des Schedulings – preemptiv oder nicht preemptiv – führt aus grundsätzlichen Überlegungen zu robusteren Systemen?] +\end{description*} +%########################################## +\subsection{Aufgabe 1: EDF} +\textit{Die Scheduling-Strategie Earliest Deadline First (EDF) kommt dann zum Einsatz, wenn die Abarbeitung eines Prozesses bis zu einem definierten Zeitpunkt (Frist, Deadline) erfolgen muss. Wir wollen uns in dieser Aufgabe auf statische Deadlines beschränken, auch wenn diese in bestimmten, realen Anwendungen während der Abarbeitung von Prozessen (dynamisch) neu bestimmt werden können. + Die Strategie ist nun wie folgt: Ein Prozess wird einem anderen vorgezogen, falls er eine frühere Deadline hat. Ein neu ankommender – und aufgrund einer zeitigeren Deadline höher priorisierter – Prozess verdrängt einen bereits rechnenden, aber niedriger priorisierten Prozess. Das Verfahren ist also präemptiv.} +\vspace{10mm} +\textit{a) Implementieren Sie EDF. Sie finden dazu eine Musterklasse im Projekt unter Simulation → Source Packages → frm.pssav.sim → PreemptiveEDFScheduler.java.} +\vspace{10mm} + + +\textit{b) Vergleichen Sie nun den einfachen Round-Robin-Algorithmus (eine Warteschlange) mit EDF. Überlegen Sie sich zwei Szenarien: Im ersten sollen beide Algorithmen die gesetzten Fristen einhalten. Im zweiten sollte ersichtlich werden, in welchen Fällen Round Robin gegenüber EDF versagt. + Benutzen Sie ausreichend viele Prozesse, so dass die Simulation lange genug läuft, damit ihre Kommilitonen genügend Zeit haben, sich der dargestellten Probleme bewusst zu werden.} +\vspace{10mm} + + +%########################################## +\subsection{Aufgabe 2: Round Robin mit Prioritäten} +\textit{Die Scheduling-Strategie Round Robin soll ein möglichst faires Scheduling mehrerer Prozesse ermöglichen. In der Vorlesung haben Sie die zusätzliche Möglichkeit kennengelernt, Round Robin mit einem Prioritätenschema zu kombinieren. Wir wollen uns in dieser Aufgabe auf statische Prioritäten beschränken, auch wenn diese in bestimmten, realen Anwendungen während der Abarbeitung von Prozessen (dynamisch) neu bestimmt werden können.} +\vspace{10mm} +\textit{a) Implementieren Sie Round Robin mit Prioritäten. Sie finden dazu bereits eine Implementierung der Strategie ohne Berücksichtigung von Prioritäten unter Simulation → Source Packages → frm.pssav.sim → RoundRobinScheduler.java, die Sie entsprechend anpassen müssen.} +\vspace{10mm} + +\textit{b) Von welchen Faktoren ist die Länge einer Zeitscheibe in der Praxis abhängig? Von welchen die Priorität? Welcher Unterschied ergibt sich daraus für das Setzen dieser beiden Parameter?} +\vspace{10mm} + +\textit{Demonstrieren Sie die Auswirkungen unterschiedlich langer Zeitscheiben sowie unterschiedlicher Prioritäten anhand zweier Szenarien: Eines mit (genügend vielen) sehr kurzen Prozessen, ein anderes mit sehr viel länger rechnenden. Diskutieren Sie, welche realen Einflussfaktoren – die in PSSAV nicht berücksichtigt werden können – hier in der Praxis eine Rolle spielen müssen.} + + +%########################################## +\subsection{Aufgabe 3: Linux-Scheduling} +\textit{Moderne Universal-Betriebssysteme müssen heute mit Prozessen und Threads sehr unterschiedlichen Charakters umgehen können. Einerseits könnten z. B. Echtzeitprozesse zur Audio/Video-Verarbeitung ablaufen, andererseits gibt es auch zeitunabhängige aber rechenzeitintensive Prozesse wie beispielsweise das in der Vorlesung gezeigte Ray-Tracing-Programm.} +\vspace{10mm} +\textit{a) Recherchieren Sie für das Betriebssystem Linux die für das Scheduling von Prozessen verantwortlichen funktionalen Komponenten (Scheduling-Subsystem) und ermitteln Sie, welche Schedulingstrategien Linux unterstützt.} +\vspace{10mm} + +\textit{Damit das Betriebssystem sinnvoll mit diesen unterschiedlichen Prozessen umgehen kann, müssen Prozesse selbst ihre Lastmerkmale dem Betriebssystem mitteilen (neben der Beobachtung und Klassifizierung der Prozesse durch das Betriebssystem selbst). Eine sehr einfache Möglichkeit, das Scheduling von Prozessen zu beeinflussen, besteht in der Vergabe unterschiedlicher (Basis-)Prioritäten, auf deren Grundlage die dynamische Änderung durch das Betriebssystem vorgenommen wird. Für jeden regulären Prozess steht hierzu der Systemaufruf $nice$ zur Verfügung; ein Nutzer kann die Priorität seiner Prozesse mithilfe der Ausführung + der Kommandos $nice$ oder $renice$ verschlechtern (der Name deshalb, weil er damit "nett" zu anderen Prozessen ist).} +\vspace{10mm} +\textit{b) Starten Sie zwei gleichartige rechenzeitintensive Prozesse (ggf. hierfür ein einfaches Programm schreiben), die lange genug rechnen. Demonstrieren und erläutern Sie deren Verhalten, wenn einerseits beide die gleiche Priorität haben und andererseits ein Prozess seine Priorität verringert hat. Überlegen Sie sich geeignete Demonstrationsmöglichkeiten.} +\vspace{10mm} + +\textit{ + Hinweise: + Falls Sie nicht selbst geeignete Ideen haben: Beispielsweise lassen sich lange laufende Prozesse durch Hochzählen einer Variablen vom Typ long int (lange ganzzahlige Variable) erzeugen, oder durch Starten mehrerer Instanzen einer ausreichend anspruchsvollen Anwendung Ihrer Wahl (anspruchsvoll für den Hauptprozessor, nicht nur für die Grafikhardware).\\ + Falls Sie an einem System mit einem Mehrkernprozessor arbeiten, könnten die zu zeigenden Effekte unsichtbar bleiben, wenn z. B. jeder Prozess auf einem eigenen Prozessorkern läuft. Beschäftigen Sie sich hierzu z. B. mit dem Systemaufruf $sched_setaffinity()$. +} +\vspace{10mm} + + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Übung 4} +%########################################## +\subsection{Repetitorium} +\begin{description*} + \item[Welche prinzipiellen Probleme entstehen, wenn parallel ablaufende Threads auf einen gemeinsamen Speicherbereich zugreifen? Welche beiden konkreten Synchronisationsprobleme bestehen beim Erzeuger/Verbraucher-Problem?] + \item[In der Vorlesung haben wir binäre Semaphore kennen gelernt, die innerhalb eines kritischen Abschnitts strengen wechselseitigen Ausschluss garantieren. Eine allgemeinere Form der Semaphore lässt eine gewisse feste Anzahl von Aktivitäten in einen kritischen Abschnitt hinein, bevor die Sperrwirkung eintritt. Wie können derartige Semaphore implementiert werden?] + \item[Wie viele Semaphore braucht man mindestens zur Lösung des allgemeinen Erzeuger/Verbraucher-Problems?] + \item[Wir haben Bedingungsvariable im Kontext Hoare’scher Monitore kennen gelernt. Ist ein derartiges Synchronisationsmodell (Warten auf Erfüllung einer Bedingung) nicht auch außerhalb und losgelöst vom Monitormodell nützlich? Falls ja, worauf müsste man in einem solchen Fall achten?] +\end{description*} +%########################################## +\subsection{Aufgabe 1: Das Problem des schlafenden Barbiers} +\textit{In einem Friseurladen gibt es einen Friseur, einen Frisierstuhl (an dem der Friseur arbeitet) und n Stühle für wartende Kunden. Entwickeln Sie einen Algorithmus, der unter den nachfolgenden Annahmen Friseur und Kunden so synchronisiert, dass jeder wartende Kunde (irgendwann) bedient wird.} +\begin{itemize*} + \item Der Friseur und alle Kunden agieren parallel. + \item Falls keine Kunden da sind, geht der Friseur schlafen. + \item Wenn ein Kunde kommt, während der Friseur schläft, weckt der Kunde den Friseur und setzt sich in den Frisierstuhl (und wird bedient). + \item Wenn ein Kunde eintrifft, während der Friseur arbeitet und ein freier Kundenstuhl vorhanden ist, setzt sich der Kunde und wartet. + \item Trifft ein Kunde ein, während der Friseur arbeitet und alle Kundenstühle belegt sind, verlässt der Kunde den Friseurladen sofort wieder. + \item Wenn der Friseur mit dem Bedienen eines Kunden fertig ist, verlässt dieser Kunde den Friseurladen und einer der wartenden Kunden (falls vorhanden) belegt den Frisierstuhl und wird bedient (sonst gilt Bedingung 2). +\end{itemize*} +\vspace{10mm} + + +%########################################## +\subsection{Aufgabe 2: Das Achterbahnproblem} +\textit{Das Achterbahnproblem nach J.S. Herman wird durch das folgende Szenario beschrieben. Eine Anzahl $n$ von "Vergnügungssüchtigen" (im Folgenden Passagiere genannt) versucht, möglichst oft eine Fahrt mit einem der $m$ zur Verfügung stehenden Achterbahnwagen zu unternehmen. Dabei gelten allerdings die folgenden Bedingungen. + \begin{itemize*} + \item Ein Wagen darf nur losfahren, wenn er voll besetzt ist. (Dabei gilt: Jeder Wagen fasst $c$ Passagiere, wobei die Gesamtzahl der beteiligten Passagiere mehr als nur einen Wagen füllt, d. h. $c < n$.) + \item Wenn ein Wagen vollständig besetzt ist, fährt er los. + \item Wenn der Wagen nach Abschluss der Fahrt wieder anhält, steigen alle Passagiere aus und bemühen sich erneut, in einem "neuen" Wagen eine weitere Fahrt zu unternehmen. (Unter entsprechenden Umständen kann es natürlich auch wieder der gleiche Wagen sein.) + \item Wagen dürfen sich nicht überholen (was ja beim gegebenen Achterbahnproblem auch technisch nicht möglich ist), d. h. die Reihenfolge der Wagen bleibt immer gleich. + \end{itemize*} + Passagiere und Wagen sollen durch Aktivitäten simuliert werden, die synchronisiert werden müssen. Für eine der möglichen Lösungen könnten die folgenden Hinweise hilfreich sein: Bei der Ankunft eines Wagens sollte dieser eine Prozedur $Einsteigen()$ aufrufen, danach sollten $c$ Passagiere ihrerseits eine Prozedur $In_Wagen_Einsteigen()$ aufrufen. Nach beendeter Fahrt sollte ein anhaltender Wagen eine Prozedur $Aussteigen()$ aufrufen, und die sich im Wagen befindenden $c$ Passagiere sollten daraufhin eine Prozedur $Wagen_Verlassen()$ aufrufen. +} +\vspace{10mm} + +%########################################## +\subsection{Aufgabe 3: Der Kaffeeautomat} +\textit{Ein Kaffeeautomat, seine Kunden und ein Lieferant, der den Automaten regelmäßig mit Kaffee und Kaffeebechern auffüllt, sollen sich mittels Semaphoren synchronisieren. Synchronisieren Sie das Verhalten dieser Aktivitäten so, dass folgendes Verhalten realisiert wird. + \begin{itemize*} + \item Der Automat kann entweder einen Kunden bedienen oder durch den Lieferanten nachgefüllt werden. Beide Vorgänge sind nicht gleichzeitig möglich! + \item Ein Kunde muss nach Aufforderung durch den Automaten eine 1-Euro-Münze als Bezahlung einwerfen, erst danach bekommt er seinen Kaffee. (Um eine ungeeignete Betriebsweise auszuschließen, soll angenommen werden, dass sich nur Kunden anmelden, die eine 1-Euro-Münze parat haben – und nach Aufforderung natürlich auch einwerfen!) + \item Der Lieferant bekommt durch den Automaten mitgeteilt, dass dieser für den Auffüllvorgang bereit ist. + \item Ein einmal gestarteter Vorgang (Bedienen bzw. Auffüllen) kann nicht mehr unterbrochen werden. Eine neue Anmeldung (durch den nächsten Kunden oder den Lieferanten) wird erst nach Abschluss dieses Vorgangs akzeptiert. + \item Der nächste Kunde und der Lieferant können sich jeweils unabhängig voneinander beim Automaten anmelden. Die Reihenfolge der Bedienung hängt dann davon ab, in welcher Reihenfolge die Anmeldungen erfolgen. + \item Lieferant und Kunde bekommen den Abschluss des jeweiligen Vorgangs durch den Automaten mitgeteilt. + \item Falls der Kaffeevorrat verbraucht ist oder keine Becher mehr vorhanden sind, versetzt sich der Automat selbst in einen Wartezustand und wartet bis er durch den Lieferanten wieder befüllt ist. + \end{itemize*} +} +\vspace{10mm} + + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Übung 5} +%########################################## +\subsection{Diskussionsfragen} +\paragraph{Frage 1: Speicherbasierte vs. nachrichtenbasierte Interprozesskommunikation} +\textit{Stellen Sie sich vor, Ihre Übungsgruppe müsste ein Videoschnittsystem entwickeln, welches aus Robustheitsgründen die Berechnung komplexer Effekte, die En- und Dekodierung verschiedener Formate sowie die Steuerung der gesamten Applikation in jeweils unterschiedlichen Prozessen implementieren soll. Diese Prozesse müssen natürlich miteinander kommunizieren und dabei neben Kontrollinformationen auch die zu verarbeitenden Video- und Audiodaten austauschen. + Prinzipiell stehen dafür nachrichtenbasierte und speicherbasierte Kommunikationsmechanismen zur Verfügung. Für welche der existierenden Mechanismen würden sie sich entscheiden, um einerseits Kontrollinformationen und andererseits Mediendatenströme auszutauschen? Begründen Sie Ihre Antwort.\\ + Hinweis: Klären Sie zuerst, was die prinzipiellen Vor- und Nachteile dieser beiden Kommunikationsvarianten sind. Betrachten Sie anschließend die Kommunikationsmuster und Anforderungen der beiden Klassen (Kontroll- und Multimediadaten), bevor Sie eine Empfehlung geben. +} + +\vspace{10mm} +\paragraph{Frage 2: Synchronisation durch Semaphore} +\textit{Bei asynchroner nachrichtenbasierter Kommunikation kommen stets Warteschlangen zum Einsatz, um unterschiedliche Geschwindigkeiten der Sender- und Empfängerprozesse auszugleichen. Der Zugriff auf diese Warteschlangen muss aus verschiedenen Gründen durch Synchronisationsmechanismen (z. B. Semaphore) geregelt werden. Was sind diese Gründe und weshalb sind insgesamt drei Semaphore pro Warteschlange notwendig?} + +\vspace{10mm} +\paragraph{Frage 3: Synchronisationsvarianten bei nachrichtenbasierter Kommunikation} +\textit{Welche Nachteile asynchroner Kommunikation treten beim Einsatz synchroner Varianten der Sende- und Empfangsoperationen nicht auf? Warum ist es trotzdem manchmal sinnvoll oder unumgänglich, die asynchronen Varianten einzusetzen? Nennen Sie mindestens drei Beispiele realer Applikationen, in denen asynchron kommuniziert wird.} + +\vspace{10mm} +\paragraph{Frage 4: Management asynchroner Ereignisse} +\textit{Welche Alternativen haben die Entwickler von Betriebssystemen, um mit asynchron auftretenden + Ereignissen (Mausbewegungen, Einstecken von USB-Geräten etc.) umzugehen? Welche Technik + erlaubt es auch einem Benutzerprozess, auf asynchrone Ereignisse zu reagieren, ohne direkten + Hardwarezugriff zu haben?} + +%########################################## +\subsection{Aufgabe 1: Nachrichtenwarteschlangen (Message Queues)} +\textit{a) Recherchieren Sie die Funktionsweise, Charakteristiken und Eigenschaften von Message Queues. Wie wird der Kontrollfluss der Prozesse dabei durch das Betriebssystem gesteuert (z. B. Synchronisation durch Blockierungen, durch die Ankunft von Daten usw.)?} +\vspace{10mm} + +\textit{b) In der Anlage zu dieser Übungsaufgabe (u4-a1-anlage) befinden sich ein Server- und ein Client-Programm, die beide Lücken enthalten. Vervollständigen und übersetzen Sie die Programme. Starten Sie anschließend zuerst den Server und dann den Client. Falls Sie die Lücken richtig ausgefüllt haben, muss das Client-Programm ein "Passwort" an den Server senden und anschließend ein Geheimnis ausgeben, das es vom Server als Antwort erhalten hat.} +\vspace{10mm} + +%########################################## +\subsection{Aufgabe 2: Gemeinsamer Speicher (Shared Memory)} +\textit{a) Recherchieren Sie die Funktionsweise, Charakteristiken und Eigenschaften von Shared Memory. Wie wird der Kontrollfluss der Prozesse dabei durch das Betriebssystem gesteuert? (Wann und wodurch erfolgt eine Synchronisation?)} +\vspace{10mm} + +\textit{b) In der Anlage zu dieser Übungsaufgabe (u4-a2-anlage) befinden sich ein Server- und ein Client-Programm, die beide Lücken enthalten. Vervollständigen und übersetzen Sie die Programme. Starten Sie anschließend zuerst den Server und dann den Client. Falls Sie die Lücken richtig ausgefüllt haben, muss das Client-Programm ein "Passwort" an den Server senden und anschließend ein Geheimnis ausgeben, das es vom Server als Antwort erhalten hat.\\ + Hinweis: An den verwendeten Semaphoroperationen sind keine Änderungen notwendig.} +\vspace{10mm} + +%########################################## +\subsection{Aufgabe 3: Benannte Pipes (Named Pipes, FIFOs)} +\textit{a) Recherchieren Sie die Funktionsweise, Charakteristiken und Eigenschaften von Pipes und Named Pipes. Wie wird der Kontrollfluss der Prozesse dabei durch das Betriebssystem gesteuert? (Wann und wodurch erfolgt eine Synchronisation?)} +\vspace{10mm} + + +\textit{b) In der Anlage zu dieser Übungsaufgabe (u4-a3-anlage) befinden sich ein Server- und ein Client-Programm, die beide Lücken enthalten. Vervollständigen und übersetzen Sie die Programme. Starten Sie anschließend zuerst den Server und dann den Client. Falls Sie die Lücken richtig ausgefüllt haben, muss das Client-Programm ein "Passwort" an den Server senden und anschließend ein Geheimnis ausgeben, das es vom Server als Antwort erhalten hat.} +\vspace{10mm} + + +\newpage +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Übung 6} +%########################################## +\subsection{Repetitorium} +\begin{description*} + \item[Wodurch sind die Mehrkosten eines Systemaufrufs im Vergleich zu einem regulären Prozeduraufruf bedingt?] + \item[Für die Behandlung asynchroner Unterbrechungen (Interrupts) gibt es mehrere Modelle, u.a. auch das Modell des erzwungenen Prozeduraufrufs und das Pop-up-Thread-Modell. Worin bestehen die Unterschiede bei diesen beiden Modellen?] + \item[Vor welchem fehlerhaften Verhalten von Anwendungsprozessen schützen private virtuelle Adressräume? Auf welche Weise üben Adressräume ihre Schutzfunktion aus? Aus welchen Gründen kann es sinnvoll sein, zwei oder mehreren Prozessen gleichzeitig Zugriff auf einen gemeinsamen Speicherbereich zu geben?] + \item[Warum ist es nur schwer möglich, schon während der Übersetzung eines Programms dafür zu sorgen, dass es bei der Ausführung keine Speicherzugriffssünden begeht?] + \item[Warum ist eine optimale Pagingstrategie im Allgemeinen nicht erreichbar? Unter welcher speziellen Voraussetzung geht dies dennoch?] + \item[Wie viele Seitentabellen gibt es in einem anlaufenden Betriebssystem mit virtueller Speicherverwaltung? Benötigt ein E/A-Adressraum eine eigene Seitentabelle?] + \item[Was ist die Arbeitsmenge (Working Set) eines Prozesses? Wozu dient sie? Zu welchen Zeitpunkten bzw. unter welchen Voraussetzungen stimmt sie mit der Menge der für einen Prozess eingelagerten Seiten (Resident Set) überein?] + \item[Welche Aufgaben hat eine MMU? Wozu dient ein TLB (Translation Look-aside Buffer)? Wann wird er von wem wozu benutzt?] + \item[Seitentabellen können je nach Adressraumgröße sehr groß werden. Mit diesem Problem gehen mehrstufige Seitentabellen um. Gegeben sei die Aufteilung einer virtuellen 32-Bit-Adresse für ein zweistufiges Abbildungsverfahren (P i als Seitentabellenindex i. Stufe).] + \begin{itemize*} + \item Wie groß ist die Seitentabelle? Wie groß ist die Seitenrahmen- bzw. Kachelgröße? + \item Um welchen Faktor reduziert sich die Größe der Seitentabelle, die ständig im Hauptspeicher zu halten ist, bei einem zweistufigen Seitentabellenverfahren gegenüber einer einstufigen Seitentabelle? + \item Welche Größe haben die Seitentabellen bei einstufigen bzw. zweistufigen Verfahren bei einer Eintragsbreite von jeweils 4 Byte? + \end{itemize*} + \item[Bei einer Seitengröße von 8 KiByte und einem virtuellen Adressraum der Größe $2^{64}$: Wie groß wäre eine einstufige, nicht invertierte Seitentabelle eines Prozesses, wenn jeder Seiteneintrag in der Tabelle 32 Bit (= $2^2$ Byte) groß ist?] +\end{description*} +%########################################## +\subsection{Aufgabe 1: Systemaufrufe} +\textit{Dienstleistungen des Betriebssystems (z. B. Erzeugen von Prozessen, Threads oder Dateien) werden unter Zwischenschaltung von Stellvertreterprozeduren aufgerufen (z. B. für Programme in der Sprache C finden diese sich bei Linux-Systemen meist in der C-Standardbibliothek libc), die dann über einen aufwändigeren als den Prozedurmechanismus den tatsächlichen Sprung ins Betriebssystem implementieren.} +\vspace{10mm} +\textit{a) Warum kann man aus einem Anwendungsprogramm nicht direkt eine im Betriebssystem implementierte Prozedur aufrufen? Erläutern Sie die gängige alternative Verfahrensweise. Welche prinzipiellen Bestandteile enthalten die genannten Stellvertreterprozeduren?} +\vspace{10mm} + + +\textit{b) In der Anlage zur Aufgabe finden Sie das Programm $syscall.c;$ dort ist beispielhaft ein Systemaufruf manuell implementiert. Warum enthält das Unterprogramm Assemblerbefehle? Erweitern Sie nach obigem Muster Ihren "eigenen" $exit()$-Systemaufruf $my\_exit()$, indem Sie das begonnene Fragment ergänzen. Demonstrieren Sie dessen korrekte Funktionsweise.\\ + Hinweis: Mit dem Systemaufruf $wait()$ kann man den Terminierungsstatus von Kindprozessen überprüfen. Um das Programm zu kompilieren, auszuführen und seinen Rückgabewert anzuzeigen, können Sie alternativ das beigefügte Shell-Skript $run.sh$ benutzen. +} +\vspace{10mm} + +\textit{c) Vor der Einführung des Maschinenbefehls $syscall$ in modernen 64-Bit-Architekturen musste zum Auslösen eines Systemaufrufs durch ein Anwendungsprogramm ein spezieller Interrupt (trap) ausgelöst werden. Recherchieren Sie, welche Vorteile die Verwendung von $syscall$ gegenüber dieser konventionellen Verfahrensweise hat. Auch heute noch wird aus Gründen der Abwärtskompatibilität und zur Unterstützung spezieller Prozessorarchitekturen der $trap$-Mechanismus durch den Linux-Kernel unterstützt. Schaffen Sie es, Ihre $my\_exit()$-Implementierung mittels Ersetzen der $syscall$ Instruktion durch einen Trap-Interrupt ($int \$ 0x80$) entsprechend zu portieren?\\ + Beachten Sie, dass dabei Systemaufruf-Nummern für 32-Bit-Hardwarearchitekturen und andere Register zu verwenden sind. +} +\vspace{10mm} + + +\textit{Tipp zur gesamten Aufgabenstellung: Unter Linux können Sie mit $strace $ u.a. die Systemaufrufe eines Programms verfolgen.} +\vspace{10mm} + + +%########################################## +\subsection{Aufgabe 2: Ereignismanagement mit Linux-Signalen} +\textit{In Linux-Systemen kann mittels des Signalmechanismus eine Behandlung bestimmter Ereignisse auf Prozessebene stattfinden (aus der Vorlesung als "Interruptbehandlung auf Prozessebene" bekannt).\\ + Dieses Prinzip soll nun mit mittels sogenannter Dämon-Prozesse (daemons) veranschaulicht werden. Dabei handelt es sich um Hintergrundprozesse, die i. d. R. im Verlauf des Boot-Vorgangs gestartet werden und keine direkte Benutzerinteraktion vorsehen. + So kümmert sich beispielsweise der Line Printer Daemon (lpd) oder der Common Unix Printing System Daemon (cupsd) darum, Druckaufträge nebenläufig zu anderen Benutzerprozessen abzuwickeln. + Eine typische Verwendung von Signalen ist beispielsweise, einem Dämon die Änderung seiner Konfigurationsdatei(en) zur Laufzeit mitzuteilen, woraufhin diese erneut eingelesen werden sollen. + Hierfür hat sich die Benutzung des Signals $SIGHUP$ etabliert. +} +\vspace{10mm} + +\textit{a) Recherchieren Sie, welche Signale der für Unix-Systeme etablierte POSIX-Standard vorsieht und wie diese einem Prozess zugestellt werden. Demonstrieren Sie in der Übung, wie man auf der Kommandozeile einem beliebigen Prozess ein Signal (z. B. SIGHUP oder SIGKILL) senden kann. + Informationen hierzu finden Sie wie immer in den Linux-Manpages oder im Handbuch zur C-Standardbibliothek libc.} +\vspace{10mm} + +\textit{In der Anlage zu dieser Aufgabe stellen wir Ihnen den Quellcode eines kleinen Dämon-Prozesses zur Verfügung. Zur besseren Demonstration haben wir darauf verzichtet, ihn als Hintergrundprozess zu initialisieren; er läuft daher wie ein Nutzerprozess und kann so seine Ausgaben auf der Kommandozeile sichtbar machen.} +\vspace{10mm} + +\textit{b) Starten Sie den mitgelieferten Dämon und demonstrieren Sie, wie dieser auf verschiedene Signale reagiert. Erklären Sie das Verhalten mithilfe Ihrer Recherche aus Teilaufgabe a).} +\vspace{10mm} + +\textit{c) Erweitern Sie den Dämon nun um die Fähigkeit, seine Konfigurationsdateien neu zu laden, wann immer er das Signal SIGHUP empfängt. Sie können dazu als Reaktion auf das Signal die bereits vorhandene Funktion $load_config()$ aufrufen.} +\vspace{10mm} + +\textit{d) Schaffen Sie es, durch Reaktion auf die Signale SIGTERM und SIGKILL ein explizites Terminieren des Prozesses durch den Benutzer zu verhindern? Demonstrieren und erklären Sie Ihre Ergebnisse.} +\vspace{10mm} + + +%########################################## +\subsection{Aufgabe 3: Virtuelle Speicherverwaltung von Linux-Systemen} +\textit{Stellen Sie das virtuelle Speichermanagement von Linux-Systemen vor. Gehen Sie dabei insbesondere auf die Struktur der Seitentabellen und die Seitengröße ein. + Virtuelle Speicherverwaltung bietet auch eine elegante Möglichkeit zur dynamischen Speicherverwaltung, d. h. je nach Bedarf den von einem Prozess belegten Speicherplatz zu vergrößern bzw. wieder zu verkleinern. + Die Motivation zur Integration dieser Technik in den Linux-Kernel war die Einführung dynamischer Objekte in Programmiersprachen, die z. B. mittels new() während des Programmablaufs bei Bedarf neue Variablen, insbesondere große Arrays, erzeugen und auch wieder löschen können. Zum Ansprechen der entsprechenden Implementierungen in Linux, werden auf Nutzerebene die Funktionen malloc() ("memory allocation") und free() (Wiederfreigeben von Speicher) bereitgestellt. Beide Funktionen sind über Eintrittspunkte in die C-Standard-Bibliothek implementiert. Freier Speicher wird dabei vom Heap besorgt.} +\vspace{10mm} + +\textit{a) Erklären Sie diesen Begriff im Linux-Kontext. Stellen Sie dann die beiden obigen Funktionen vor und demonstrieren Sie ihre Benutzung.} +\vspace{10mm} + +\textit{Im Linux-Kern benutzen $malloc()$ und $free()$ den Systemaufruf $brk()$ ("break"), der ebenso freien Speicher requiriert, aber für die Verwendung als Programmierschnittstelle nicht empfohlen wird. Dieser ändert den so genannten Programm-"break".} +\vspace{10mm} +\textit{b) Was bedeutet dies? Wie kann man dessen aktuellen Wert sowie dessen Maximalwert feststellen?} +\vspace{10mm} + +\textit{c) Wodurch unterscheiden sich die Funktionen $malloc()/free()$ und $brk()$?} +\vspace{10mm} + + +\end{document} \ No newline at end of file