Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 336)
Detail práce
   Přihlásit přes CAS
Dynamic linking, debugging and tracing in HelenOS
Název práce v češtině: Dynamický linker a rozhraní pro ladění a trasování v HelenO
Název v anglickém jazyce: Dynamic linking, debugging and tracing in HelenOS
Akademický rok vypsání: 2007/2008
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra softwarového inženýrství (32-KSI)
Vedoucí / školitel: Mgr. Martin Děcký, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 03.06.2008
Datum zadání: 03.06.2008
Datum a čas obhajoby: 02.02.2009 00:00
Datum odevzdání elektronické podoby:02.02.2009
Datum proběhlé obhajoby: 02.02.2009
Oponenti: doc. Ing. Lubomír Bulej, Ph.D.
 
 
 
Zásady pro vypracování
HelenOS je operační systém, který vznikl v rámci softwarového projektu na MFF UK. V systému zatím chybí podpora dynamických knihoven a ladění a trasování procesů.

Dynamické knihovny umožňují vyvíjet části velkých softwarových systémů odděleně a později je spojit bez nutnosti opakovaného překladu. Toto spojování provádí dynamický linker a to během zavádění programu, nebo až za běhu. Linker musí nalézt všechny knihovny vyžadované programem, zavést je do paměti a relokovat je. Potom musí vyřešit externí (symbolické) odkazy mezi programem a jednotlivými knihovnami.

Debugger a trasovač systémových volání patří mezi základní ladicí nástroje. Ke své činnosti využívají speciální systémové rozhraní, které jim umožňuje pozastavit aplikaci, když v ní dojde k určitým událostem (např. breakpoint, trap nebo volání systému). Mohou číst nebo měnit obsah paměti aplikace a opět obnovit její běh.

Hlavním cílem této práce je přidat do systému podporu pro dynamické knihovny, tedy zejména dynamický linker, a dále systémové rozhraní pro ladění a trasování procesů s ukázkovou aplikací. Práce obsahuje přehled metod dynamického linkování, ladění a trasování v bežných rozšířených operačních systémech.
Seznam odborné literatury
Bic L., Shaw A. C.: The Logical Design of Operating Systems
Nutt, G. J.: Operating Systems: A Modern Perspective
Andrew S. Tanenbaum, Albert S. Woodhull: Operating Systems Design and Implementation
HelenOS 0.2.0 Design Documentation (http://www.helenos.eu/documentation)
Předběžná náplň práce
HelenOS je operační systém, který vznikl v rámci softwarového projektu na MFF UK. V systému zatím chybí podpora dynamických knihoven a ladění a trasování procesů.

Dynamické knihovny umožňují vyvíjet části velkých softwarových systémů odděleně a později je spojit bez nutnosti opakovaného překladu. Toto spojování provádí dynamický linker a to během zavádění programu, nebo až za běhu. Linker musí nalézt všechny knihovny vyžadované programem, zavést je do paměti a relokovat je. Potom musí vyřešit externí (symbolické) odkazy mezi programem a jednotlivými knihovnami.

Debugger a trasovač systémových volání patří mezi základní ladicí nástroje. Ke své činnosti využívají speciální systémové rozhraní, které jim umožňuje pozastavit aplikaci, když v ní dojde k určitým událostem (např. breakpoint, trap nebo volání systému). Mohou číst nebo měnit obsah paměti aplikace a opět obnovit její běh.

Hlavním cílem této práce je přidat do systému podporu pro dynamické knihovny, tedy zejména dynamický linker, a dále systémové rozhraní pro ladění a trasování procesů s ukázkovou aplikací. Práce obsahuje přehled metod dynamického linkování, ladění a trasování v bežných rozšířených operačních systémech.
Předběžná náplň práce v anglickém jazyce
HelenOS is an operating system that originated as a software project at the Faculty of Mathematics and Physics. So far it lacks support for dynamically linked libraries as well as support for process tracing and debugging.

Dynamically linked libraries enable developing individual parts of large software systems independently and linking them later together without recompilation. The linking is carried out at load-time or run-time by the dynamic linker. The linker must find all libraries used by the program, map them into memory and relocate them. Then it must resolve external (symbolic) references between the program and libraries.

A debugger and a system-call tracer are essential development tools. They use a special system interface for their operation enabling them to suspend an application when certain events occur (such as a breakpoint or a trap). Then they may examine or change the application's memory contents and resume its execution.

The main goal of this thesis is to implement support for dynamically linked libraries in HelenOS, namely the dynamic linker, and also a system API for debugging and tracing processes, including a demo application. The text also outlines the methods of dynamic linking, debugging and tracing employed in common widespread operating systems.
 
Univerzita Karlova | Informační systém UK