Protected Mode (Code): Unterschied zwischen den Versionen

Aus Philo Wiki
Wechseln zu:Navigation, Suche
K (add2)
K (corr)
Zeile 13: Zeile 13:
 
<font color="sienna">
 
<font color="sienna">
 
: 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)]]
 
: 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)]]
</font
+
</font>
  
  

Version vom 7. Dezember 2007, 07:19 Uhr

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 wirk­sam 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 gewor­den wäre, bis sie eines unfernen Tages den Deutschen Idea­lismus effektiv heraufführen, also Mensch werden würde.

Weshalb Software, dieses Millarden-Dollar-Geschäft mit einem der billigsten Elemente dieser.Erde, nichts unver­sucht 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 Mi­crosoft Corporation.

Diese Froschperspektive herrschte nicht immer. In der guten alten Zeit, als Mikroprozessorpins noch groß genug für schlichte Lötkolben waren, konnten auch Literaturwis­senschaftler mit dem Intel-Prozessor 8086 anstellen, was sie wollten. Durch Nichtunterscheidung zwischen RAM und ROM, Mißbrauch der beiden Stackregister als All­zweckregister, Vermeidung jeglicher Interruptvektoren, Zweckentfremdung des Wait-Eingangs undsoweiter waren selbst Standardchips, die für eine einzige Ganzzahlmultipli­kation damals noch einhundertdreiunddreißig Takte brauchten, auf die Verarbeitungsgeschwindigkeit primiti­ver 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 sei­nem Kopf spukte. Er vergaß sogar seine zehn Finger und übersetzte alle Dezimalzahlen, die im Programm mitspie­len sollten, in eintönige Binärzahlenkolonnen. Daraufhin vergaß er den Imperativ als solchen und wälzte Datenblät­ter, 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 millio­nenmal schneller als der Bleistift, mit dem der Benutzer ihre Nullen und Einsen aus Intels Datenblättern zusam­mengestückelt hatte. Sicher, sie nahm in den Flipflops, de­ren endlos wiederholte Muster den Siliziumchip überzie­hen, 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, Anwender­freundlichkeit 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 wahnsin­nig 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 ge­rufen. In einer Epoche, die die Phantome des Schöpfers oder Autors längst verabschiedet hat, aus guten finanziel­len Gründen aber am Copyright als historischem Effekt sol­cher 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 medien­historischen Vorläufer, die Bücherleser, Kinobesucher und TV-Zuschauer, erst einmal produziert worden. Das Pro­blem 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)