An dieser Stelle werden Themenvorschläge für studentische Vorträge in der EZAG gesammelt. Die EZAG dient auch als Plattform für das Hauptseminar, es gibt also insbesondere keine Sondertermine für Hauptseminarvorträge. Um als Student einen Vortrag im Rahmen des Hauptseminars zu halten sollte man sich entweder ein Thema aus der Liste auf dieser Seite aussuchen oder selbst ein Thema vorschlagen. Danach sollte man den Betreuer des gewählten Themas bzw. mich (bei einem eigenen Thema) kontaktieren um den weiteren Ablauf und einen Vortragstermin festzulegen. Ab sofort (08.07.2004) ist für Hauptseminarvorträge eine Ausarbeitung notwendig. Der genaue Inhalt ist mit dem Betreuer nach dem Vortrag abzusprechen. Die Ausarbeitung sollte 10 Seiten nicht überschreiten. Allgemeine Hinweise zum Aufbau von wissenschaftlichen Arbeiten findet sich hier, wobei die Grundstruktur wie folgt anzupassen ist: Einleitung, Problem, Related Work (1 Seite), Kernidee, Details eines Aspektes, Bewertung, Zusammenfassung. Das Publikum von Hauptseminarvorträgen besteht aus fortgeschrittenen Studenten und Mitarbeitern. Es macht evtl. Sinn im Vortrag kleinere Bezüge zur BS Vorlesung herzustellen, ansonsten sollten grundlegende Konzepte als bekannt behandelt werden und die Vortragseinleitung und -einführung kann meist kompakt ausfallen. Schwerpunkt sollte ein interessantes wissenschaftliches Thema bilden, sodass alle etwas lernen können. Der Vortrag selbst sollte, sofern nicht anders abgesprochen, für eine Dauer von ca. 30 Minuten ausgelegt sein. Anschließend stehen üblicherweise 15 Minuten für Fragen zur Verfügung. Es empfiehlt sich den Vortrag vorher etwas zu üben, damit man die eigene Geschwindigkeit besser einschätzen kann. Eigener Vorschlag
Status:
<eigener Vorschlag>
Aufgabe: Selbstverständlich können Studenten im Rahmen des Hauptseminars auch eigene Vortragsthemen vorschlagen. Schickt mir dazu einfach eine eMail. Quellenvorschläge: Ada 2006
Status:
<verfügbar>
Aufgabe: Geben Sie einen Überblick über Ada 2006. Fokussieren Sie sich dabei auf Neuerungen gegenüber Ada 95 mit Schwerpunkt auf Echtzeitfähigkeiten. Quellenvorschläge:
Anwendungen für Trusted Computing
Status:
<verfügbar>
Aufgabe: Die Spezifikationen bzw. Techniken der TCPA/TCG und grobe Andwendungsbeispiele sind uns bekannt. Stellen Sie mindestens zwei realistische Anwendungen detailiert vor und gehen Sie auf Vorteile, Risiken und Auswirkungen auf den Anwender (bzw. auch den Anbieter eines Dienstes) ein. Quellenvorschläge:
Build-Systeme --- Alternativen zu make?
Status:
<verfügbar>
Aufgabe: Geben Sie einen Überblick über Build-Systeme. Ausgehend von GNU/make sollen Erweiterungen und Parallelprojekte vorgestellt und miteinander verglichen werden. (Jam, Ant) Quellenvorschläge:
Covert Channels
Status:
<verfügbar>
Aufgabe: Covert channels umgehen information flow policies. Geben Sie einen Überblick über gängige Verfahren zur Detektion, Beschränkung und Elimination von Covert Channels. Quellenvorschläge:
Dynamic Binary Analysis
Status:
<verfügbar>
Aufgabe: Eine Möglichkeit, Fehlverhalten von Applikationen aufzudecken, ist die Verwendung von Werkzeugen, die das Laufzeitverhalten der Applikation überprüfen. Valgrind ist ein Framework zur Erstellung solcher Werkzeuge, mit denen unmodifizierte Applikations-Binaries und Bibliotheken hinsichtlich verschiedenster Eigenschaften überprüft werden können. Der Vortrag soll die Funktionsweise von Valgrind sowie einige Anwendungsszenarien vorstellen. Quellenvorschläge: Betreuer: Björn DöbelEinführung in CC Evaluation
Status:
<verfügbar>
Aufgabe: Die derzeit aktuelle Evaluierungsmethode ist das Common Criteria. Stellen sie diese Methode vor. Auf welcher Basis wird die Evaluierung durchgeführt? Quellenvorschläge:
Farbmanagement
Status:
<verfügbar>
Aufgabe: Im Zeitalter der digitalen Fotokameras, Scanner und Monitore ist ein durchgängiges Farbmanagement sehr wichtig. Beschreiben Sie das Problem, indem Sie auf photometrische Grundlagen sowie absolute und gerätespezifische Farbräume eingehen. Erläutern Sie kurz das Schuhsohlendiagramm und gehen Sie auf Begriffe wie Gamma und Weißpunkt ein. Geben Sie abschließend einen Überblick, wie aktuelle Systeme mit dem Problem umgehen. Stichworte an dieser Stelle sind ICC- Profile, und Apple ColorSync. Quellenvorschläge:
Komplexität von Software
Status:
<verfügbar>
Aufgabe: Die Komplexität von Software wird häufig als Maß für die Vertrauenswürdigkeit bzw. Fehlerwahrscheinlichkeit herangezogen. Die allgemein bekannte und leicht zu bestimmende Metrik "Lines of Code (LoC)" weist aber einige Nachteile auf. Stellen Sie diesen Nachteilen alternative Ansätze gegenüber und gehen Sie auch auf die praktische Anwendbarkeit bzgl. der Einschätzung der Vertrauenswürdigkeit der Software ein. Quellenvorschläge:
Multimedia Middleware
Status:
<verfügbar>
Aufgabe: Vergleichen Sie verschiedene Implementierungen für Komponentenorientierte Multimedia Middleware bzgl. Voraussetzungen, Erweiterbarkeit, Portierbarkeit etc. Quellenvorschläge: Betreuer: Martin PohlackOpen-Source VPN Systeme
Status:
<verfügbar>
Aufgabe: Stellen Sie mindestens zwei verschiedene Open-Source VPN System vor. Gehen Sie dabei auf deren Benutzbarkeit ein und vergleichen Sie die VPN Systeme. Quellenvorschläge: Policy Composition
Status:
<verfügbar>
Aufgabe: Unter welchen Bedingungen lassen sich verschiedene Security Policies in einem System vereinen? (Diese Aufgabe sollte sinnvollerweise nach 'Security Policies' und 'Confidentiality / Integrity / Hybrid Policies' bearbeitet werden) Quellenvorschläge:
Privilege separation
Status:
<verfügbar>
Aufgabe: Ein bewährtes Konstruktionsprinzip für sichere Systeme ist das "Aufspalten" von Anwendungen in einen kleinen vertrauenswürdigen Teil und einen großen nicht vertrauenswürdigen Teil. Dieses Verfahren kann auch nachträglich angewendet werden, um eine bereits existierende Legacy-Anwendung sicherer zu machen, ist dann allerdings recht aufwändig. Eine neue Technik namens PrivTrans verspricht, diesen Arbeitsschritt weitgehend zu automatisieren. Stellen Sie PrivTrans in Ihrem Vortrag vor und bewerten Sie das Verfahren. Quellenvorschläge:
Proof-carrying code
Status:
<verfügbar>
Aufgabe: Proof-carrying code stellt eine Möglichkeit dar, zusätzlich zu einer Applikation einen Beweis dafür mitzuliefern, dass der Code eine vom Kunden geforderte Spezifikation erfüllt. Vortrag und Ausarbeitung sollen grundlegende Konzepte, Anwendungsbereiche und Limitationen dieses Ansatzes vorstellen. Quellenvorschläge:
Quelltext-Verwaltungs-Systeme
Status:
<verfügbar>
Aufgabe: In letzter Zeit hat es einige Bewegung im Bereich Quelltext-Verwaltungs-Systeme gegeben. Es sollen verschiedene Systeme wie SVK, Arch, Monotone, Quilt, Git etc. vorgestellt und untereinanderer und gegen allseits bekannte Systeme wie CVS verglichen werden. Quellenvorschläge: Betreuer: Adam LackorzynskiSecurity Policies
Status:
<verfügbar>
Aufgabe: Geben sie einen Überblick über entscheidbare und durchsetzbare Security Policies. Quellenvorschläge:
Spekulative Ausführung in Out of Order Prozessoren mit Fokus auf Datenwert Spekulation
Status:
<verfügbar>
Aufgabe: Spekulative Ausführung ist einer der zentralen Leistungsbeschleuniger bei Out-of Order Prozessorarchitekturen. Die Grundidee ist, bestimmte Codeteile schon auszuführen, obwohl noch nicht alle Entscheidungen, ob und mit welchen Parametern der Code ausgeführt werden soll, feststehen. In diesem Vortrag sollen Sie einen Überblick über gängige und neue Spekulationstechniken geben. Datenwert Spekulation ist eine dieser sehr neuen Technologien. Quellenvorschläge:
Systemweites Profiling
Status:
<verfügbar>
Aufgabe: Stellen sie systemweite Profiling-Lösungen für verschiedene Betriebssysteme vor. Vergleichen sie die Architektur, Einsatzziele und Leistungsfähigkeit der Lösungen. Quellenvorschläge:
Take Grant Model
Status:
<verfügbar>
Aufgabe: Im Gegensatz zur Access Control Matrix lässt sich für das Take Grant Model entscheiden, ob ein System sicher ist oder nicht. Versuchen sie zu begründen, warum die allgemeine Access Control Matrix unentscheidbar ist, das Take Grant Model aber doch. Welche Eigenschaften zeigen Erweiterungen zu dem Take Grant Model. Quellenvorschläge:
Thread Level Speculation
Status:
<verfügbar>
Aufgabe: Neben Instruction-Level Speculation wurde kürzlich Spekulation auf Thread Ebene Vorgestellt. Geben Sie einen Überblick über diese Technologie und zeigen Sie ihr Anwendungsfeld auf. Quellenvorschläge:
Transactional Memory
Status:
<verfügbar>
Aufgabe: Transactional memory ist ein Hardwaremechanismus zur Unterstützung Lock freier Synchonisation. Stellen sie diesen Hardwaremechanismus vor und erklären Sie zum einen wie dieser Speicher virtualisiert werden kann und *zum anderen ob und wie ein solches Konzept für die Implementierung entziehbaren Kernspeichers von nutzen sein könnte (ab * optional). Quellenvorschläge:
Unicode
Status:
<verfügbar>
Aufgabe: Stellen sie das Thema Unicode umfassend vor. Gehen sie auf die verschiedenen Kodierungen --- UTF-7, UTF-8, UTF-16, UCS-2, UCS-4 (Big- und Little-Endian)) --- ein. Von welchen Betriebssystemen wird Unicode wo und wie eingesetzt bzw. unterstützt (Ein-/Ausgabe (Terminals), Dateisysteme, ...)? Was haben die unterschiedlichen Kodierungen im Speziellen und Unicode im Allgemeinen für Auswirkungen für Programmierer und Anwender? Kann es bei Einsatz von Unicode zu Sicherheitsproblemen kommen? Wenn ja, wie? Was sind Unicode Normalisierungen? Welche gibt es und warum? Wie wird die Sortierung von Unicode-kodierten Texten gelöst (Collation)? Welche Probleme löst und schafft Unicode?Quellenvorschläge:
Virtualisierung
Status:
<verfügbar>
Aufgabe: Virtualisierung: x86-Virtualisierungstechniken; oder: Ist die ARM-Architektur virtualisierbar? (oder anders gefragt: Besteht Hoffnung, WindowsCE unter Fiasco/ARM zu booten?) Quellenvorschläge: Wavelet-basierte Videokodierung
Status:
<verfügbar>
Aufgabe: Einige aktuelle Video-Kompressionsformate benutzen Wavelets zur Kodierung. Beschreiben Sie allgemein, was Wavelets sind und welche Wavelets typischerweise verwendet werden. Wie kann man Wavelets zur Bildkompression und letztlich zur Videokompression einsetzen? Gehen Sie dabei auch auf JPEG2000, FFmpeg Snow und Dirac ein. Quellenvorschläge:
Build-Systeme --- Alternativen zu make?
Status:
<vergeben> an
Ludwig Haehne
Aufgabe: Geben Sie einen Überblick über Build-Systeme. Ausgehend von GNU/make sollen Erweiterungen und Parallelprojekte vorgestellt und miteinander verglichen werden. (Autoconf / Automake, SCons) Quellenvorschläge:
Model-checking C applications
Status:
<vergeben> an
Marcel Lippmann
Aufgabe: Model-Checking ist eine Möglichkeit zur Programmverifikation. In diesem Hauptseminar soll das Verifikations-Tool SATABS vorgestellt werden, welches es ermöglicht, ANSI-C-Code in eine für das Model-checking nutzbare Repräsentation zu überführen. Weiterhin sollen Möglichkeiten vorgestellt werden, wie die Skalierbarkeit des Model-Checking verbessert werden kann. Quellenvorschläge:
PCI-Express
Status:
<vergeben> an
Ulrich Schmall
Aufgabe: Geben Sie einen Überblick über die grundlegenden Konzepte von PCI-Express. Dazu soll zunächst die physische Struktur (Root Complex, Bridges, Switches, Endpoints, Links) erläutert werden. Ausgehend davon sollen die für Betriebssysteme relevanten Eigenschaften von PCI-Express diskutiert werden (Power Management, Legacy-Interrupt- und MSI-Support, Hotplug). Quellenvorschläge:
Ultra-Large-Scale Systems
Status:
<vergeben> an
Maria Klemm
Aufgabe: Nach einer Studie der Carnegie-Mellon University werden zukünftige Informationssysteme aus einer Vielzahl von autonomen Hard- und Software-Komponenten bestehen. Vortrag und Ausarbeitung sollen eine Einführung in das Forschungsgebiet der Ultra-Large-Scale Systems geben. Quellenvorschläge:
AMD64
Status:
<abgeschlossen>
Aufgabe: Wo liegen Verbesserungen der AMD64-Architektur im Vergleich zur alten x86-Architektur? Die generelle Hinwendung zu 64-Bit und die existenz von 8 weiteren Registern ist allgemein bekannt. Interessant im Kontext von Betriebssystemen sind aber auch andere Änderungen, die nur auf den zweiten Blick auffallen:
Quellenvorschläge:
Active Directory Service
Status:
<abgeschlossen>
Aufgabe: Wie funktioniert Active Directory Service von Windows? Gehen Sie dabei auf Unterschiede zu LDAP ein. Erklären Sie die Struktur eines Netzwerkes, welches ADS benutzt und welche Funktionalität in diesem Netzwerk bereitgestellt wird. Als Beispiel kann die Nutzerverwaltung dienen. Quellenvorschläge: Betreuer: Ron AignerAspektorientierte Programmierung
Status:
<abgeschlossen>
Aufgabe: Stellen Sie das Paradigma der aspektorientierten Programmierung vor, und geben Sie anhand von Beispielen einen Überblick über mögliche Einsatzszenarien. Gehen Sie auf den aktuellen Stand der Forschung sowie auf Projekte zur Implementierung ein. Quellenvorschläge: Dateisysteme
Status:
<abgeschlossen>
Aufgabe: Geben Sie einen Überblick über aktuelle Dateisysteme (z. B. ext3) und ihre Besonderheiten (Komprimierung, Dateitypenerkennung, Rechteverwaltung, Unterstützung für kleine Dateien, Versionsverwaltung, Journaling, ...). [genaueres beim Betreuer] Quellenvorschläge: Display-Architekturen
Status:
<abgeschlossen>
Aufgabe: Geben Sie einen Überblick über verschiedene Display-Architekturen bezüglich Schnelligkeit/Sicherheit: Unix mit X11/XVideo- und Render-Extension, Windows mit DirectDraw, OS X mit Quartz Extreme, QNX mit Photon, DROPS mit DOpE, Fresco, GGI, ... Quellenvorschläge: Esoterische Betriebssysteme
Status:
<abgeschlossen>
Aufgabe: Ziel dieser Aufgabe soll es sein, verschiedene Betriebssysteme vorzustellen und interessante Besonderheiten aufzuzeigen. Betrachtet werden können unter anderem folgende Systeme: Plan9 Quellenvorschläge: Esoterische Betriebssysteme
Status:
<abgeschlossen>
Aufgabe: Ziel dieser Aufgabe soll es sein, verschiedene Betriebssysteme vorzustellen und interessante Besonderheiten aufzuzeigen. Betrachtet werden können unter anderem folgende Systeme: Amoeba. Quellenvorschläge: Esoterische Betriebssysteme
Status:
<abgeschlossen>
Aufgabe: Ziel dieser Aufgabe soll es sein, verschiedene Betriebssysteme vorzustellen und interessante Besonderheiten aufzuzeigen. Betrachtet werden können unter anderem folgende Systeme: MorphOS. Quellenvorschläge: Konzepte hinter Microsofts .net
Status:
<abgeschlossen>
Aufgabe: Der Vortrag soll eine Einführung in die wichtigsten Konzepte hinter .net geben und einen Vergleich zu ähnlichen Technologien, wie z. B. Java, gegebenenfalls anhand von Beispielen anstellen. Im Vortrag soll auf Anwendungsbereiche eingegangen werden, für welche .net als prädestiniert erscheint. Weiterhin ist der Entwicklungsstand und aktuelle Baustellen der Open Source Implementierung Mono darzustellen. Quellenvorschläge: Betreuer: Norman FeskeLDAP
Status:
<abgeschlossen>
Aufgabe: Geben sie einen Überblick über LDAP. Wozu ist es einsetzbar, welche Programme unterstützen es? Wie sieht ein Vergleich mit ähnlichen Protokollen aus? (Sinn, Nutzen von Verzeichnisverwaltungssystemen und Konfigurationsmanagement mit LDAP) Quellenvorschläge: Betreuer: Michael Peter, Herrman HärtigLow Power TLB Architekturen
Status:
<abgeschlossen>
Aufgabe: Die zur Implementierung von virtuellem Speicher benötigten TLB Zugriffe benötigen ca. 40% des Stroms aller schnellen (L1-Cache) Datenzugriffe. In diesem Vortrag sollen Sie einen Überblick über gängige Methoden zur Reduzierung dieses Stromverbrauchs geben. Eine erweiterte Aufgabe zu diesem Thema wäre eine Bewertung dieser Techniken aus Betriebssystemesicht. Quellenvorschläge:
Read-Copy-Update
Status:
<abgeschlossen>
Aufgabe: Stellen Sie den Read-Copy-Update (RCU) Mechanismus zum wechselseitigen Ausschluß auf SMP-Systemen vor. Gehen sie insbesondere auf die Einsatzzwecke am Beispiel des Linux-Kernels und auf die Skalierungseigenschaften von RCU ein. Quellenvorschläge: Betreuer: Udo SteinbergSCTP - Stream Control Transmission Protocol
Status:
<abgeschlossen>
Aufgabe: Vergleichen Sie das vergleichsweise neue SCTP-Protokoll mit dem bereits seit langem verfügbaren TCP-Protokoll. Gehen Sie dabei insbesondere darauf ein, welche Schwachpunkte des TCP-Protokolls durch SCTP behoben wurden und welche neuen Features SCTP implementiert. Quellenvorschläge:
Sichere Programmierung mit C
Status:
<abgeschlossen>
Aufgabe: In eingebetteten Systemen wird selbst dann häufig auf die "unsichere" Programmiersprache C zurückgegriffen, wenn es auf Störungs- und Ausfallsicherheit ankommt, denn die Entwicklung mit der klassischen Alternative Ada ist häufig zu teuer, und für eine Java-Umgebung fehlt auf der Zielplattform die Rechnerkapazität. Um dennoch eine hohe Sicherheit zu erreichen, gibt es eine Reihe von Programmierstandards und Werkzeugen. Stellen Sie einige davon in Ihrem Vortrag vor. Quellenvorschläge:
Sicherheit
Status:
<abgeschlossen>
Aufgabe: Linux Security Modules, Sandboxing [genaueres beim Betreuer] Quellenvorschläge:
Softwareschutz
Status:
<abgeschlossen>
Aufgabe: In diversen Forschungsarbeiten wurden verschiedene Mechanismen vorgeschlagen, C- und C++-Programme gegen Buffer-Overflow-Angriffe sicherer zu machen. Stellen Sie einige dieser Mechanismen vor. Quellenvorschläge:
Symbian OS
Status:
<abgeschlossen>
Aufgabe: Untersuchen Sie Symbian OS u. a. bzgl. der folgenden Fragen:
Quellenvorschläge: Threading unter Linux
Status:
<abgeschlossen>
Aufgabe: Vergleichen Sie die alte Implementation von Linux PThreads (PThreads) mit den Neuentwicklungen "Native POSIX Thread Library (NPTL)" von Redhat und "Next Generation POSIX Threads (NGPT)" von IBM. Stellen Sie die Design-Entscheidungen und Konzepte vor, die den jeweiligen Threading-Implementationen zugrunde liegen, inbesondere die Abbildung von User-Threads auf Kernel-Threads, Thread Local Storage, Signalling und notwendige Modifikationen am Linux-Kern. Gehen Sie auch auf die Leistungsfähigkeit und Skalierbarkeit ein. Quellenvorschläge: Betreuer: Udo SteinbergWebDAV
Status:
<abgeschlossen>
Aufgabe: WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers. (Quelle: www.webdav.org)Stellen Sie WebDAV vor. Gehen Sie besonders auf Unterschiede zu klassischen Dateisystem ein. Welche neuen Anwendungsfelder eröffnen sich dadurch. Quellenvorschläge:
Wer weitere Themenvorschläge hat, schicke bitte eine Mail an mich . |
Martin Pohlack, http://os.inf.tu-dresden.de/~mp26/ |
3. Apr 2007
|
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum · |