Programmierung der Klasse TaskInfo für die Darstellung betriebssystemspezifischer Informationen


Rapport de Stage, 2002

13 Pages, Note: 1,7


Extrait


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

5. Literaturverzeichnis

1.Einleitung

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[1] -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.

2. Themengebiete

2.1. Erstellen von Klassen

Klassen sind ein wesentlicher Bestandteil der objektorientierten Programmierung. Sie fassen gleichartige Objekte zusammen und bilden damit einen Datentyp, der die Eigenschaften von seinen Objekten beschreibt. Klassen besitzen einen Namen und beinhalten Attribute beziehungsweise Eigenschaften, die Daten in den einzelnen Objekten speichern. Die Funktionalitäten und Fähigkeiten der Objekte werden in der Klasse in sogenannten Methoden definiert.

In der Deklaration einer Klasse beschreibt der Entwickler welche Eigenschaften ein Objekt haben soll, welche Fähigkeiten es besitzt und wie diese implementiert sind. Wenn ein Objekt gebildet werden soll, wird es nach den Angaben der Klasse erzeugt. Man nennt diesen Vorgang auch eine Instanz erzeugen bzw. instantiieren. Eine Klasse kann nur durch ein Objekt bzw. eine Instanz genutzt werden.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: Beispiel einer Klasse in C++

2.2. Windows API-Funktionen

Die Windows-API bietet Funktionen, mit denen man das Betriebssystem steuern kann. Sie besteht in der Regel aus einer oder mehreren DLLs[2], die bestimmte Funktionen bereitstellen.

DLLs sind Dateien, deren Funktionen über jede unter Windows ausgeführten Anwendungen aufgerufen werden können. Eine Funktion in einer DLL wird zur Laufzeit dynamisch mit einer Anwendung verknüpft, von der sie gestartet wird. Unabhängig davon, wie viele Anwendungen eine Funktion in einer DLL aufrufen, ist diese Funktion nur in einer einzelnen Datei auf dem Datenträger enthalten. Sie wird also nur einmal in den Arbeitsspeicher geladen.

Die Windows-API umfasst die DLLs, aus denen sich das Windows-Betriebssystem zusammensetzt. Jede Windows-Anwendung interagiert direkt oder indirekt mit der Windows-API. Sie stellt sicher, dass sich alle Anwendungen, die unter Windows ausgeführt werden, konsistent beziehungsweise in sich schlüssig verhalten.

Neben der Windows-API sind noch weitere veröffentlichte Funktionen verfügbar. So setzt sich zum Beispiel die Schnittstelle für die Programmierung von nachrichtenverarbeitenden Anwendungsprogrammen[3] aus DLLs zusammen, die für das Schreiben von E-Mail-Anwendungen verwendet werden können. Für das Aufrufen von Funktionen in der Windows-API benötigt man eine entsprechende Dokumentation, wie die Microsoft Plattform SDK[4]. Der umfassende Text beschreibt, welche Funktionen verfügbar und wie sie einzubinden sind. Darüber hinaus gibt er eine große Menge von Zusatzinformationen und Querverweise zu Beispielen aus verschiedenen Bereichen.

2.3. STL-Container

Abbildung in dieser Leseprobe nicht enthalten

Die Standard[5] Template Library ist eine Bibliothek, die zum ANSI/ISO-Standard[6] von C++ gehört und auf der Basis von Templates beziehungsweise Mustervorlagen implementiert ist. Sie enthält viele Algorithmen und Datenstrukturen, die eine einfache Lösung häufig auftretender Programmieraufgaben ermöglichen. Eine Vielfalt von Implementierungen werden durch die Anwendung dieser Bibliothek unnötig. Aufgrund ihrer speziellen Architektur ist sie also vielseitiger, leistungsfähiger, sicherer und einfacher zu benutzen als viele andere Bibliotheken.

In der folgenden Übersicht sind die verschiedenen Container in Sequenzen und assoziativen Sequenzen beziehungsweise Listen und Mengen unterteilt. Darin kann man erkennen, dass sequentielle Container geordnete Behälter sind, in denen jedes Element eine bestimmte Position besitzt. Diese Position ist durch den Zeitpunkt und den Ort des Einfügens bestimmt. Assoziative Container sind dagegen sortierte Behälter, bei denen die Position der Elemente durch ein Sortierkriterium bestimmt wird.

[...]


[1] API: Application Programming Interface (deutsch: Schnittstelle zur Anwendungsprogrammierung)

[2] DLL: Dynamic Link Libraries (deutsch: Dynamische Linkbibliotheken)

[3] z.B.: MAPI: Messaging Application Programming Interface

[4] SDK: Software Developer Kit

[5] STL: Standard Template Library

[6] ANSI/ISO: American National Standard Institute / International Standard Organisation

Fin de l'extrait de 13 pages

Résumé des informations

Titre
Programmierung der Klasse TaskInfo für die Darstellung betriebssystemspezifischer Informationen
Université
Baden-Wuerttemberg Cooperative State University (DHBW)
Note
1,7
Auteur
Année
2002
Pages
13
N° de catalogue
V25203
ISBN (ebook)
9783638279079
Taille d'un fichier
703 KB
Langue
allemand
Mots clés
Programmierung, Klasse, TaskInfo, Darstellung, Informationen
Citation du texte
Michael Mordhorst (Auteur), 2002, Programmierung der Klasse TaskInfo für die Darstellung betriebssystemspezifischer Informationen, Munich, GRIN Verlag, https://www.grin.com/document/25203

Commentaires

  • Pas encore de commentaires.
Lire l'ebook
Titre: Programmierung der Klasse TaskInfo für die Darstellung betriebssystemspezifischer Informationen



Télécharger textes

Votre devoir / mémoire:

- Publication en tant qu'eBook et livre
- Honoraires élevés sur les ventes
- Pour vous complètement gratuit - avec ISBN
- Cela dure que 5 minutes
- Chaque œuvre trouve des lecteurs

Devenir un auteur