SP2-SCRIPT Info Einleitung System Schnittstellen Kybernetik Normen Betriebssysteme Datentypen Windowsx.H Entwicklungsumg. Assemb
Total Page:16
File Type:pdf, Size:1020Kb
SP2-SCRIPT Info Einleitung System Schnittstellen Kybernetik Normen Betriebssysteme Datentypen windowsx.h Entwicklungsumg. Assembler main() Console-App Nachrichten WM-Konstanten def_wnd.c def_dlg.c Win-Objekte Ressourcen Dialoge Dll's MFC SP01 SP01 SP02 SP02 Q02 SP03 SP03 Q03 menu.cpp SP04 SP04 Q04 Menu SP05 SP05 hex1.exe hex1.txt hex2.exe hex2.txt But SP06 SP06 tray butt SP07 SP07 quell test SP08 SP08 SP09 SP09 Info: Systemprogrammierung Hier finden sie Unterlagen zu den Veranstaltungen: ( Grafische Darstellungen und Erkennen nach ) Antoine de Saint-Exupéry: Man sieht nur mit dem Herzen gut. Das Wesentliche ist für die Augen unsichtbar. Einleitung Diese Veranstaltung hat das Ziel, in die Programmierung mit dem aktuellen ( Windows-) Betriebssystem einzuführen. Die unfangreiche Funktionalität eines Betriessystem ( als Virtuelle Maschine und Resourcen-Verwalter ) wird auf den "unteren Ebenen" für die Programmierung genutzt. Wegen der Komplexität und des Umfanges wird diese Einführung nicht vollständig sein. Das Skript kann der Vor- und Nachbereitung der Veranstaltung dienen. Ziel der Veranstaltung In der Veranstaltung werden grundlegende Begriffe erklärt, und in die Programmierung der Betriebssystem-Funktionalität eingeführt. Der Schwerpunkt liegt auf praktischen Anwendungsaspekten. Wegen des Stoff-Umfanges kann nur eine spezielle Auswahl behandelt werden. Kognitive Ziele Verstehen von Sachverhalten bedeutet, dass wir ( innerhalb eines stillschweigend vorausgesetzten Kontext ) in Begriffen, Schlüssen, Urteilen denken und Erkenntnisse in Zusammenhänge einordnen können. ● Beschreibungen antworten auf Wie - Fragen, ● Erklärungen antworten auf Warum - Fragen. Praktische Ziele Im engeren Sinne wird als Grunglage ein aktuelles Betriebssystem ( Windows ) und aktuelle Programmierwerkzeuge verwendet ( Entwicklungsumgebung, Debbuger, Ressourcen-Erstellung, Nachrichtenverfolgung, usw. ). Danke Ich möchte mich ● bei meiner Frau für das Verständnis, ● bei den Kollegen für interessante Diskussionen, ● bei meinen Diplomanden für die geleistete Arbeit, ● bei den Tutoren für den aufopfernden Einsatz und ● bei den Studenten für zahlreiche Fragen bedanken. Ron Kritzfeld: Der Pragmatiker entscheidet Fälle nicht nach Grundsätzen, sondern fallweise. In dem Wort "Systemprogrammierung" steckt "System" und "Programmierung". Diese Begriffe werden unten behandelt. Was ist ein Programm? Das Wort Programm kommt aus dem griechischen und bedeutet "schriftliche Bekanntmachung, Tagesordnung". Das Programmieren möchte ein bestimmtes Verhalten entwickeln, aufschreiben und festlegen um damit Abläufe zu unterstützen, steuern, regeln. Ein Programm kann bedeuten: ● Vorhaben ● ökonomisches Sortiment, Warenangebot ● Vorstellungs-, Aufführungs-, Vortrags-, Konzertfolge oder Spielfolge ( Theater, Fernsehen ) ● Angebot an Sendungen ( Gesamtheit der Sendungen des Tages, Rundfunk, Fernsehen ) ● Darlegung von Zielen und Grundsätzen ( politische Partei, Staatsführung ) ● Vorgesehenen Ablauf für eine Reihe von Darbietungen ● Folge von Tätigkeiten; Arbeitsplan für ein Vorhaben ● Zeit- od. Terminplan, festlegen der Abfolge von Vorgängen ● Detailplanung der einzelnen technischen Arbeitsschritte für die Ausführung ( durch ausführende Einheiten ) ● Folge von Anweisungen an den Computer, mit denen bestimmte Aufgaben von physikalisch-technischen Einheiten ausgeführt werden ( Realisierung mit Algorithmen, Programmiersprache, Hardware, Sensoren, Aktoren ) Beispiel: Im Raum von Ressourcen und Wissen entwickelt der Programmatiker ( z.B. Prof. ) ein Vorlesungsprogramm für eine Veranstaltung. Art und Umfang der Durchführung hängen auch von der Programmatik ( Zielsetzung, Zielvorstellung ) und der programmatischen ( zielsetzend, richtungsweisend, auf dem Programm beruhenden ) Mitarbeit der Studierenden ab, die zum programmgemäßen ( planmäßig, so wie es geplant ist ) Gelingen beitragen. allg. Programmiermodell Das Erstellen einer Schrittfolge ( programmieren ) erfolgt auf einer abstrakten, formalen Ebene ( Projektabwicklungen, militärische Planungen, Arbeitsvorbereitungen, volkswirtschaftliche Verflechtungs- und Vorgehensmodelle, Software/Hardware-Entwicklungszyklen, Entwicklungsmodelle, usw. ). Das erstellte Programm garantiert noch nicht die Fehlerfreiheit ( Verwendbarkeit, Ausführung ). In komplexen Ausführungssystemen ( Organisationen, Computersysteme, Netze, usw. ) können vorausschauenden Beurteilungen schwierig sein ( Funktionstests, Laufzeitverhalten, Skalierung, Fehlerfreiheit, zusichernde Garantien, Verfeinerungen, usw. ). Für ein allgemeines, abstraktes Programmier-Modell gibt es unterschiedliche Ansätze. Ein universelles Modell soll auch für nicht technische Systeme brauchbar sein. Das folgende Modell kann komplexe Prozesse beschreiben und ist einem Computer- System nachgebildet. Es besteht aus den Komponenten: Memory, Prozessor, Receptor, Effektor, Enviroment. Memory Prozessor Wandler Enviroment enthält: führt aus: wandelt um: Übertragungs- 1. Nutzdaten, elementare Verarbeitungsschritte, <== medium: 2. Daten für den Prozessor: Verzweigungen, Rececptor( Weiterleitung Programm - Code, kurzzeitige Speicherung von Sensor ) von Signalfolgen Umschaltungen und Zwischenwerten, ==> Steuerungen Prozess - Umschaltung Effektor( Aktor ) Memory Prozessor Wandler Enviroment Bei einem ( biologischen ) lernenden System ist die Trennung von Speichern und Ausführen oft schwierig. Ein technischer Prozessor kann Daten im Speicher ablegen, finden, holen, ändern, überschreibend-speichern. Es gibt ● Daten, die der Prozessor als von aussen kommende Befehle ( OpCode ) erkennt und interpretiert ( fester Befehlssatz ). Solche Befehle sind z.B. ❍ ausführen von elementaren Operationen ❍ internes ( zwischen- ) speichern von aktuellen Ausdrücken ❍ interne Ausführungsverzweigungen durchführen ( Sprung, "bedingter Adressversatz" ) ❍ Speichern aller internen Prozessordaten und umschalten auf einen neuen Prozess oder in einen neuen Ausführungsmodus ● Nutz-Daten, die der Prozessor holt, ändert, geändert speichert ● Daten, die dem Prozessor äussere Zustände signalisieren ( Steuerbus-Signale ) und sein gesamtes Verhalten beeinflussen. Solche Hardware/Software-Steuerdaten können den Prozessor in einen anderen Zustand ( z.B. wach, schlafend ) umschalten. Im schlafenden Zustand können unbewusste Aufräumungsarbeiten durchgeführt werden. Die Folge von Prozessor-Befehlen bilden ein Programm. Ein Programm braucht zur Ausführung eine interpretierende Apparatur. Jeder interpretierende Apparatur kann nur die eigenen Befehle interpretieren ( braucht speziell auf die Apparatur abgestimmte Programm-Sequenzen ). Der Prozessor arbeitet mit dem Effektor und dem Receptor zusammen, die Signalumwandlungen durchführen. Kommunikation ist ein wechselseitiger Prozess von Sender und Empfänger ( feed back, Rückkoppelung zwischen Empfänger und Sender ). Was ist ein System? In der Philosophie ist ein System [ griechisch: "gegliedertes Ganzes"; von griechisch systema: das Zusammengesetzte ], eine Bezeichnung für das geordnete Zusammenstellen von grundlegenden Erkenntnissen zu einem Ganzen, d.h. zu einer Lehre, einer Doktrin oder einem Lehrgebäude. In der Wissenschaftstheorie ist ein System die Gesamtheit der Prinzipien, die einer Theorie zugrunde liegen. Nach Immanuel Kant ( Kritik der reinen Vernunft, 1781 ) ist das System "die Einheit der mannigfaltigen Erkenntnisse unter eine Idee". Beispiel: Fachwerksystem Ein Fachwerk besteht aus einem System von Stäben, die miteinander verbunden sind. Die Stäbe erfüllen erst dann die Funktionen des Fachwerksystems, wenn die Stäbe zu einem "neuen Ganzen" montiert sind. Das Fachwerksystem kann Lasten tragen und damit seine Aufgabe erfüllen, wenn die Lasten über Stäbe und Stabverbindungen ( an die Erde ) abgeleitet werden. "Schnittstellen" sind gedachte Trennstellen, um rechnerisch die innen wirkenden Schnittgrössen ( Kräfte, Momente ) zu ermitteln. Zu einem konkreten Systemen gehören ( meist ) unterteilende Fachbegriffe, die die Vielfalt spezifizieren und das wissenschaftlichen Modell beschreiben. Als strukturbildende Einteilung wird der System-Begriff in allen Wissenschaften verwenden. Hier einige Beispiele: In der Psychologie formulierte Gregory Bateson ( 9.5.1904-11.6.1980 ) die Double-Bind-Theorie zur Rolle der Familie bei der Entstehung von Schizophrenie. Die zunehmende Bevölkerung führte zu Umweltschutz, Grenzen des Wachstums, Populationen, Ökologie, Biozönosen, Nahrungsbeziehungen zwischen den Arten, usw. Die Biologie und Evolutionstheorie führten zu verwobenen ( grossen ) Systemen. Die Ökologie ( zu griechisch oikos: Haus und lógos: Lehre ) beschreibt Systeme undderen Wechselbeziehungen zwischen den Organismen der unbelebten/belebten Umwelt und dem Stoff- und Energiehaushalt Es wird zwischen der unbelebten Umwelt ( abiotische Faktoren wie Klima, Boden ) und der belebte Umwelt ( biotische Faktoren ) unterschieden. ● Die Aut-Ökologie behandelt Beziehungen zwischen Individuum und Umwelt Die Dem-Ökologie ( Populationsökologie ) behandelt Beziehungen zwischen Wechselbeziehungen artgleicher Individuen ● Die Syn-Ökologie behandelt Wechselbeziehungen verschiedener Populationen Biozönosen kennzeichnet die Gesamtheit aller Lebewesen eines bestimmten Lebensraums. ● Die System-Ökologie behandelt Ökosysteme untereinander ● Die Human-Ökologie behandelt Wechselwirkungen zwischen dem Menschen und seiner natürlichen und technischen Umwelt Syllogistik [griechisch] die, Logik: von Aristoteles begründete Lehre vom Schluss als Kernstück der traditionellen Logik. Aus der Verbindung von zwei Vordersätzen (Prämissen)