%*
%* Copyright (c) 2007 by Lukas Ruf (lukas.ruf@lpr.ch)
%*
%* Create: 2007-01-30:1644
%* Modify: 2007-03-06:2322
%* Commit: $Id: summary.tex 3053 2007-08-20 19:32:27Z sryffel $
%*


\chapter{Zusammenfassung und Fazit}
\label{summary}

% In this document, a potential structure of semster and
% master thesis reports is presented.  We tried to introduce the
% most important aspects of content expected in a report, and help
% beginners work with \LaTeX.

Die Einführung von virtuellen Adressräumen in Topsy v3 und die Vorbereitungen
für den Multicore Betrieb  zogen umfangreiche Änderungen nach sich.
Diese werden in diesem Kapitel zusammengefasst. Nachher ziehe ich das Fazit. 



\section{Zusammenfassung}
\label{summary:conclusions}

% This document is not meant to be the one-and-only approach to
% document the achievements of a semester or master thesis.
% However, it attempts to give students a basic guideline by
% intermixing recommendations on content-structure with
% \LaTeX-statements.  Please read also the source code -- it might
% bear interesting informaion.
% 
% At least, it is more than worth reading Tobias Oettiker's great
% ``the not so short introduction to \LaTeX''.


Für die Portierung von Topsy v3 auf die ia32-Prozessor Architektur musste nicht
nur der Hardware Abstraction Layer angepasst werden. Um die Bedingungen für
den späteren Multicore Betrieb zu schaffen, musste ich einige Architekturänderungen
und Anpassungen des architektur-unabhängigen Teils vornehmen. Nach der
Einarbeitung in die ia32-Architektur und die Topsy-Mechanismen war die
Implementation des Pagings dank der guten Dokumentation und des sorgfältigen
Designs des neuen Memory Managements problemlos. 

Eine grössere Herausforderung stellte das neue Thread Management dar. Aus
Sicherheitsüberlegungen und auch als eleganteste Lösung bot sich eine
Architektur mit User und Kernel Mode Stack an. Deshalb ist das Stackmanagement
neu architektur-abhängig und muss für andere Portierungen erst implementiert
werden. Von den
kürzeren Reaktionszeiten auf wichtige Interrupts profitieren alle Architekturen
auf Grund des neuen reentranten Interrupt Handlers. Damit wurde zugleich eine
Notwendigkeit für Multicore Systeme abgedeckt. Zwei weitere erfüllte Bedingungen
sind der Support für den lokalen APIC und den I/O-APIC.

Der reentrante Interrupt Handler und die Verwendung von Paging stellen auch neue
Anforderungen an die IPC. Zudem mussten zahlreiche `kleine' Änderungen in allen
Subsystemen vorgenommen und Bugs gepatcht werden. 




\section{Fazit}
\label{summary:fazit}


Topsy v3 läuft stabil auf einem PC mit einer Intel 
Pentium 4-CPU oder einer neueren. Es wurden die Bedingungen für Multicore
Unterstützung gemäss der MultiProcessor Spezifikation \cite{bib:mpspec} von
Intel geschaffen. Um die Vision zu verwirklichen, bleibt aber noch viel zu tun.
Sowohl an Topsy selber als auch an den verschiedenen Portierungen kann noch
Einiges ergänzt werden.

Mir persönlich hat die Arbeit Spass gemacht. Es war spannend, an diesem schön 
entworfenen Betriebssystem zu entwickeln. Ich habe viel über 
Betriebssystemkonzepte und -Architekturen gelernt und sehr von der Betreuung 
profitiert. Es war für mich eine wichtige Erfahrung und äusserst 
aufschlussreich, den Blick fürs ganze System zu gewinnen. Ein grosses 
Dankeschön richte ich an all die fleissigen Hacker, welche an Topsy arbeiteten, 
und wünsche dem Projekt weiterhin gutes Gedeihen.





% \section*{Final Remark}
% \label{final_remark}

% If you ever find improvements, please send me a patch/diff to this
% document.  I am happy to receive any comments at
% \email{lukas.ruf@lpr.ch} (note the \emph{L} -- it's not an I).
% Moreover, realize that there is an asterisk after the
% section-statement: \verb+\section*{Final Remark}+.  Check the
% table of contents.

% \vspace{2em}

% Please note, many environments introduced here work only with
% \begin{verbatim}
% 
%   latex main
%   latex main
% 
%   dvips main
% 
%   ps2pdf main
% 
% \end{verbatim}

