From 50471dc09ed1d0bb2ab7bd0548ff2f60fd946a1a Mon Sep 17 00:00:00 2001 From: wieerwill Date: Tue, 26 Oct 2021 15:00:42 +0200 Subject: [PATCH] =?UTF-8?q?neue=20=C3=9Cbung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Advanced Operating Systems - Übung.pdf | Bin 0 -> 75807 bytes Advanced Operating Systems - Übung.tex | 235 +++++++++++++++++++++++++ 2 files changed, 235 insertions(+) create mode 100644 Advanced Operating Systems - Übung.pdf create mode 100644 Advanced Operating Systems - Übung.tex diff --git a/Advanced Operating Systems - Übung.pdf b/Advanced Operating Systems - Übung.pdf new file mode 100644 index 0000000000000000000000000000000000000000..555d396f7cc26dd51fbde209675dbad64b817562 GIT binary patch literal 75807 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 G~sgYVVg;#!RI_oBTH1 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 EU#=D*l>h($ literal 0 HcmV?d00001 diff --git a/Advanced Operating Systems - Übung.tex b/Advanced Operating Systems - Übung.tex new file mode 100644 index 0000000..b646b7c --- /dev/null +++ b/Advanced Operating Systems - Übung.tex @@ -0,0 +1,235 @@ +\documentclass[10pt, a4paper]{exam} +\printanswers % Comment this line to hide the answers +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\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{hyperref} +\usepackage{pgfplots} +\usepackage{bussproofs} + +\pdfinfo{ + /Title (Advanced Operating Systems - Übung) + /Creator (TeX) + /Producer (pdfTeX 1.40.0) + /Author (Robert Jeutter) + /Subject () +} +\title{Advanced Operating Systems - Übung} +\author{} +\date{} + +% Don't print section numbers +\setcounter{secnumdepth}{0} + +\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{Advanced Operating Systems}! Für die Korrektheit der Lösungen wird keine Gewähr gegeben. +\end{myboxii} + +%########################################## +\begin{questions} + \question Funktionale und nichtfuntionale Eigenschaften + \begin{parts} + \part Was ist eine nichtfunktionale Eigenschaft? Finden Sie Beispiele für sowohl funktionale als auch nichtfunktionale Eigenschaften + \begin{itemize} + \item eines Flugzeugs, + \item eines Smartphones, + \item eines Betriebssystems. + \end{itemize} + \begin{solution} + \begin{itemize} + \item Flugzeugs + \begin{itemize} + \item F: fliegen, bremsen, + \item NF: Innentemperatur halten, automatisierte Steuerung + \end{itemize} + \item Smartphones + \begin{itemize} + \item F: telefonieren ermöglichen, Internetzugang + \item NF: klein, leicht, energiesparend, strahlungsarm, umweltfreundlich, + \end{itemize} + \item Betriebssystems + \begin{itemize} + \item F: den Zugriff auf Daten ermöglichen + \item NF: leicht zu bedienen, skalierbar, offen, performant, + \end{itemize} + \end{itemize} + \end{solution} + \part Charakterisieren Sie den Unterschied zwischen Laufzeiteigenschaften und Evolutionseigenschaften anhand je einer beispielhaften Eigenschaft. + \begin{solution} + Laufzeiteigenschaften Verfügbarkeit: während das System aktiv ist (läuft) muss es verfügbar sein. Überwachbar für ein einzelnes System nur über kurze Zeit. + + Evolutionseigenschaft Wartbarkeit: das System kann über eine längere Zeit überarbeitet/verbessert werden auch ohne dass dieses aktiv ist oder laufen muss. Überwachbar über eine Reihe von Systemen und nur eine lange Zeit + \end{solution} + \end{parts} + + \question Anforderungen an Betriebssysteme + \begin{parts} + \part Welche grundlegenden funktionalen Eigenschaften muss jedes Betriebssystem qua definitione besitzen? + \begin{solution} + \begin{itemize} + \item Harware Multiplexen + \item Hardware Schutz + \item Harware Abstraktion + \end{itemize} + \end{solution} + \part Die Erfüllung spezieller nichtfunktionaler Eigenschaften kann Auswirkungen auf den gesamten Hard- und Softwarestack eines IT-Systems haben. Kennen Sie Anwendungsfälle für Betriebssysteme, die \begin{itemize} + \item keinen Scheduler, + \item kein Paging, + \item keinen privilegierten Prozessormodus + \end{itemize} + benutzen? Recherchieren und begründen Sie, warum solche Designs möglich und sinnvoll sein können! + \begin{solution} + Embedded Systems mit nur einem Programm verwenden kein Scheduler oder Paging + + + \end{solution} + \end{parts} + + \question Sparsamkeitsbegriff + \begin{parts} + \part Erläutern Sie die Begriffe „Sparsamkeit“ und „Effizienz“. Nennen und begründen Sie in diesem Zusammenhang mögliche Ziele eines sparsamen Betriebssystems. + \begin{solution} + \end{solution} + \part Ist Sparsamkeit grundsätzlich als Laufzeit- oder als Evolutionseigenschaft anzusehen? Begründen Sie anhand Ihrer Antwort auf Frage a). + \begin{solution} + \end{solution} + \part Begründen Sie anhand selbstgewählter Anwendungsszenarien, wann Effizienz im Umgang + \begin{itemize} + \item mit Energie + \item mit Speicherplatz + \end{itemize} eine zentrale nichtfunktionale Eigenschaft eines Betriebssystems ist. + \begin{solution} + \end{solution} + \part Sparsamkeit ist auch eine mögliche Anforderung an den Betrieb eines IT-Systems. Können Sie sich vorstellen, warum dabei „Sparsamkeit mit Funktionalität“ oder „Sparsamkeit mit Code“ eine Rolle spielen könnte? Bewerten Sie den aktuellen Linux-Mainline Kernel1 nach diesen Kriterien. . . + \begin{solution} + \end{solution} + \end{parts} + + \question Energieeffizienz + \begin{parts} + \part Welche hardwareseitigen Voraussetzungen müssen für energieeffizienten Betrieb eines Rechnersystems vorliegen? Welche Rolle spielt das Betriebssystem hierbei? + \begin{solution} + Hardware kann Energiesparmodi bereitstellen (sleep mode) und das Betriebssystem muss diese einstellen/umstellen können + \end{solution} + \part Erklären Sie die Begriffe Reaktivität und Nutzererfahrung vor dem Hintergrund Ihrer Antwort auf Frage a). + \begin{solution} + Aus dem Energiesparenden Modi wird die Reaktivität niedriger sein aber kann durch das Betriebssystem für die jeweilige Anwendung angepasst wieder in einen Aktiven Modi versetzt werden. + Z.B. anpassung der Framerate einer GUI oder Grafik-intensiven Anwendung + \end{solution} + \end{parts} + + \question Speichereffizienz + \begin{parts} + \part Erläutern Sie den Begriff Fragmentierung bei Realspeicherverwaltung. Warum kann dies auch für virtuelle Speicherverwaltung zum Problem werden? + \begin{solution} + \end{solution} + \part Welchen Einfluss hat die Seitentabelle für virtuelle Speicherverwaltung auf den unmittelbaren Speicherbedarf eines Betriebssystem-Kernels? Welchen haben etwaige Gerätetreiber? Und welche Möglichkeiten hat ein BS-Entwickler, mit beiden Problemen umzugehen? + \begin{solution} + \end{solution} + \end{parts} + + \question Betriebssystemarchitekturen für Sparsamkeit und Effizienz + + Welche Vor- und Nachteile haben die beiden Architekturkonzepte Makro- und Mikrokernel für Entwurf und Implementierung energie- und speichereffizienter Betriebssysteme? Diskutieren Sie anhand der Betriebssysteme TinyOS und RIOT! + \begin{solution} + \end{solution} + + \question Energieeffiziente Dateizugriffe + Nehmen Sie an, eine Anwendung referenziert eine Folge von Festplattenblöcken: $A,B,C,A,C,D,E,A$. + Zur Optimierung von sowohl Performanz als auch Energieverbrauch beim Zugriff auf diese Blöcke soll energieeffizientes Prefetching zum Einsatz kommen. Nehmen Sie weiterhin an, dass ein Blockzugriff (access) jeweils konstant 4 Zeiteinheiten (ZE) dauert, ein fetch oder prefetch je 1 ZE sowie dass der verwendete Festplattencache maximal 3 Blöcke fasst. Die gegebene Referenzfolge können Sie als gesichert annehmen (d. h. es sind keine Abweichungen im tatsächlichen Verhalten der Anwendung zu erwarten). + \begin{parts} + \part Entwickeln Sie zwei Zugriffsabläufe für diese Referenzfolge: einen, bei dem traditionelles + Prefetching angewandt wird, sowie einen weiteren mit dem in Vorlesung besprochenen Verfahren zum engergieeffizienten Prefetching. + \begin{solution} + \end{solution} + \part Begründen Sie anhand des Vergleichs beider Abläufe, welche Vorteile das energieeffizente Verfahren in diesem Beispiel hat. Kann es Referenzfolgen geben, bei denen beide Verfahren (nahezu oder völlig) gleichen Energieverbrauch verursachen? Unter welchen Umständen, bzw. warum nicht? + \begin{solution} + \end{solution} + \end{parts} + + \question Energieeffizientes Scheduling + + Schedulingalgorithmen, welche die optimale Reaktivität eines interaktiven Systems zum Ziel haben, basieren in der Regel auf Round Robin (RR) unter Einbeziehung von Prioritäten. Wenn zugleich Strategien zum sparsamen Umgang mit Prozessorenergie durchgesetzt werden, können solche Algorithmen ihr Ziel jedoch verfehlen. + \begin{parts} + \part Begründen Sie obige These anhand einer geeignet konstruierten, beispielhaften Prozessmenge. + \begin{solution} + \end{solution} + \part Das Schedulingziel von RR („maximale Reaktivität“) lässt sich als die möglichst faire Verteilung von Rechenzeit auf Threads beschreibt. Finden Sie eine analoge Beschreibung des Schedulingziels „Energieeffizienz“ im Sinne der Antwort auf Frage a). Definieren Sie hierfür einen formalen Schedulingparameter analog zur Zeitscheibenlänge T bei RR. + \begin{solution} + \end{solution} + \part Implementieren Sie die einfache RR-Strategie (ohne Prioritäten) so, dass beide in Frage b)beschriebenen Schedulingziele verfolgt werden. Beachten Sie insbesondere, dass \begin{itemize} + \item stark interaktive Threads durch verlängerte Antwortzeiten behindert sowie + \item energiesparsame Threads durch relativ geringere Prozessorzeit benachteiligt werden können. + \end{itemize} + \begin{solution} + \end{solution} + \end{parts} + Als Ablaufumgebung zur Simulation einer Prozessmenge können Sie entweder ein kleines multi-threaded Programm schreiben oder den Scheduling-Simulator PSSAV verwenden, den Sie evtl. noch aus der zweiten Übung im Grundlagenfach Betriebssysteme kennen. Im letzteren Fall können Sie bereits auf eine RR-Implementierung zurückgreifen; diese und die vom Simulator vorgesehenen Prozessinformationen müssen natürlich modifiziert werden. + Stellen Sie Ihren Algorithmus (in knappem Pseudocode) im Seminar vor und zeigen Sie möglichst eine kleine Demonstration. Gehen Sie dabei auf die in der Vorlesung gestellten Implementierungsfragen ein. + Tipps: Zur Simulation des Energieverbrauchs eines ablaufenden Prozesses dürfen Sie annehmen, dass dieser linear abhängig von der Prozesslaufzeit ist. Sie müssen daher dieses Prozessmerkmal lediglich als Faktor repräsentieren, der bspw. das verbleibende Energiebudget zum Zeitpunkt des Ablaufs einer Zeitscheibe errechnet oder bestimmt, wann einzum Prozessstart gegebenes Energiebudget aufgebraucht sein wird (als zusätzlichen Schedulingzeitpunkt). + + +\end{questions} +\end{document} \ No newline at end of file