Beseitigung von Produktivitätshemmnissen in der Linux-Entwicklung

29. Mai 2008, 12:53 Uhr | Jim Ready und Bill Weinberg
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Beseitigung von Produktivitätshemmnissen in der Linux-Entwicklung

Ein Alleinstellungsmerkmal des MontaVista PDK (Platform Developer Kit) in der DevRocket IDE ist der „Platform Image Builder“. Dieses grafische Werkzeug vereinfacht Erzeugung, Konfiguration und „Befüllung“ von Root- und sekundären Zieldateisystemen in hohem Maße:

  • Dateisystem-Images auf dem Host können auf virtuellen und echten Zielsystemen für Remote-Boot und Tests installiert werden.
  • Unterstützt Befüllung des Ziels auf Paket-, Verzeichnis- und Einzeldateiebene.
  • Kann je nach Bedarf Standardpaket-/ Bibliotheksets oder vom Anwender definierte Sets nutzen.
  • Löst Abhängigkeiten unter Paketen, Bibliotheken und Applikationen.

passend zum Thema

Grundwerkzeuge sind nur der Anfang

Tools für den elementaren Zyklus Editieren – Compilieren – Debuggen sind unentbehrlich für den Start eines Projekts. Der Großteil der Entwicklungszeit wird jedoch für die Suche nach Fehlern und Problemen sowie für deren Lösung gebraucht. Diese Probleme lassen sich meist nur durch spezialisierte Werkzeuge finden. Die Überwindung echter Entwicklungsengpässe erfordert Funktionen wie Speicher-Debugging, Systemprofiling und Ausführungs-Ablaufverfolgung. Die Basiswerkzeuge für diese Aufgaben sind zwar im Eclipse-Umfeld und in anderen Open-Source-Quellen zu finden, aber der größte Nutzen lässt sich aus solchen Werkzeugen nur dann ziehen, wenn sie in die Entwicklungsumgebung integriert sind wie bei DevRocket 5.0 von MontaVista. jk

William Weinberg

war als Country Manager in Brasilien für Acer Technology tätig. Dann wechselte er zu Lynx Real-Time Systems, wo er Embedded-Web-Technologien betreute. Heute ist er Director Product Marketing bei MontaVista Software.

info@mvista.de

Jim Ready
erwarb 1971 an der University of Illinois in Urbana-Champaign den Bachelor und 1976 an der University of California, Berkeley, den Master. Er ist Mitgründer von Ready Systems und anschließend von MontaVista Software. Bei Ready Systems leistete er Pionierarbeit bei der Entwicklung des ersten kommerziell einsetzbaren Echtzeit-Betriebssystems – des VRTX-Echtzeit-Kernels. MontaVista gründete er mit dem Ziel, das Betriebssystem Linux für den Embedded-Systems-Markt verfügbar zu machen und Embedded-System-Kompetenz für die Linux-Open-Source-Community bereitzustellen.

Ein anderes Open-Source-Tool, OProfile, bietet einen systemumfassenden Profiler für Linux, der den gesamten Ablauf-Code bei niedrigem Overhead protokollieren kann. OProfile besteht aus einem Kernel-Treiber und einem Daemon zur Sammlung von Probendaten und nutzt CPU-gesteuerte Zähler zum Profiling einer großen Vielfalt von Statistiken und zum grundlegenden Profiling des Zeitverbrauchs. Wie bei vielen kostenlosen Open-Source-Tools handelt es sich bei OProfile um einen leistungsfähigen Motor, der in einer Minimalkarosserie montiert ist, was seinen Nutzwert einschränkt. OProfile kann beispielsweise vielfältige Systemstatistiken verfolgen, zeigt sie dann jedoch lediglich als rohe Textdisplays an (Bild 2).

Im Gegensatz dazu bekommen durch die Integration von OProfile in das MontaVista-ADK die Anwender mehr Möglichkeiten zur Konfiguration, Code-Instrumentierung (Bild 3) und zur grafischen Ausgabe in die Hand:

  • Leicht einstellbare Optionen für diverse Ereignisse zur Probenanalyse.
  • Transparente Instrumentation mit niedrigem Overhead.
  • Automatisierte Kontrolle von Batch-Profiling-Sessions.
  • Profilingreports und Histogramme, die sich leicht lesen und interpretieren lassen.
  • Kontrolle über Profil-Erstellung und Anzeige von Codes mittels Klicken und Einstellen: gemeinsame Bibliotheken, Applikationen und diverse Systemereignisse.

Programm- und System-Ablaufverfolgung sind andere Bereiche, wo community-verwaltete Open-Source-Tools wie LTTng (Linux Trace Toolkit, nächste Generation) und LTTV (Linux Trace Tool Viewer) kraftvolle Fähigkeiten in einer fehlerhaften Verpackung liefern. Sie sind nicht mit anderen Tols integrierbar und es mangelt ihnen an Unterstützung für automatisierte Instrumentierung, Build, Analyse und die grafische Ausgabe der Daten.

8090502_af_03.jpg
Bild 2. Proben-Ausgabe von OProfile. Bild 3. Einfache Konfiguration für die differenzierte Auswertung der Laufzeitanalysen in DevRocket 5.0.
8090503_af_03.jpg
Bild 2. Proben-Ausgabe von OProfile. Bild 3. Einfache Konfiguration für die differenzierte Auswertung der Laufzeitanalysen in DevRocket 5.0.

MontaVista hat die Open-Source-Trace-Tools, insbesondere LTT, in mehrfacher Hinsicht verbessert. Zum ersten investierte MontaVista 2002 stark in das LTT-Projekt, fügte Unterstützung für multiple Architekturen (insbesondere ARM, Mips und Power-PC) hinzu und gab diverse Patches zur Steigerung der Qualität und Erweiterung der Fähigkeiten heraus. Zum zweiten integrierte MontaVista LTT in die DevRocket-Umgebung, was Entwicklern unentbehrliche Trace-Funktionen an die Hand gibt (Bild 4):

  • Unterstützung für Applikationspfad-/ Applikationsprozess- und Linux-Kernel-Ereignis-Ablaufverfolgung.
  • Umfassendes Ereignis- und Ablaufdisplay der Ausführung im User- und Kernelspace.
  • Automatische partielle und/oder vollständige Instrumentation des Applikations-Codes.
  • Batch-Sammlung von Trace-Daten mit niedrigem Overhead.

8090504_af_03.jpg
Bild 4. Anzeige von Systemereignissen bei der Ablaufverfolgung in MontaVista DevRocket.

  1. Beseitigung von Produktivitätshemmnissen in der Linux-Entwicklung
  2. Beseitigung von Produktivitätshemmnissen in der Linux-Entwicklung
  3. Open Source: Gute Betriebssysteme, schlechte Tools

Jetzt kostenfreie Newsletter bestellen!