Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Programming

Programmierung der Klasse TaskInfo für die Darstellung betriebssystemspezifischer Informationen

Title: Programmierung der Klasse TaskInfo für die Darstellung betriebssystemspezifischer Informationen

Internship Report , 2002 , 13 Pages , Grade: 1,7

Autor:in: Michael Mordhorst (Author)

Computer Science - Programming
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

In der Entwicklerumgebung sind Systeminformationen verschiedener Prozesse sehr nützliche Mittel, um Programme zur Laufzeit zu kontrollieren. Auf Grund der Daten kann ein professioneller Entwickler Programme effizient und ressourcensparend programmieren und das Verhalten innerhalb eines bestimmten Betriebssystems beobachten. Die Programme selbst können aber auch auf die Systeminformationen zurückgreifen und dementsprechend reagieren.

Microsofts Windows stellt für diese Aufgabe den Taskmanager zur Verfügung. Dieses Werkzeug bereitet aber nur eine begrenzte Anzahl von vordefinierten Angaben auf und lässt sich darüber hinaus nicht in ein Programm einbinden beziehungsweise von einem Programm direkt nutzen. Der Taskmanager ist also nur zur Darstellung der wichtigsten Ressourceninformation zu gebrauchen.

Wenn allerdings Programme auf die Daten zugreifen sollen oder man nähere Angaben über den Prozessbetrieb wissen will, benötigt man die Windows-API-Funktionen. Mit ihnen lassen sich alle relevanten systemnahen Angaben abfragen. Jedoch gibt es sehr viele solcher API-Funktionen, deren Zugriff nicht immer ganz einfach gestaltet ist. Die Lösung dieses Problems ist eine Klasse, die alle diese Aufgaben erledigt. Programme, die Systeminformationen benötigen, greifen über diese Klasse direkt darauf zu. Programmentwickler müssen sich damit nicht mehr mit den Windows-API-Funktionen beschäftigen, weil alle Funktionen in einer Klasse übersichtlich gebündelt sind.

Excerpt


Inhaltsverzeichnis

1. Einleitung

2. Themengebiete

2.1. Erstellen von Klassen

2.2. Windows API-Funktionen

2.3. STL-Container

3. Praxisprojekt Klasse TaskInfo

3.1. Problemstellung

3.2. Anforderungen an die Klasse TaskInfo

3.2.1. Abfrage ganz gezielter Informationen

3.2.2. Prozess ID als Schnittstelle

3.2.3. Speicherung in einen STL-Container

3.2.4. Erweiterbarkeit für Unix-Systeme

3.3. Prozess Modellierung

3.3.1. Die Klasse ProcessInfo

3.3.2. Kapselung der Informationen

3.4. Vektor-Container als Informationsspeicher

3.5. Programmierung der Klassen

3.5.1. Die Funktion EnumProcesses

3.5.2. Die Funktionen OpenProcess und CloseHandle

3.5.3. Das Handle hProcess

4. Erweiterungen der Klasse

4.1. Unix-Kompatibilität

4.2. Einbindung in die Firmensoftware viad@t

Zielsetzung und thematische Schwerpunkte

Diese Arbeit zielt darauf ab, ein effizientes C++-Werkzeug zur Abfrage und Verwaltung betriebssystemspezifischer Prozessinformationen unter Windows zu entwickeln. Durch die Kapselung komplexer Windows-API-Funktionen in einer übersichtlichen Klasse sollen Entwickler entlastet und eine plattformübergreifende Erweiterbarkeit vorbereitet werden.

  • Grundlagen der objektorientierten Programmierung und Klassenerstellung in C++.
  • Nutzung und Implementierung von Windows-API-Funktionen für die Systemsteuerung.
  • Anwendung von STL-Containern (insbesondere Vektoren) zur effizienten Datenspeicherung.
  • Strukturierung und Modellierung von Softwaresystemen mittels UML.

Auszug aus dem Buch

Die Klasse ProcessInfo

In diesem Programmdesign ist es sinnvoll, eine neue Klasse zu implementieren, welche die Funktionalität von den Datenspeicherung abgrenzt. Die Klasse ProcessInfo beinhaltet sämtliche benötigten Informationsattribute über alle aktuellen Prozesse. Sie nimmt von den API-Funktionen abgefragte Daten auf. Damit kann unabhängig von der Klasse TaskInfo, ohne größeren Eingriff in die Funktionalität, neue Informationsdaten hinzugefügt oder gelöscht werden. Das Erzeugen der Klasse ProcessInfo ist dabei vor allem von der objektorientierten Denkweise her sinnvoll, da die Daten gekapselt werden.

Einen weiteren Vorteil hat die zusätzliche Klasse in Bezug auf den STL-Container. Dem Vektor wird einfach als Datentyp die Klasse ProcessInfo übergeben. Damit werden alle Daten von einem Prozess gebündelt abgelegt, ohne dass man alle Datentypen der Klasse einzeln herausfiltern muss.

Zusammenfassung der Kapitel

1. Einleitung: Beschreibt die Notwendigkeit, Prozessinformationen effizient auszulesen, und führt das Ziel ein, dies durch eine eigene C++ Klasse zu vereinfachen.

2. Themengebiete: Erläutert die theoretischen Grundlagen zu C++ Klassen, der Nutzung von Windows-API-Funktionen und dem Einsatz von STL-Containern.

3. Praxisprojekt Klasse TaskInfo: Detailliert die konkrete Problemstellung, die Anforderungen an das Design, die Modellierung mittels UML und die technische Programmierung der Schnittstellen.

4. Erweiterungen der Klasse: Diskutiert zukünftige Anpassungen, insbesondere die Portierbarkeit auf Unix-Systeme und die Integration in die Lagerverwaltungssoftware viad@t.

Schlüsselwörter

C++, Windows-API, Prozessinformationen, TaskInfo, Klasse, Objektorientierung, STL-Container, Vektor, Softwarearchitektur, Plattformunabhängigkeit, Prozess-ID, Systemmanagement, Datenkapselung, viad@t, Unix-Kompatibilität

Häufig gestellte Fragen

Worum geht es in dieser Arbeit grundsätzlich?

Die Arbeit beschäftigt sich mit der Programmierung einer C++ Klasse namens TaskInfo, die dazu dient, betriebssystemspezifische Informationen über Prozesse unter Windows auszulesen und zu verwalten.

Was sind die zentralen Themenfelder?

Die Arbeit fokussiert sich auf objektorientierte Programmierung, die Anwendung der Windows-API, den Einsatz der Standard Template Library (STL) sowie grundlegende Konzepte des Software-Designs.

Was ist das primäre Ziel der Arbeit?

Das Ziel ist die Erstellung eines flexiblen Werkzeugs, das Programmierern den direkten Zugriff auf Prozessdaten erleichtert, indem es komplexe API-Aufrufe in einer übersichtlichen Klasse bündelt.

Welche wissenschaftliche Methode wird verwendet?

Es handelt sich um ein praxisorientiertes Software-Engineering-Projekt, das auf einer Analyse der bestehenden Systemumgebung, einer objektorientierten Modellierung und der anschließenden Implementierung basiert.

Was wird im Hauptteil behandelt?

Der Hauptteil befasst sich mit der Problemstellung, der Anforderungsanalyse, dem UML-Modell der Klassen TaskInfo und ProcessInfo sowie der praktischen Programmierung mittels API-Funktionen wie EnumProcesses.

Welche Schlüsselwörter charakterisieren die Arbeit?

Wichtige Begriffe sind unter anderem C++, Windows-API, Prozess-ID, STL-Container, Datenkapselung und Plattformunabhängigkeit.

Warum ist die Klasse ProcessInfo für das Projekt entscheidend?

Sie ermöglicht eine saubere Trennung zwischen der Datenspeicherung und der Funktionalität, wodurch Informationen gekapselt und die Wartbarkeit sowie Erweiterbarkeit des Codes verbessert werden.

Welche Rolle spielt die Prozess-ID im Design?

Die Prozess-ID dient als eindeutige Schnittstelle zur Identifikation eines Prozesses, über die alle weiteren notwendigen Informationen abgerufen werden können.

Excerpt out of 13 pages  - scroll top

Details

Title
Programmierung der Klasse TaskInfo für die Darstellung betriebssystemspezifischer Informationen
College
Baden-Wuerttemberg Cooperative State University (DHBW)
Grade
1,7
Author
Michael Mordhorst (Author)
Publication Year
2002
Pages
13
Catalog Number
V25203
ISBN (eBook)
9783638279079
Language
German
Tags
Programmierung Klasse TaskInfo Darstellung Informationen
Product Safety
GRIN Publishing GmbH
Quote paper
Michael Mordhorst (Author), 2002, Programmierung der Klasse TaskInfo für die Darstellung betriebssystemspezifischer Informationen, Munich, GRIN Verlag, https://www.grin.com/document/25203
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  13  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint