energieeffizientes Scheduling

This commit is contained in:
WieErWill 2022-02-20 15:36:10 +01:00
parent 19d990abd7
commit ae4d78fec7
2 changed files with 161 additions and 338 deletions

Binary file not shown.

View File

@ -309,350 +309,173 @@
\end{enumerate*} \end{enumerate*}
\subsubsection{Energieeffizientes Prozessormanagement} \subsubsection{Energieeffizientes Prozessormanagement}
Hardware-Gegebenheiten
\begin{itemize*} \begin{itemize*}
\item z.Zt. meistgenutzte Halbleitertechnologie für Prozessor-Hardware: CMOS ( Complementary Metal Oxide Semiconductor) \item CMOS z.Zt. meistgenutzte Halbleitertechnologie für Prozessor
\item \item Komponenten für Energieverbrauch $P = P_{switch} + P_{leak} + ...$
Komponenten für Energieverbrauch: $P = P_{switching} +
P_{leakage} + ...$
\begin{itemize*} \begin{itemize*}
\item $P_{switching}$: für Schaltvorgänge notwendige Leistung \item $P_{switch}$: für Schaltvorgänge notwendige Leistung
\item $P_{leakage}$: Verlustleistung durch verschiedene Leckströme \item $P_{leak}$: Verlustleistung durch verschiedene Leckströme
\item ...: weitere Einflussgrößen (technologiespezifisch) \item ...: weitere Einflussgrößen (technologiespezifisch)
\end{itemize*} \end{itemize*}
\end{itemize*} \end{itemize*}
\paragraph{Hardwareseitige
Maßnahmen}
Schaltleistung: $P_{switching}$ Schaltleistung: $P_{switching}$
\begin{itemize*} \begin{itemize*}
\item \item Energiebedarf kapaz. Lade-/Entladevorgänge während Schaltens
Energiebedarf kapazitiver Lade-u. Entladevorgänge während des \item für momentane CMOS dominanter Anteil am Energieverbrauch
Schaltens \item Einsparpotenzial: Verringerung von Versorgungsspannung (quadratische Abhängigkeit!) und Taktfrequenz
\item \item[$\rightarrow$] längere Schaltvorgänge, größere Latenz zwischen Schaltvorgängen
für momentane CMOS-Technologie i.A. dominanter Anteil am \item[$\Rightarrow$] Energieeinsparung nur mit Qualitätseinbußen
Energieverbrauch \begin{itemize*}
\item \item Anpassung des Lastprofils (Zeit-Last? Fristen kritisch?)
Einsparpotenzial: Verringerung von \item Beeinträchtigung der Nutzererfahrung (Reaktivität?)
\end{itemize*}
\end{itemize*}
Verlustleistung: $P_{leak}$
\begin{itemize*}
\item Energiebedarf baulich bedingter Leckströme
\item Hardware-Miniaturisierung $\rightarrow$ zunehmender Anteil $P_{leak}$ an P
\item[$\Rightarrow$] Leckströme kritisch für energiesparenden Hardwareentwurf
\end{itemize*}
Regelspielraum: Nutzererfahrung
\begin{itemize*}
\item Nutzererwartung: wichtigstes Kriterium zur Bewertung von auf einem Rechner aktiven Anwendungen durch Nutzer $\rightarrow$ Nutzererwartung bestimmt Nutzererfahrung
\item Typ einer Anwendung entscheidet über jeweilige Nutzererwartung
\begin{enumerate*} \begin{enumerate*}
\item Hintergrund (z.B. Compiler): Gesamt-Bearbeitungsdauer, Durchsatz
\item Versorgungsspannung (quadratische Abhängigkeit!) \item Echtzeit (z.B. Video-Player): ,,flüssiges'' Abspielen von Video oder Musik
\item Taktfrequenz \item Interaktiv (z.B. Webbrowser): Reaktivität, d.h. keine (wahrnehmbare) Verzögerung zwischen Nutzer-Aktion und Rechner-Reaktion
\end{enumerate*} \end{enumerate*}
\item \item Insbesondere kritisch: Echtzeit-/interaktive Anwendungen
Folgen: \item Reaktivität: Reaktion von Anwendungen; abhängig z.B. von
\begin{enumerate*} \begin{enumerate*}
\item \textbf{Hardware} an sich
\item längere Schaltvorgänge \item \textbf{Energieversorgung} der Hardware (z.B. Spannungspegel)
\item größere Latenzzwischen Schaltvorgängen \item \textbf{Software-Gegebenheiten} (z.B. Scheduling, Management)
\end{enumerate*} \end{enumerate*}
\item \item Zwischenfazit: Nutzererfahrung
Konsequenz: Energieeinsparung nur mit Qualitätseinbußen(direkt o.
indirekt) möglich
\begin{itemize*} \begin{itemize*}
\item Anpassung des Lastprofils ( Zeit-Last-Kurve? Fristen kritisch? ) \item bietet Regelspielraum für Hardwareparameter
\item Beeinträchtigung der Nutzererfahrung( Reaktivität kritisch? Nutzungsprofil? ) \item Betriebssystemmechanismen zum energieeffizienten Prozessormanagement müssen mit Nutzererfahrung(jeweils erforderlicher Reaktivität)
ausbalanciert werden
\end{itemize*} \end{itemize*}
\end{itemize*} \end{itemize*}
Verlustleistung: $P_{leakage}$ \subsubsection{Energieeffizientes Scheduling}
\begin{itemize*} \begin{itemize*}
\item \item Scheduling-Probleme beim Energiesparen: Fairness \& Prioritätsumkehr
Energiebedarf baulich bedingter Leckströme \item Beispiel: Round Robin (RR) mit Prioritäten
\item
Fortschreitende Hardware-Miniaturisierung
$\rightarrow$ zunehmender Anteil von
$P_{leakage}$ an P
\item
Beispielhafte Größenordnungen zum Einsparpotenzial: \textbar{}
Schaltkreismaße \textbar{} Versorgungsspannung \textbar{}
$P_{leakage}/P$ \textbar{} \textbar{}
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- \textbar{}
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- \textbar{}
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- \textbar{} \textbar{} 180
nm \textbar{} 2,5 V \textbar{} 0, \textbar{} \textbar{} 70 nm
\textbar{} 0,7 V \textbar{} 0, \textbar{} \textbar{} 22 nm \textbar{}
0,4 V \textbar{} \textgreater{} 0,5 \textbar{}
\item
Konsequenz: Leckströme kritisch für energiesparenden Hardwareentwurf
\end{itemize*}
\paragraph{Regelspielraum:
Nutzererfahrung}
\begin{itemize*}
\item
Nutzererwartung: wichtigstes Kriterium zur (subjektiven) Bewertung von
auf einem Rechner aktiven Anwendungen durch Nutzer
$\rightarrow$ Nutzerwartung bestimmt Nutzererfahrung
\item
Typ einer Anwendung
\begin{itemize*}
\item entscheidet über jeweilige Nutzererwartung \begin{enumerate*} \item Hintergrundanwendung (z.B. Compiler); von Interesse: Gesamt-Bearbeitungsdauer, Durchsatz \item Echtzeitanwendung(z.B. Video-Player, MP3-Player); von Interesse: ,,flüssiges'' Abspielen von Video oder Musik \item Interaktive Anwendung (z.B. Webbrowser); von Interesse: Reaktivität, d.h. keine (wahrnehmbare) Verzögerung zwischen Nutzer-Aktion und Rechner-Reaktion \end{enumerate*}
\item Insbesondere kritisch: Echtzeitanwendungen, interaktive Anwendungen
\end{itemize*}
\end{itemize*}
Reaktivität
\begin{itemize*}
\item
Reaktion von Anwendungen
\begin{itemize*}
\item abhängig von sog. Reaktivität des Rechnersystems $\approx$ durchschnittliche Zeitdauer, mit der Reaktion eines Rechners auf eine (Benutzerinter-) Aktion erfolgt
\end{itemize*}
\item
Reaktivität: von Reihe von Faktoren abhängig, z.B.:
\begin{enumerate*}
\item von \textbf{Hardware} an sich
\item von \textbf{Energieversorgung} der Hardware (wichtig z.B. Spannungspegel an verschiedenen Stellen)
\item von \textbf{Software-Gegebenheiten} (z.B. Prozess-Scheduling, Speichermanagement, Magnetplatten-E/A-Scheduling, Vorgänge im Fenstersystem, Arten des Ressourcen-Sharing usw.)
\end{enumerate*}
\end{itemize*}
Zwischenfazit: Nutzererfahrung
\begin{itemize*}
\item
bietet Regelspielraum für Hardwareparameter (
$\rightarrow$ Schaltleistung)
$\rightarrow$ Versorgungsspannung, Taktfrequenz
\item
Betriebssystemmechanismen zum energieeffizienten Prozessormanagement
müssen mit Nutzererfahrung(jeweils erforderlicher Reaktivität)
ausbalanciert werden (wie solche Mechanismen wirken: 2.2.3)
\item
Schnittstelle zu anderen NFE:
\begin{itemize*}
\item Echtzeitfähigkeit
\item Performanz
\item Usability
\item ...
\end{itemize*}
\end{itemize*}
\paragraph{Energieeffizientes Scheduling}
\begin{itemize*}
\item so weit besprochen: Beschränkung des durchschnittlichen Energieverbrauchs eines Prozessors
\item offene Frage zum Ressourcenmultiplexing: Energieverbrauch eines Threads/Prozesses?
\item Scheduling-Probleme beim Energiesparen:
\begin{enumerate*}
\item Fairness (der Energieverteilung)?
\item Prioritätsumkehr?
\end{enumerate*}
\item Beispiel: Round Robin (RR) mit Prioritäten (Hoch, Mittel, Niedrig)
\item Problem 1: Unfaire Energieverteilung
\begin{itemize*}
\item Beschränkung des Energieverbrauchs (durch Qualitätseinbußen, schlimmstenfalls Ausfall)ab einem oberen Schwellwert $E_{max}$
\item Problem: energieintensive Threads behindern alle nachfolgenden Threads trotz gleicher Priorität $\rightarrow$ Fairnessmaß von RR (gleiche Zeitscheibenlänge T ) untergraben
%\begin{itemize*}
%\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-round-robin-unfair.png} \end{itemize*}
%\end{itemize*}
\item Problem 2: energieintensive Threads niedrigerer Priorität behindern
später ankommende Threads höherer Priorität
%\begin{itemize*}
%\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-prioritätsumkehr.png}
%\end{itemize*}
\end{itemize*}
\end{itemize*}
Energiebewusstes RR: Fairness
\begin{itemize*}
\item
Begriffe:
\begin{itemize*} \begin{itemize*}
\item $E_i^{budget}$ ... Energiebudget von $t_i$ \item $E_i^{budget}$ ... Energiebudget von $t_i$
\item $E_i^{limit}$ ... Energielimit von $t_i$ \item $E_i^{limit}$ ... Energielimit von $t_i$
\item $P_{limit}$ ... Leistungslimit: maximale Leistungsaufnahme [Energie/Zeit] \item $P_{limit}$ ... maximale Leistungsaufnahme [Energie/Zeit]
\item $T$ ... resultierende Zeitscheibenlänge \item $T$ ... resultierende Zeitscheibenlänge
\end{itemize*} \end{itemize*}
\item \item Problem 1: Unfaire Energieverteilung
Strategie 1: faire Energieverteilung (einheitliche Energielimits) %\item Beschränkung des Energieverbrauchs (durch Qualitätseinbußen, schlimmstenfalls Ausfall) ab einem oberen Schwellwert $E_{max}$
\item Problem 2: energieintensive Threads behindern nachfolgende Threads gleicher Priorität
%\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-round-robin-unfair.png} \end{itemize*}
\item Problem 3: energieintensive Threads niedrigerer Priorität behindern spätere Threads höherer Priorität
%\begin{itemize*}
%\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-prioritätsumkehr.png}
%\end{itemize*}
\item RR Strategie 1: faire Energieverteilung (einheitliche Energielimits)
\begin{itemize*} \begin{itemize*}
%\item %\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-energiebewusstes-rr.png}
% %\includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-energiebewusstes-rr.png}
\item $1\leq i\leq 4: E_i^{limit} = P_{limit}* T$ \item $1\leq i\leq 4: E_i^{limit} = P_{limit}* T$
\item (Abweichungen = Wichtung der Prozesse $\rightarrow$ bedingte Fairness) %\item (Abweichungen = Wichtung der Prozesse $\rightarrow$ bedingte Fairness)
\end{itemize*} \end{itemize*}
\end{itemize*} \item faire bzw. gewichtete Aufteilung begrenzter Energie optimiert Energieeffizienz
\item Problem: lange, wenig energieintensive Threads verzögern Antwort-und Wartezeiten kurzer, energieintensiver Threads
Energiebewusstes RR: Reaktivität
\begin{itemize*}
\item
faire bzw. gewichtete Aufteilung begrenzter Energie optimiert
Energieeffizienz
\item
Problem: lange, wenig energieintensive Threads verzögern Antwort-und
Wartezeiten kurzer, energieintensiver Threads
\begin{itemize*} \begin{itemize*}
\item Lösung im Einzelfall: Wichtung per $E_i^{limit}$ \item Lösung im Einzelfall: Wichtung per $E_i^{limit}$
\item globale Reaktivität ( $\rightarrow$ Nutzererfahrung bei interaktiven Systemen) ...? \item globale Reaktivität $\rightarrow$ Nutzererfahrung?
\end{itemize*} \end{itemize*}
\item \item RR Strategie 2: maximale Reaktivität ( $\rightarrow$ klassisches RR)
Strategie 2: maximale Reaktivität ( $\rightarrow$
klassisches RR)
%\begin{itemize*} %\begin{itemize*}
%\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-energiebewusstes-rr-reaktivität.png} %\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-energiebewusstes-rr-reaktivität.png}
%\end{itemize*} %\end{itemize*}
\end{itemize*} \item Problem: sparsame Threads werden bestraft durch Verfallen des ungenutzten Energiebudgets
\item Idee: Ansparen von Energiebudgets $\rightarrow$ mehrfache Ausführung eines Threads innerhalb einer Scheduling-Periode
Energiebewusstes RR: Reaktivität und Fairness \item RR Strategie 3: Reaktivität, dann faire Energieverteilung
\begin{itemize*}
\item
Problem: sparsame Threads werden bestraft durch Verfallen des
ungenutzten Energiebudgets
\item
Idee: Ansparen von Energiebudgets $\rightarrow$
mehrfache Ausführung eines Threads innerhalb einer Scheduling-Periode
\item
Strategie 3: Reaktivität, dann faire Energieverteilung
%\begin{itemize*} %\begin{itemize*}
%\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-energiebewisstes-rr-2.png} %\item \includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-energiebewisstes-rr-2.png}
%\end{itemize*} %\end{itemize*}
\end{itemize*} \end{itemize*}
Implementierungsfragen
\subparagraph{Implementierungsfragen}
\begin{itemize*} \begin{itemize*}
\item \item Kosten ggü. klassischem RR? (durch Prioritäten...?)
Scheduling-Zeitpunkte? \item Scheduling-Zeitpunkte?
\begin{itemize*} \begin{itemize*}
\item welche Accounting-Operationen (Buchführung über Budget)? \item welche Accounting-Operationen (Buchführung)?
\item wann Accounting-Operationen? \item wann Accounting-Operationen?
\item wann Verdrängung? \item wann Verdrängung?
\end{itemize*} \end{itemize*}
\item \item Datenstrukturen?
Datenstrukturen?
\begin{itemize*} \begin{itemize*}
\item ... im Scheduler $\rightarrow$ Warteschlange(n)? \item ... im Scheduler $\rightarrow$ Warteschlange(n)?
\item ... im Prozessdeskriptor? \item ... im Prozessdeskriptor?
\end{itemize*} \end{itemize*}
\item \item Pro
Kosten ggü. klassischem RR? (durch Prioritäten...?)
\item
Pro:
\begin{itemize*} \begin{itemize*}
\item Optimierung der Energieverteilung nach anwendungsspezifischen Schedulingzielen( $\rightarrow$ Strategien) \item Optimierung der Energieverteilung nach Schedulingzielen
\item Berücksichtigung von prozessspezifischen Energieverbrauchsmustern möglich:fördert Skalierbarkeit i.S.v. Lastadaptivität, indirekt auch Usability ( $\rightarrow$ Nutzererfahrung) \item Berücksichtigung prozessspezifischer Verbrauchsmuster
\end{itemize*} \end{itemize*}
\item \item Kontra
Kontra:
\begin{itemize*} \begin{itemize*}
\item zusätzliche sekundäre Kosten: Energiebedarf des Schedulers, Energiebedarf zusätzlicher Kontextwechsel, Implementierungskosten (Rechenzeit, Speicher) \item sekundäre Kosten: Energiebedarf des Schedulers, Kontextwechsel, Implementierungskosten
\item Voraussetzung hardwareseitig: Monitoring des Energieverbrauchs (erforderliche/realisierbare Granularität...? sonst: Extrapolation?) \item Voraussetzung: Monitoring des Energieverbrauchs
\end{itemize*}
\item
\textbf{generelle Alternative:} energieintensive Prozesse verlangsamen
$\rightarrow$ Regelung der CPU-Leistungsparameter
(Versorgungsspannung) (auch komplementär zum Schedulingals Maßnahme
nach Energielimit-Überschreitung)
\item
Beispiel: Synergie nichtfunktionaler Eigenschaften
\begin{itemize*}
\item Performanz nur möglich durch Parallelität $\rightarrow$ Multicore-Hardware
\item Multicore-Hardware nur möglich mit Lastausgleich und Lastverteilungauf mehrere CPUs
\item dies erfordert ebenfalls Verteilungsstrategien: ,,Energy-aware Scheduling'' (Linux-Strategie zur Prozessorallokation -nicht zeitlichem Multiplexing!)
\end{itemize*} \end{itemize*}
\item \textbf{Alternative:} energieintensive Prozesse verlangsamen $\rightarrow$ Regelung der CPU-Leistungsparameter
\end{itemize*} \end{itemize*}
\subsubsection{Systemglobale Energieeinsparungsmaßnahmen}
\subsubsection{Systemglobale
Energieeinsparungsmaßnahmen}
\begin{itemize*} \begin{itemize*}
\item \item Traditionelle: zu jedem Zeitpunkt Spitzen-Performanz angestrebt
Traditionelle Betriebssysteme: Entwurf so, dass zu jedem Zeitpunkt
Spitzen-Performanzangestrebt
\item
Beobachtungen:
\begin{itemize*} \begin{itemize*}
\item viele Anwendungen benötigen keine Spitzen-Performanz \item viele Anwendungen benötigen keine Spitzen-Performanz
\item viele Hardware-Komponenten verbringen Zeit in Leerlaufsituationen bzw. in Situationen, wo keine Spitzen-Performanz erforderlich \item viel Hardware-Zeit in Leerlaufsituationen bzw. keine Spitzen-Performanz erforderlich
\end{itemize*} \end{itemize*}
\item \item Konsequenz (besonders für mobile Systeme)
Konsequenz (besonders für mobile Systeme) :
\begin{itemize*} \begin{itemize*}
\item Hardware mit Niedrigenergiezuständen(Prozessoren und Magnetplattenlaufwerke, aber auch DRAM, Netzwerkschnittstellen, Displays, ...) \item Hardware mit Niedrigenergiezuständen
\item somit kann Betriebssystem \textbf{Energie-Management} realisieren \item Betriebssystem kann \textbf{Energie-Management} realisieren
\end{itemize*} \end{itemize*}
\end{itemize*} \end{itemize*}
\subsubsection{Hardwaretechnologien}
\paragraph{Hardwaretechnologien}
\begin{itemize*}
\item
DPM: Dynamic Power Management DPM: Dynamic Power Management
\begin{itemize*} \begin{itemize*}
\item versetzt leerlaufende/unbenutzte Hardware-Komponenten selektiv in Zustände mit niedrigem Energieverbrauch \item versetzt leerlaufende Hardware selektiv in Zustände mit niedrigem Energieverbrauch
\item Zustandsübergänge durch Power-Manager (in Hardware) gesteuert, dem bestimmte \emph{DPM-} Strategie (Firmware) zugrunde liegt, um gutes Verhältnis zwischen Performanz/Reaktivität und Energieeinsparung zu erzielen \item Zustandsübergänge durch Power-Manager gesteuert, bestimmte \emph{DPM-}Strategie (Firmware) zugrunde, um gutes Verhältnis zwischen Performanz/Reaktivität und Energieeinsparung zu erzielen
\item bestimmt, wann und wie lange eine Hardware in Energiesparmodus
\end{itemize*} \end{itemize*}
\item \begin{description*}
\item[Greedy] Hardware-Komponente sofort nach Erreichen des Leerlaufs in Energiesparmodus, ,,Aufwecken'' durch neue Anforderung
\item[Time-out] Energiesparmodus erst nachdem ein definiertes Intervall im Leerlauf, ,,Aufwecken'' wie bei Greedy-Strategien
\item[Vorhersage] Energiesparmodus sofort nach Erreichen des Leerlaufs, wenn Heuristik vorhersagt,dass Kosten gerechtfertigt
\item[Stochastisch] Energiesparmodus auf Grundlage stochastischen Modells
\end{description*}
DVS: Dynamic Voltage Scaling DVS: Dynamic Voltage Scaling
\begin{itemize*} \begin{itemize*}
\item effizientes Verfahren zur dynamischen Regulierungvon Taktfrequenz gemeinsammit Versorgungsspannung \item effizientes Verfahren zur dynamischen Regulierung von Taktfrequenz gemeinsam mit Versorgungsspannung
\item Nutzung quadratischer Abhängigkeitder dynamischen Leistung von Versorgungsspannung \item Nutzung quadratischer Abhängigkeit der dynamischen Leistung von Versorgungsspannung
\item Steuerung/Strategien: Softwareunterstützungnotwendig! \item Steuerung/Strategien: Softwareunterstützung notwendig
\end{itemize*} \item Ziel: Unterstützung von DPM-Strategien durch Maßnahmen auf Ebene von Compiler, Betriebssystem und Applikationen
\end{itemize*} \item \textbf{Betriebssystem} (prädiktives Energiemanagement)
Dynamisches Energiemanagement (DPM)- Strategien (Klassen) bestimmt, wann
und wie lange eine Hardware-Komponente sich in Energiesparmodusbefinden
sollte
\begin{itemize*} \begin{itemize*}
\item \item kann Benutzung verschiedener Ressourcen beobachten
Greedy: Hardware-Komponente sofort nach Erreichen des Leerlaufs in
Energiesparmodus, ,,Aufwecken'' durch neue Anforderung
\item
Time-out: Energiesparmodus erst nachdem ein definiertes Intervall im
Leerlauf, ,,Aufwecken'' wie bei Greedy-Strategien
\item
Vorhersage: Energiesparmodus sofort nach Erreichen des Leerlaufs, wenn
Heuristik vorhersagt,dass Kosten gerechtfertigt
\item
Stochastisch: Energiesparmodus auf Grundlage eines stochastischen
Modells
\end{itemize*}
Spannungsskalierung (DVS)
\begin{itemize*}
\item
Ziel: Unterstützung von DPM-Strategien durch Maßnahmen auf Ebene von
Compiler, Betriebssystem und Applikationen:
\begin{itemize*}
\item \textbf{Compiler} \begin{itemize*} \item kann Informationen zur Betriebssystem-Unterstützung bezüglich Spannungs-Einstellung in Anwendungs-Code einstreuen, \item damit zur Laufzeit Informationen über jeweilige Arbeitslast verfügbar \end{itemize*}
\end{itemize*}
\item
\textbf{Betriebssystem (prädiktives Energiemanagement)}
\begin{itemize*}
\item kann Benutzung verschiedener Ressourcen (Prozessor usw.) beobachten
\item kann darüber Vorhersagen tätigen \item kann darüber Vorhersagen tätigen
\item kann notwendigen Performanzbereich bestimmen \item kann notwendigen Performanzbereich bestimmen
\end{itemize*} \end{itemize*}
\item \item \textbf{Anwendungen} können Informationen über jeweils für sie notwendige Performanz liefern
\textbf{Anwendungen} \item $\rightarrow$ Kombination mit energieefizientem Scheduling
\begin{itemize*}
\item können Informationen über jeweils für sie notwendige Performanz liefern
\end{itemize*} \end{itemize*}
\item
$\rightarrow$ Kombination mit
energieefizientemScheduling!
\end{itemize*}
\subsection{Speichereffizienz} \subsection{Speichereffizienz}
\begin{itemize*} \begin{itemize*}
\item \item
... heißt: Auslastung des verfügbaren Speichers ... heißt: Auslastung des verfügbaren Speichers
@ -1387,12 +1210,12 @@
\item \item
Schichtendifferenzierung ( layered operating system ) Schichtendifferenzierung ( layered operating system )
\item \item
Modularisierung (Bsp.: Linux-Kernel) \textbar{} Kernelcode \textbar{} Modularisierung (Bsp.: Linux-Kernel) | Kernelcode |
\textbar{} |
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- -------------------------
\textbar{} \textbar{} VFS \textbar{} \textbar{} IPC, Dateisystem | | VFS | | IPC, Dateisystem
\textbar{} \textbar{} Scheduler, VMM \textbar{} \textbar{} Dispatcher, | | Scheduler, VMM | | Dispatcher,
Gerätetreiber \textbar{} Gerätetreiber |
\item \item
Modularer Makrokernel: Modularer Makrokernel:
\item \item
@ -2257,19 +2080,19 @@
\item MTTF: Mean Time to Failure ... Erwartungswert für TTF \item MTTF: Mean Time to Failure ... Erwartungswert für TTF
\end{itemize*} \end{itemize*}
\item \item
einige Verfügbarkeitsklassen: \textbar{} Verfügbarkeit \textbar{} einige Verfügbarkeitsklassen: | Verfügbarkeit |
Ausfallzeit pro Jahr \textbar{} Ausfallzeit pro Woche \textbar{} Ausfallzeit pro Jahr | Ausfallzeit pro Woche |
\textbar{} -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- \textbar{} | ------------- |
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- \textbar{} -------------------- |
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- ---------------------
\textbar{} \textbar{} 90\% \textbar{} \textgreater{} 1 Monat | | 90\% | \textgreater{} 1 Monat
\textbar{} ca. 17 Stunden \textbar{} \textbar{} 99\% \textbar{} ca. 4 | ca. 17 Stunden | | 99\% | ca. 4
Tage \textbar{} ca. 2 Stunden \textbar{} \textbar{} 99,9\% \textbar{} Tage | ca. 2 Stunden | | 99,9\% |
ca. 9 Stunden \textbar{} ca. 10 Minuten \textbar{} \textbar{} 99,99\% ca. 9 Stunden | ca. 10 Minuten | | 99,99\%
\textbar{} ca. 1 Stunde \textbar{} ca. 1 Minute \textbar{} \textbar{} | ca. 1 Stunde | ca. 1 Minute | |
99,999\% \textbar{} ca. 5 Minuten \textbar{} ca. 6 Sekunden \textbar{} 99,999\% | ca. 5 Minuten | ca. 6 Sekunden |
\textbar{} 99,9999\% \textbar{} ca. 2 Sekunden \textbar{} | 99,9999\% | ca. 2 Sekunden |
\textless\textless{} 1 Sekunde \textbar{} \textless\textless{} 1 Sekunde |
\item \item
Hochverfügbarkeitsbereich (gefeierte ,,five nines'' availability) Hochverfügbarkeitsbereich (gefeierte ,,five nines'' availability)
\item \item
@ -2639,18 +2462,18 @@
Vorgehensweise: Security Engineering Vorgehensweise: Security Engineering
\end{itemize*} \end{itemize*}
\textbar{} \textbar{} \textbar{} | | |
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- ----------------------
\textbar{} |
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- -----------------------------------------------------------------------------------------
\textbar{} \textbar{} Sicherheitsziele \textbar{} Welche | | Sicherheitsziele | Welche
Sicherheitsanforderungen muss das Betriebssystem erfüllen? \textbar{} Sicherheitsanforderungen muss das Betriebssystem erfüllen? |
\textbar{} Sicherheitspolitik \textbar{} Durch welche Strategien soll es | Sicherheitspolitik | Durch welche Strategien soll es
diese erfüllen? ( $\rightarrow$ Regelwerk) \textbar{} diese erfüllen? ( $\rightarrow$ Regelwerk) |
\textbar{} Sicherheitsmechanismen \textbar{} Wie implementiert das | Sicherheitsmechanismen | Wie implementiert das
Betriebssystem seine Sicherheitspolitik? \textbar{} \textbar{} Betriebssystem seine Sicherheitspolitik? | |
Sicherheitsarchitektur \textbar{} Wo implementiert das Betriebssystem Sicherheitsarchitektur | Wo implementiert das Betriebssystem
seine Sicherheitsmechanismen (und deren Interaktion)? \textbar{} seine Sicherheitsmechanismen (und deren Interaktion)? |
\subparagraph{Sicherheitspolitiken und \subparagraph{Sicherheitspolitiken und
@ -2987,15 +2810,15 @@
\paragraph{ACLs: \paragraph{ACLs:
Linux-Implementierung} Linux-Implementierung}
Modell einer Unix acm ... \textbar{} \textbar{} lesen \textbar{} Modell einer Unix acm ... | | lesen |
schreiben \textbar{} ausführen \textbar{} \textbar{} schreiben | ausführen | |
-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/- \textbar{} --------------------- |
-\/-\/-\/-\/- \textbar{} -\/-\/-\/-\/-\/-\/-\/-\/- \textbar{} ----- | --------- |
-\/-\/-\/-\/-\/-\/-\/-\/- \textbar{} \textbar{} Eigentümer (,,u'') --------- | | Eigentümer (,,u'')
\textbar{} ja \textbar{} ja \textbar{} ja \textbar{} \textbar{} Rest der | ja | ja | ja | | Rest der
Welt (,,o'') \textbar{} ja \textbar{} nein \textbar{} ja \textbar{} Welt (,,o'') | ja | nein | ja |
\textbar{} Gruppe (,,g'') \textbar{} ja \textbar{} nein \textbar{} ja | Gruppe (,,g'') | ja | nein | ja
\textbar{} |
\begin{itemize*} \begin{itemize*}
\item \item
@ -3135,7 +2958,7 @@
dazu muss dazu muss
\begin{itemize*} \begin{itemize*}
\item \emph{root} bzw. zweckgebundener Nutzer Eigentümer des Druckers sein \item \emph{root} bzw. zweckgebundener Nutzer Eigentümer des Druckers sein
\item ACL als \texttt{rw-\ -\/-\/-\ -\/-\/-} gesetzt sein \item ACL als \texttt{rw-\ ---\ ---} gesetzt sein
\end{itemize*} \end{itemize*}
\end{itemize*} \end{itemize*}
@ -3610,7 +3433,7 @@
Objekte (verschiedene Systemressourcen, genutzt für Speicherung, Objekte (verschiedene Systemressourcen, genutzt für Speicherung,
Kommunikation: Dateien, Directories, Sockets, SharedMemory usw.) Kommunikation: Dateien, Directories, Sockets, SharedMemory usw.)
\begin{itemize*} \begin{itemize*}
\item haben ACLs (,,rwxrw-\/-\/-\/-'') \item haben ACLs (,,rwxrw----'')
\end{itemize*} \end{itemize*}
\item \item
Regeln der Sicherheitspolitik, die durch den Referenzmonitor (hier Regeln der Sicherheitspolitik, die durch den Referenzmonitor (hier
@ -4894,7 +4717,7 @@
\begin{itemize*} \begin{itemize*}
\item Anforderungsreihenfolge $t_1 = 98, 37, 124, 65$ \item Anforderungsreihenfolge $t_1 = 98, 37, 124, 65$
\item Anforderungsreihenfolge $t_2 = 183, 122, 14, 67$ \item Anforderungsreihenfolge $t_2 = 183, 122, 14, 67$
\item Zuletzt gelesener Block: 53 \textbar{} \textbar{} $a_i$ \textbar{} $d_i$ \textbar{} \textbar{} -\/-\/-\/-\/- \textbar{} -\/-\/-\/-\/- \textbar{} -\/-\/-\/-\/- \textbar{} \textbar{} $t_1$ \textbar{} 0 \textbar{} 3 \textbar{} \textbar{} $t_2$ \textbar{} 0 \textbar{} 9 \textbar{} \item Zuletzt gelesener Block: 53 | | $a_i$ | $d_i$ | | ----- | ----- | ----- | | $t_1$ | 0 | 3 | | $t_2$ | 0 | 9 |
%\item %\item
% %\includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-sekundärspeicherverwaltung-edf.png} % %\includegraphics[width=\linewidth]{Assets/AdvancedOperatingSystems-sekundärspeicherverwaltung-edf.png}
\end{itemize*} \end{itemize*}