Programmieren unter MS-Windows
Kapitel 2: Begriffe aus der Windows-Welt
Letzte Änderung: 2.11.97 von B. Tritsch
Überblick
Zurück zum Index "PC- und MS-Windows-Support"
Zurück zum Inhalt
- Graphical User Interface (GUI):
Graphische Benutzerschnittstellen wie Windows, X11/Motif,
GEM, Open Look, Macintosh etc.
- Bitmap (BMP): Rechteckiges Pixelbild auf
dem Ausgabegerät oder im Speicher
- Device Independent Bitmap (DIB):
Geräteunabhängiges Pixelbild
- Palette: Farben, die in einer
geräteunabhängigen Bitmap gespeichert oder die
physikalisch von einem Ausgabegerät unterstützt werden
- Graphic Device Interface (GDI):
Graphikausgabe-Bibliothek für Windows
- Device Context (DC): Datenstruktur für
geräteunabhängige Zeichenoperationen auf Bildschirmen,
Druckern und Bitmaps
- Windows Games (WinG): Erster Entwurf
einer Spieleschnittstelle
- DirectX: Spieleschnittstelle, die
direkten Zugriff auf Graphik- und Audiokomponenten
erlaubt.
- OpenGL: 3D-Schnittstelle für die
Entwicklung professioneller Graphiksoftware
- Networking: Anbindung an ein Netzwerk
von Computern.
- Peer-to-Peer: Gleichberechtigte
Gerät-zu-Gerät-Verbindung.
- Client: Ein Gerät oder Programm, das
von einem anderen Progrmm (Server) Daten empfängt.
- Server: Gegenpart zum Client, beliefert
ihn mit den gewünschten Daten.
- Sockets: Kommunikationsprotokoll,
entwickelt an der Universität Berkeley, Kalifornien.
Sockets basieren auf dem TCP/IP Netzwerk-Protokoll und
sind für Windows als WinSock standardisiert.
- Dynamic Data Exchange (DDE): Mechanismus
zur Client/Server-Datenkommunikation.
- Multi Document Interface (MDI):
Schnittstellenstandard für Anwendungen, in denen der
Benutzer gleichzeitig mit mehreren geöffneten Dokumenten
arbeiten kann.
- Object Linking and Embedding (OLE):
Werkzeug zum Datenaustausch zwischen verschiedenen
Programmen (ab Windows 3.1, Windows NT).
- Clipboard: Konzept zum Datenaustausch
zwischen verschiedenen Anwendungen.
- Visual Basic Extensions (VBX): Konzept
zur Ankopplung von Visual Basic Komponenten.
- Object Component Extensions (OCX):
Konzept zur Anbindung von Software-Komponenten über OLE.
- Handle: Kennzeichner, Bezug oder Name
für ein Windows-Objekt
- Instance: Eine Programminstanz ist eine
Programmkopie im Hauptspeicher
- Event-Handling: Programmreaktion auf
externe Ereignisse, nicht sequentiell
- Fensterklasse: Schablone zur Erzeugung
eines Fensters
- Message: Vorzeichenloser 16-Bit-Wert
(32-Bit-Wert), der eine Fensterprozedur über ein
spezielles Ereignis in Kenntnis setzt
- Modul: Spezieller Objekttyp, der für
die Organisation von Programmcode und Daten verwendet
wird
- Scheduler: Zeitverwalter in einem
Multitasking-System
- Audio Video Interleave (AVI): Digitales
Video für Windows
- Media Control Interface (MCI):
Hardwareunabhängige Schnittstelle zur Steuerung von
Multimedia-Peripherie.
- Swap: Auslagern bestimmter Daten vom
Hauptspeicher auf Festplatte (Virtual Memory Management)
- Task: Jedes gestartete Programm, ob im
Vorder- oder im Hintergrund eines Multitasking-Systems
- Time Slice: Teil der Zeitscheibe, die
einem Task zur Verfügung steht
- Ungarische Notation: Konvention
bezüglich der Erzeugung von Variablen und Funktionsnamen
- Dynamic Link Library: Bibliotheken mit
Funktionen, die erst zur Laufzeit "gelinkt"
werden
- High Memory Area: Der
64-Kbyte-Speicherbereich direkt über der
1-Mbyte-Adreßgrenze bei 80286- oder höheren Prozessoren
- Lokaler Speicher: Speicher, der mit
einer Anwendung gekoppelt ist
- Globaler Speicher: Speicher, der nur
einmal vorhanden ist, jedoch systemweit
- GDI: Eines der drei Kernstücke von
Windows, verantwortlich für die Graphikverwaltung
- KERNEL: Eines der drei Kernstücke von
Windows, verantwortlich für Speicherverwaltung,
Ressourcen, dynamische Verknüpfung etc.
- USER: Eines der drei Kernstücke von
Windows, verantwortlich für die Behandlung von
Benutzeraktionen
Windows ist in seiner Urfassung aus drei Hauptkomonenten
aufgebaut: KERNEL, USER und GDI.
KERNEL - einer ist der Chef:
- Name: KRNL286.EXE, KRNL386.EXE
- Erledigt die elementaren Jobs eines Betriebssystems
- Laden von Programmen
- Verwaltung des globalen Speichers
- Kontrolle der einzelnen Tasks
- Ab Windows NT: File System NTFS
USER - einer macht die Arbeit:
- Fensterverwaltung
- Menüverwaltung
- Ressourceverwaltung
- Verwaltung der Gerätetreiber
- Kontrolle von Timer, Clipboard, Spracheinstellung
- Verwaltung von Drag-&-Drop
GDI - einer macht den Außendienst
- Kontrolle des Graphischen Benutzer Interfaces
- Verwaltung von Graphikkarten, Druckern, Plottern,
Belichtern, etc.
Und nun alle zusammen: Das KERNEL leitet die Module USER und
GDI. USER steht für Fenser-Handling und Äußeres, das GDI
verwaltet die Windows-Graphik.
Schönheitsfehler: Das KERNEL braucht Input vom USER-Modul, um
reagieren zu können. Dadurch wird die Forderung nach strikter
modularer Reinheit verletzt. (Die Veröffenlichung dieser
Information kostete den Windows-Entwickler Michael Geary beinahe
den Job - Verstoß gegen den Geheimnisschutz von Microsoft!)
Ressource: Nur-lesbares Datenobjekt, wird bei Bedarf
eingelesen oder gelöscht.
Die einzelnen Ressourcen von Windows sind:
- Dialogfenster
- Menüs
- Tastenkürzel
- String-Tabellen
- Bitmaps
- Icons (Piktogramme)
- Mauszeiger
- Schriften
Siehe weiter unten für genauere Beschreibung
Windows 3 ist ein Non-Preemptive-Multitasking-System. Dies
bedeutet, daß die Kontrolle um Programme für ein Time-Slicing
zu unterbrechen nicht vom Betriebssystem übernommen wird. Statt
dessen gibt jedes Programm selbständig über Meldungen
(Messages) die Kontrolle an das nächste weiter. Dadurch erlangen
Messages unter Windows zwei wichtige Bedeutungen: Kommunikation
und Ausführungssteuerung.
UNIX ist dagegen ein Preemptive-System. Die Programme mit
ihren Fenstern unter X11/Motif haben daher nur die Möglichkeit
zur Kommunikation, jedoch nicht zur Ausführungssteuerung. Die
Programmausführung wird über ein striktes Timeslicing
gesteuert.
Windows NT sowie das neue Windows 95 sind wie UNIX preemptive
Systeme.
Windows benutzt viele Begriffe und Konzepte der
objektorientierten Programmierung. Obwohl die Programmentwicklung
für Windows nicht objektorientiert geschehen muß, ist es
sinnvoll einige Begriffe dieser Technik zu kennen.
Drei grundlegende Eigenschaften kennzeichnen eine
objektorientierte Programmiersprache:
- Kapselung: Die Kombination einer
Datenstruktur mit den Funktionen (Aktionen oder
Methoden). Mechanismus: Klasse.
- Vererbung: Aufbau neuer abgeleiteter
Klassen aus Daten und Funktionen einer oder mehrerer
Basisklassen. Mechanismus: Hierarchie
- Polymorphie: Vergabe eines Namens oder
Symbols für eine Aktion in einer Klassenhierarchie,
wobei die Aktion in jeder Klasse der Hierarchie anders
implementiert wird
In Windows werden aus diesem Kontext folgende Begriffe
verwendet:
- Klasse (public, private oder protected)
- Hierarchie
- Struktur (= Zusammenfassung von Datenelementen)
- Objekt (= Klasseninstanz)
- Handle (= Identfizierer eines Objekts)
- Dynamische Objekte (Generierung während der Laufzeit)
Für echtes objektorientiertes Programmieren stehen zwei
verbreitete Bibliotheken zur Verfügung:
- Microsoft Foundation Class (MFC)
- Borland Object Windows Library (OWL)
Fazit: Windows erlaubt objektorientierte Programmentwicklung
Zum nächsten Kapitel