Protected Mode (Code)
Aus: Friedrich Kittler: Protected Mode. In: Draculas Vermächtnis. Technische Schriften. Leipzig 1993 S. 210ff.
Die AirLand Battle 1991 hat es einmal mehr gezeigt: Unter den postmodernen Strategien des Scheins ist keine so wirksam wie die Simulation, daß es Software überhaupt gibt. Bis zum Gefechtsfeldbeweis des Gegenteils, als Computer unzweideutig zu erkennen gaben, Hardware zur Zerstörung irakischer Hardware (oder Eisenwaren, wie Hardware im Alltagsenglisch noch heißt) zu sein, verbreiten Werbeprospekte und Medienkonferenzen das Märchen von einer Softwareentwicklung, die schon immer sanfter und benutzerfreundlicher, spiritueller und intelligenter geworden wäre, bis sie eines unfernen Tages den Deutschen Idealismus effektiv heraufführen, also Mensch werden würde.
Weshalb Software, dieses Millarden-Dollar-Geschäft mit einem der billigsten Elemente dieser.Erde, nichts unversucht läßt, um besagte Menschen an die entsprechende Hardware gar nicht erst heranzulassen. Man kann mit WORD 5.0 auf einem No Name AT 386 und (wie es so schön heißt) unter Microsoft DOS 3.3 über eben diese drei Wesenheiten ganze Aufsätze schreiben, ohne die Strategie des Scheins auch nur zu ahnen. Denn man schreibt - das »Unter« sagt es schon - als Subjekt oder Untertan der Microsoft Corporation.
Diese Froschperspektive herrschte nicht immer. In der guten alten Zeit, als Mikroprozessorpins noch groß genug für schlichte Lötkolben waren, konnten auch Literaturwissenschaftler mit dem Intel-Prozessor 8086 anstellen, was sie wollten. Durch Nichtunterscheidung zwischen RAM und ROM, Mißbrauch der beiden Stackregister als Allzweckregister, Vermeidung jeglicher Interruptvektoren, Zweckentfremdung des Wait-Eingangs undsoweiter waren selbst Standardchips, die für eine einzige Ganzzahlmultiplikation damals noch einhundertdreiunddreißig Takte brauchten, auf die Verarbeitungsgeschwindigkeit primitiver Signalprozessoren zu heben. Weil die Von-Neumann-Architektur keinen Unterschied zwischen Befehlen und Daten kennt, konnte es der Silizium-Chip an Dummheit mit seinem Bastler und Benutzer aufnehmen. Denn dieser Benutzer, um ein Programm zum Laufen zu bringen, mußte erst einmal alles vergessen, was aus Schulzeiten noch als mathematische Eleganz oder geschlossene Lösung in seinem Kopf spukte. Er vergaß sogar seine zehn Finger und übersetzte alle Dezimalzahlen, die im Programm mitspielen sollten, in eintönige Binärzahlenkolonnen. Daraufhin vergaß er den Imperativ als solchen und wälzte Datenblätter, um auch die (selbstredend schon englisch formulierten) Befehle IN, OUT undsoweiter in ihren Opcode zu übersetzen. Eine Tätigkeit, die nur Alan Mathison Turing, als er seine Universale Diskrete Maschine von 1936 einen Weltkrieg später endlich zur technischen Verfügung hatte, allen Gedächtnisentlastungen und Hochsprachprogrammen vorgezogen haben soll. Aber nachdem diese Austreibung von Geist und Sprache einmal vollbracht war, tat es die Maschine ihrem Benutzer an Dummheit gleich: Sie lief.
Sicher, diese sogenannte Maschinensprache lief millionenmal schneller als der Bleistift, mit dem der Benutzer ihre Nullen und Einsen aus Intels Datenblättern zusammengestückelt hatte. Sicher, sie nahm in den Flipflops, deren endlos wiederholte Muster den Siliziumchip überziehen, millionenmal weniger Raum als auf dem Papier ein. Aber damit waren die Unterschiede zwischen Computer und Papiermaschine, wie Turing den Menschen umgetauft hatte auch schon erschöpfend aufgezählt.
Diese guten alten Zeiten sind unwiderruflich vergangen. Unter Stichworten wie Benutzeroberfläche, Anwenderfreundlichkeit oder auch Datenschutz hat die Industrie den Menschen mittlerweile dazu verdammt, Mensch zu bleiben. Mögliche Mutationen dieses Menschen zur Papiermaschine sind mit vielfacher Tücke versperrt. Erstens gehen Microsofts Benutzerdatenblätter dazu über, Assemblerkürzel als maximale Zumutbarkeit oder Maschinennäherung zu unterstellen und das heißt überhaupt keinen Opcode mehr zu veröffentlichen. Zweitens »versprechen uns« die einschlägigen Fachzeitschriften, »vom Programmieren in Maschinensprache bestenfalls, nach kurzer Zeit wahnsinnig zu werden«. Drittens schließlich halten es dieselben Zeitschriften auch schon für sträflich, »eine Prozedur zur Berechnung des Sinus ausgerechnet in Assembler zu schreiben«.
- Man teilt Programmiersprachen, z.B. C/C++, C#, Java, PL/1, Assembler, in Generationen ein. Je nach "Prozessornähe" wird die Programmiersprache also einer Ebene zugeordnet. Die unterste Ebene, und das wird wohl jedem einleuchten, ist die Kombination aus "Strom ein"/"Strom aus" --> also 1 und 0, wobei sich das ganze im Normalfall immer auf einer Ebene von 5 Volt bewegt. Eine "Variable" die die Werte 1 und 0 annehmen kann, nennt man in der Computersprache ein "Bit". Nun versucht man also anhand von solchen binären Stellen andere Zeichen darzustellen. Man fasst also mehrere Bits zu Bytes zusammen. Ein 1 Byte hat 8 Bit und wenn man sich das ausrechnet, kann man mit einer achtstelligen binären Zahl bis zu 2 Hoch 8 Zahlen darstellen --> 256. Es würde jetzt natürlich jedem Menschen äußerst schwer fallen, jedes Zeichen, jeden Buchstaben und jede Zahl in einer binären Form einzugeben. Das würde nicht nur unendllich lange dauern, sondern auch sehr sehr schwierig sein. Jetzt kann man sich aber auch vorstellen, dass einfache Vorgänge wie das Addieren von Zahlen ebenso eine ungeheure Menge von solchen Bitkombinationen benötigen. Jeder PC ist natürlich grundlegend ein "Rechner" der durch das Addieren, Substrahieren,.... Bitfolgen und Bytes bearbeitet und manipuliert. Jeder Befehl wie z.B. das Addieren hat natürlich ebenfalls eine Bezeichnung über die er aufgerufen werden kann, die letztenendes nichts als eine bloße Bitkombination ist, bzw. sich auf (virtuelle) Schaltungen auswirkt. Um den Menschen unnötiges Eingeben dieser Bitfolgen oder Hexadezimalzahlen zu ersparen verwendet man Platzhalter --> um nichts anderes handelt es sich bei der "prozessornahen" Programmiersprache Assembler. Jeder Prozessor hat gewisse Befehlssätze, über auf ihn zugegriffen werden kann. Nun ist aber auch schon eine solche "prozessornahe" Programmiersprache überaus umständlich, wo eine einfache Addition zweier "Register" schon mehrer Zeilen benötigt --> man bedenke wie lange man bräuchte, wenn es denn überhaupt mögliche wäre, grafische Systeme wie Windows darin zu programmieren. Deshalb fasst man auch hierin wieder bestimmte Programmfolgen, die häufig benötigt werden und überaus zusammen und bewegt sich somit auf die nächste Ebene. Während mit der "prozessornahen" Sprache direkt auf die Befehle und Register des Prozessors zugegriffen wurde, greift die Programmiersprache der nächsten Ebene nurnoch auf vorgefertigte Module der vorhergehenden Sprache zu. Natürlich werden im Hintergrund die eingegebenen Sprachen wieder in den "prozessornahen" Code übersetzt, da der Prozessor ja einzig und alleine diesen versteht. Man könnte also sagen, dass es sich bei den höheren Programmiersprachen um etwas ähnliches wie "Makros" handelt, die viele kleine Befehle in einem einzigen Befehl zusammenfassen --> also werden gewisse Module erstellt, mit denen es zu Arbeiten leichter fällt. Man darf sich diese Sprachen jetzt natürlich nicht alzu "bunt" vorstellen:) Bis ein Interface, wie z.B. Windows zustande kommt, das in gewisser Form die Sprache des Menschen spricht und ituitiv gehandhabt werden kann, benötigt es einen Haufen Arbeit. Ich sagte "Interface" weil ja die grafische Darstellung des "Betriebssystems" nichts anderes ist als eine Schnittstelle zum menschenfreundlichen Umgang mit dem Computer. --Richardd 11:58, 31. Okt. 2007 (UTC) Diskussion:Motivation_(Code)
Auf die Gefahr hin, schon längst wahnsinnig geworden zu sein, kann man aus alledem nur folgern, daß die Software offenbar im selben Maß an Benutzerfreundlichkeit gewonnen hat, wie sie das kryptologische Ideal der Einwegfunktionen approximiert. Je höher und komfortabler die Hochsprachen, desto unüberbrückbarer ihr Abstand zu einer Hardware, die nach wie vor alle Arbeit tut. Ein Trend, der wahrscheinlich weder durch den technischen Fortschritt noch durch Formalitäten einer Typentheorie zureichend erklärt werden kann, sondern wie alle Kryptologie strategische Funktionen hat. Während es auf der einen Seite, in Kenntnis von Codes oder Algorithmen, prinzipiell machbar bleibt, Anwendersoftware oder Kryptogramme zu schreiben, wird es auf der anderen und benutzerfreundlich kaschierten Seite nachgerade unmöglich, vom Fertigprodukt auf seine Produktionsbedingungen zurückzuschließen oder diese Bedingungen gar zu verändern.
...
Für Software kommt diese mathematische Tücke wie gerufen. In einer Epoche, die die Phantome des Schöpfers oder Autors längst verabschiedet hat, aus guten finanziellen Gründen aber am Copyright als historischem Effekt solcher Geister mit Leidenschaft festhält, wird die Tücke zur Geldquelle. Die Untertanen von Microsoft sind jedenfalls nicht vom Himmel gefallen, sondern wie alle ihre medienhistorischen Vorläufer, die Bücherleser, Kinobesucher und TV-Zuschauer, erst einmal produziert worden. Das Problem ist nur, wie die Unterwerfung, um ihren weltweiten Siegeszug anzutreten, vor den Subjekten verborgen werden kann.
- One of the defining features of intelligent networks (capitalism, Hollywood, language) is an ability to produce an apparatus to hide the apparatus. For capitalism, this logic is found in the commodity form; for Hollywood, it is continuity editing. In digital space this "hiding machine," this making-nodifference machine, is epitomized in the Internet browser. (R. Galloway) Internet:_Eckdaten_(Code)
Zurück zu: Zwang, Wucherungen, Trauma (Code)
Kontext: Code: Kommunikation und Kontrolle (Vorlesung Hrachovec, 2007/08)