%*
%* Copyright (c) 2006 by Lukas Ruf (lukas.ruf@lpr.ch),
%* Computer Engineering and Networks Laboratory (TIK),
%* Swiss Federal Institute of Technology (ETH) Zurich
%*
%* Create: long-time ago
%* Modify: 2007-03-20:2342
%* Commit: $Id: aufgabenstellung.tex 118 2007-03-20 22:45:13Z ruf $
%*
\documentclass[D,TIKETH,10pt]{TIKdasa}

\RequirePackage{times}
\usepackage[dvips]{graphicx}
\usepackage{epsfig}
%-LR \usepackage{pifont}
\usepackage{url}
\usepackage{paralist}
\usepackage[german]{babel}

\usepackage[first,bottomafter,light,dvips]{draftcopy}
\draftcopyName{Draft v0.2}{120}
% \include{version}

\renewcommand{\ttdefault}{cmtt}
\renewcommand{\rmdefault}{phv}  % Helvetica for roman type as well as sf
\renewcommand{\ttdefault}{pcr}  % use Courier for fixed pitch, if needed

\setlength{\parindent}{0in}

%!PN, old LaTeX209 font commands, replaced by the new ones
% keeping just this one
%% \def\tenrm{\fontsize{10}{12}\normalfont\rmfamily\selectfont}
%% \def\BibTeX{{\rmfamily B\kern-.05em{\scshape i\kern-.025em b}\kern-.08em \TeX}}

\tikmember{ruf}
\newcommand\titlecontent{\TITEL}
\input{student}

\begin{document}
\frenchspacing
\sloppy

\title{\titlecontent}

\date{19.03.2007}
\maketitle

%-----------------------------------------------------------------------------
\section{Einf\"uhrung}

Chip-Multicore Prozessoren kommen heutzutage bereits in
handels\"ublichen Arbeitsplatzrechner zum Einsatz.  Beispiele
sind der Dual-Core Intel Xeon oder der Quad-Core AMD Opteron
Prozessor.

Topsy v3~\cite{topsy:v3} -- a Teachable Operating
System~\cite{Topsy:1997} -- wurde an der ETH
Z\"urich entwickelt und wird an verschiedenen Universit\"aten und
Fachhochschulen im Unterricht eingesetzt.  Topsy v3 folgt einer
Schichtenarchitektur und verfolgt ein sehr ausgepr\"agtes
Mikrokernel-Konzept, das sog. Protection Domains in den beiden
Dimensionen \emph{Privilegien} und \emph{Ausf\"uhrungspriorit\"at}
priorisieren kann.

W\"ahrend Topsy v3 bereits schon f\"ur verschiedene
Prozessorplattformen verf\"ugbar ist (u.a. f\"ur die Prozessoren
Intel XScale und MIPS R3000), existiert f\"ur ia32-kompatible
Prozessoren mit Topsy386\cite{Topsy386:1998} nur eine Topsy
v1-Architektur-kompatible Portierung.

%-LR \begin{compactenum} \item \end{compactenum}
%-LR \begin{inparaenum} \item \end{inparaenum}
%-LR \begin{description} \item[Blalba] \end{description}


%-----------------------------------------------------------------------------
\section{Aufgaben: \titlecontent}

In dieser Semesterarbeit von \studentstring soll Topsy v3 auf eine
moderne ia32-kompatible Chip-Multicore Prozessorplattform portiert
werden.  Diese Portierung umfasst die Anpassungen des Hardware
Abstraktionsschicht (HAL, Hardware Abstraction Layer) und, wo
ben\"otigt, die Implementierung und Anpassung geeigneter
Mechanismen in der portablen Kernelschicht von Topsy v3.

%-----------------------------------------------------------------------------
\newpage
\section{Vorgehen}

Die Portierung von Topsy v3 erfolgt in drei Phasen.  In der ersten
Phase wird der HAL Topsy386 auf einen bin\"ar kompatiblen
ia32-Prozessor-Simulator und daran anschliessend auf die Ziel
Hardware portiert.  Diese Portierung gestattet das Anpassen der
Basisfunktionalit\"at, die f\"ur Topsy v3 ebenfalls ben\"otigt
wird, und erlaubt eine Einarbeitung in den Source Code und die
Prozessorarchitektur.

In der zweiten Phase werden die Modifikationen f\"ur Topsy v3 am
HAL und am Kernel in den dann existierenden Code
eingearbeitet, so dass Topsy v3 f\"ur ia32-kompatible Plattformen
zur Verf\"ugung steht.

Die dritte Phase beinhaltet die Umsetzung der ben\"otigten
Anpassungen, um Chip-Multicore-Eigenschaften soweit als m\"oglich
auszunutzen.

Zur Erreichung dieser Ziele wird die Arbeit nach folgendem
Vorgehen durchgef\"uhrt:

\begin{itemize}
\setlength{\parsep}{0.5ex plus0.2ex minus0.1ex}
\setlength{\itemsep}{0ex plus0.2ex}
\item Richten Sie sich eine Entwicklungsumgebung
      (GNU Tools) unter Linux ein.
\item Machen Sie sich vertraut mit den Unterlagen
      (Dokumentation und Source Code) zum bestehenden Topsy386 und
      Topsy v3, gleich wie zur ia32-Prozessorplattform.
\item Erstellen Sie einen Zeitplan, in welchem Sie die von
      Ihnen zu erreichenden Meilensteine Ihrer Arbeit
      identifizieren.
\item Analysieren Sie verschiedene Komponenten von Topsy386,
      um diejenigen zu identifizieren, die f\"ur eine
      moderne ia32-Prozessorplattform angepasst werden m\"ussen.
\item Identifizieren Sie die anzupassenden Funktionen und
      Parameter in Topsy v3, die f\"ur die Portierung angepasst
      werden m\"ussen.
\item Implementieren Sie diese f\"ur eine moderne
      ia32-kompatible Chip-Multicore Plattform.
\item Beachten Sie insbesondere die Problematik des Startvorgangs
      und der Initialisierung der ia32-kompatiblen Prozessoren.
\item[optional] Entwickeln Sie Mechanismen, um
      spezifische Eigenschaften einer Chip-Multicore Architektur
      unter Topsy v3 zu kontrollieren und auszunutzen.
\item Zeigen Sie die erfolgreiche Implementierung auf einem
      Chip-Multicore Prozessor
      durch eine Ausf\"uhrung der Demo-Applikationen unter Topsy
      v3.
\item Evaluieren Sie das Erreichte.
\item Dokumentieren Sie das Erreichte.
\end{itemize}

Auf eine klare und ausf\"uhrliche Dokumentation
wird besonders Wert gelegt. Es wird empfohlen, diese
laufend nachzuf\"uhren und insbesondere die entwickelten
Konzepte und untersuchten Varianten vor dem definitiven
Variantenentscheid ausf\"uhrlich schriftlich festzuhalten.


%-----------------------------------------------------------------------------
\section{Organisatorische Hinweise}

\begin{itemize}
\setlength{\parsep}{0.5ex plus0.2ex minus0.1ex}
\setlength{\itemsep}{0ex plus0.2ex}
%
\item Am Ende der zweiten Woche ist ein Zeitplan f\"ur den
  Ablauf der Arbeit vorzulegen und mit dem Betreuer
  abzustimmen.
%
\item Mit dem Betreuer sind regelm\"assige, zumindest
  w\"ochentliche Sitzungen zu vereinbaren.  In diesen
  Sitzungen sollen die Studenten m\"undlich \"uber den
  Fortgang der Arbeit und die Einhaltung des Zeitplanes
  berichten und anstehende Probleme diskutieren.  Die Sitzungen
  k\"onnen mittels geeigneten Telekommunikationsmitteln abgehalten
  werden, falls m\"oglich.
%
\item Am Ende des ersten Monates muss eine Vorabversion
  des Inhaltsverzeichnis zur Dokumentation dem Betreuer
  abgegeben und mit diesem besprochen werden.
%
\item Nach der H\"alfte der Arbeitsdauer soll ein kurzer
  m\"undlicher Zwischenbericht abgegeben werden, der
  \"uber den Stand der Arbeit Auskunft gibt. Dieser
  Zwischenbericht besteht aus einer \textbf{viertelst\"undigen},
  m\"undlichen Darlegung der bisherigen Schritte und des
  weiteren Vorgehens gegen\"uber Professor Plattner.
%
\item Am Schluss der Arbeit muss eine Pr\"asentation von {\bf 20
  Minuten} im Fachgruppen- oder Institutsrahmen gegeben
  werden. Anschliessend an die Schlusspr\"asentation soll
  die Arbeit Interessierten praktisch vorgef\"uhrt werden.
%
\item Ein einheitlicher Coding Style muss eingehalten werden.
%
\item Bereits vorhandene Software kann \"ubernommen und
  gegebenenfalls angepasst werden; Quellen m\"ussen korrekt
  zitiert werden.
%
\item Die Dokumentation muss mit dem Satzsystem \LaTeX\,
  Graphiken m\"ussen mit Open Source Werkzeugen erstellt werden,
  w\"ahrend f\"ur
  die Pr\"asentation auch Staroffice
  oder Microsoft PowerPoint verwendet werden kann.
%
\item Quellcode der Arbeit muss regelm\"assig (mind. t\"aglich) auf dem
  Topsy subversion Server gesichert werden
  (\url{https://svn.topsy.net}).
%
\item Es ist ein mit Bindespiralen (am TIK vorhanden) gebundener
  Schlussbericht \"uber die geleisteten Arbeit abzuliefern (2
  Exemplare).  Dieser Bericht besteht aus einer Zusammenfassung,
  einer Einleitung, einer Analyse von verwandten und verwendeten
  Arbeiten, sowie einer vollst\"andigen Beschreibung der
  Konfiguration von den eingesetzten Programmen. Der Bericht ist in
  Deutsch oder Englisch zu halten.  Die Zusammenfassung muss in
  Deutsch und Englisch verfasst werden.
%
\item Die Arbeit muss auf CDROM archiviert abgegeben
  werden. Stellen Sie sicher, dass alle Programme sowie die
  Dokumentation und die Pr\"asentationen
  sowohl in der lauff\"ahigen, resp. druckbaren Version als auch
  im Quellformat vorhanden, lesbar und verwendbar sind.
  \\
  Mit Hilfe der abgegebenen Dokumentation muss der entwickelte
  Code zu einem ausf\"uhrbaren Programm erneut \"ubersetzt und
  eingesetzt werden k\"onnen.
%
\item Diese Arbeit steht unter der GNU General Public
  License~\cite{gnu:gpl} (GNU GPL) v2.
%
% \item F\"ur die Arbeit werden Informationen eingesetzt, welche nur durch das
%     Unterzeichnen eines NDA (Non-Disclosure Agreement) zwischen
%     Intel Corp. und der ETH Z\"urich erhalten werden konnten.
%     Alle Informationen, die unter das NDA fallen, d\"urfen nur an
%     Dritte weitergegeben werden, wenn eine schriftliche Einwilligung von
%     Intel Corp. vorliegt.
%
\item Diese Arbeit wird als Semesterarbeit an der ETH Z\"urich
      durchgef\"uhrt.  Es gelten die Bestimmungen hinsichtlich Kopier-
      und Verwertungsrechte der ETH Z\"urich.
\end{itemize}

%-----------------------------------------------------------------------------
% This is really bad practice, but how else can I redefine the
% \itemsep being used between \bibitems? (This assumes that \sloppy
% is being used in the definition of the ``thebibliography'' env.
\renewcommand{\sloppy}{\setlength{\itemsep}{-\parsep}}

\bibliographystyle{plain}
%% \bibliography{\liter TheBibliography \liter topsy \liter linux_rcf}
%% YOU MUST specify BIBUNITS as an environment variable to point to the
%% correct location of the *.bib files
\bibliography{abbreviations,bibliography,promethos,processors,general,rfc,topsy,processors}


\end{document}
