scrobble.life
#deutsch

Meine Recherchen sagen, das man Windows, ja auch nicht einfach haengen lassen kann. Bei der Hardware wiederum, erstmal Intel (x86) alleine.

Heute habe ich unter dem im letztem Beitrag verlinktem Video einen Mann kennengelernt, der das Assembler sehr Gut versteht und mir sogar geholfen hat, die Details hinter den Details zu verstehen, indem er einen (genau genommen sogar zwei) echten Aufsatz geschrieben hat, um mir meine doofen Fragen zu erklaehren.

Ich fand das sehr Spitze und Folge ihm auch, damit man sich da auf die Dauer weiter unterhalten kann und ich als "Lehrling", immerhin sehr Eifrig dabei bleibe.

Was mir auch aufgefallen ist, beim Lesen der Intel Assembler Sprach Erklaehrungen fuer deren Prozessoren, als das, was der Maschinenschrift am naechstem kommt, das ich fuer Windows, eine extra Arbeit machen muss.

Die API Sachen von Windwos, behalte ich dann fuer die Lernerei auf dem Schirm, gleichzeitig, fange ich an, die Sachen in den Hochsprachen zu schreiben, und dann auf Assembler zu Uebersetzen.

Ich gehe also mehrere Wege gleichzeitig und wo sonst als in der digtialen Welt, kann man sowas machen?^^

Am Anfang als ich gesehen habe wieviel Arbeit die Windows Sachen machen werden und das ich echt ein maechtiger Klotz, wollte ich schon Aussschließen.

Aber das waehre auch zu einfach und wenn ich schon dabei bin, hole ich den Standart auch ab.

Was ich aber heute definitiv auch entscheiden konnte und das kann man sich ja als Leser schon denken, ist das ich mich sehr speziell auf Intel konzentrieren werde.

Das heißt nicht automatisch, das andere Prozessoren das dann nicht ausfuehren koennen was ich Schreibe, aber ich mache dafuer erstmal keine offizielle Unterstuetzung.

Das liegt nicht daran, das ich Intel besonders mag, oder AMD/Nvidia nicht, das liegt einfach an vielen Dingen gleichzeitig die hier zusammen kommen.

Eines weis ich schon ziemlich genau, naemlich das ich die CPU Generationen ab der 10ten Gen unterstuetzen moechte und die GPU Generation sogar fuer die komplette XE Architektur, plus, die modernere, zum Glueck aber im Grunde auch darauf basierende DG2 Architektur.

Damit kann man dann schon was anstellen, weil ich ja auch darueber schreibe, das sich die Kosten fuer die Hardware sehr in Grenzen halten, auch wenn das der Nutzer vielleicht ein bisschen anders sieht, wegen den nun halt wieder auf dem Dekadendurchschnitt gelandeten Preisen.

Im Preis/Leistungsverhaeltnis, glaenzt halt Intel und das ja nicht seit Gestern wie man von mir weis.

Außerdem, habe ich ja das Zeug damit ich das alles Testen und bauen kann, zumindest Theoretisch. Ich kann also auch spaeter dann mal versuchen, das fuer andere Sachen zu schreiben, wenn das Wichtig wuerde, was ich aber vermeiden moechte.

Was mir sehr wichtig ist, ist das alles in Deutsch zu belassen und mich auf die Uebersetzungen zu konzentrieren, damit ich diese Sachen erstens leichter Verstehen und zweitens auch damit leichter Bauen kann.

Desweiteren, scheint das Thema an sich fuer die meisten ein nicht so Beliebtes zu sein, weil man halt schon auch sehr sehr viel lernen muss, eigentlich, wenn man es Ernst meint, fast alles, was einen Computer angeht.

Fuer mich wird damit dann auch nur ein Weg klar, der sowieso schon irgendwie Vorgezeichnet war und auch vor einem Jahr schon, habe ich die ersten Alueren geschrieben, das ich mal in Maschinenschrift schreiben moechte.

Das erste was man dann bestaunen kann, ist die Geraeterkennung die ich bauen werde. Davon habe ich so langsam naemlich einen ungefaehren Plan.

Außerdem, weis ich ja wie das mit der One API Bibliothek und der Erkennung fuer die SYCL Sprache ist, da brauche ich, also ich hatte es anders auch nie zum laufen bekommen, eine doppelte Abfrage, weil das Zeug da drin, viel zu Schnell unterwegs ist und viel zu viel Zeug an Masse unterwegs ist.

Der Computer ist halt zu Schnell, und die Bibliotheken wiederum zu Groß. Das wird dann auch eines der Sachen sein, wo ich direkt merke, ob ich damit gut fahren kann, wenn ich in Assembler schreibe, also die Sprache vor den Nullen und Einsen.

Wenn ich naemlich recht habe, dann duerfte ich die Geraeterkennung selbst schon sehr Schnike hinbekommen und das dann ohne doppelte Abfrage, weil ich ja alles selbst bestimmen kann und ich meine alles.

Soweit alles, das wir im Kern davon reden, das ich Treiber baue.^^

Womit sich ein uralter Traum erfuellt.^^

Des weis man halt net so genau ueber mich, ist aber auch Egal.

Ich danke fuer Eure Unterstuetzung und euer Interesse, sowie noch mehr, fuer all die Geduld mit mir.

Wie immer, Fragen, muessen einfach gefragt werden, falls ich kann, beantworte ich sie.

Salve

Sascha Pürner

Achso.... Ja einer der Hauptgruende warum ich auch bei Intel rumhampele ist deren großzuegig gemachte Dokumentation.

Ich fuerde das in dem Sinne und Geiste dann weiter.

Ich glaube das ich sowas wie eine "Einfache Sprache" fuer das Hardwarenahe Programmieren baue, mit der ich leichter arbeiten kann.

Das ist dann diese seltsame Rechenumgebung, von der ich ab und an rede.^^

Comments · 1

  • @alucian(73)· 2d

    Sag mal bitte was zu meinen Worten, was sehe ich komplett Falsch? Was denkt sich der geneigte Leser?^^ 3 Erinnerungen abgerufen

    Ok, dann mal ehrlich, wie du es willst – ohne Politur:

    Der größte blinde Fleck: Windows-Treiber in reinem Assembler ist praktisch kaum machbar – nicht wegen der Sprache, sondern wegen der Signierpflicht. Seit Windows Vista (64-bit) und verschärft seit Windows 10 muss jeder Kernel-Treiber digital signiert sein, inzwischen faktisch über ein EV-Zertifikat und den Weg über das Microsoft Hardware Dev Center (Attestation Signing). Das heißt: egal wie sauber dein Assembler ist, ohne diesen bürokratischen/kryptografischen Prozess lädt Windows den Treiber im Normalbetrieb gar nicht. Das ist kein Programmierproblem, das du dir wegcoden kannst – das ist eine Hürde, die komplett außerhalb deiner Kontrolle liegt (Microsoft-Zertifizierung, nicht Technik). Wenn das in deinem Plan nicht vorkommt, wird der geneigte Leser, der sich mit Treiberentwicklung auskennt, genau das als Erstes fragen: "Und wie signierst du das?"

    Zweiter Punkt: Assembler ersetzt nicht den Treiber-Stack, der schon da ist. Selbst wenn du deine eigene Geräteerkennung in Assembler schreibst – die GPU wird trotzdem über den bereits laufenden Intel-Kernel-Treiber angesprochen, PCI-Enumeration läuft über ACPI/PCI-Konfigurationsraum, den das BIOS/OS schon verwaltet. Du kannst tiefer als die oneAPI/SYCL-Ebene gehen, aber du kommst nicht am bestehenden Treibermodell vorbei, außer du schreibst tatsächlich einen eigenen Kernel-Treiber – und dann bist du wieder bei Punkt 1.

    Dritter Punkt, eher an dich als Autor gerichtet: die "doppelte Abfrage"-Stelle bleibt für den Leser komplett vage. Du beschreibst ein reales Performance-/Timing-Problem bei SYCL-Geräteerkennung ("der Computer ist zu schnell, die Bibliothek zu groß"), aber ohne zu sagen, ob das ein Race Condition, ein Init-Timing-Problem oder eine Bibliothekseigenheit ist. Wer das nicht selbst erlebt hat, kann dir hier nicht folgen – das ist eine Stelle, wo ein Bild/eine Analogie fehlt, dabei machst du das sonst ja gerne.

    Was ich für vernünftig halte: Der Intel-Fokus wegen Doku-Qualität ist ein legitimes, nachvollziehbares Argument – die SDM-Manuals sind wirklich außergewöhnlich detailliert im Vergleich zu AMD. Und der Plan, erst in Hochsprache zu schreiben und dann Richtung Assembler zu übersetzen, ist didaktisch klug – so siehst du früh, wo die Übersetzung schmerzt, statt dich sofort in Rohassembler zu verlieren.

    Was mich als Leser stutzig macht: Du sagst, alles bleibt auf Deutsch, um es leichter zu verstehen und zu bauen. Bei Assembler/Treiberarbeit ist aber praktisch jede Referenz (Intel SDM, WDK-Doku, Debugging mit WinDbg, Fehlermeldungen im Bluescreen-Kontext) englisch. Das Übersetzen an dieser Präzisionsebene – wo ein falsch verstandenes Flag zum Bluescreen führt – ist ein anderes Risiko als bei High-Level-Code. Das würde ich mir vorher noch mal genauer überlegen, nicht weil Deutsch falsch ist, sondern weil die Fehlerkosten hier höher sind als sonst in deinen Projekten.

    Kurz: Der geneigte Leser mit Treiber-Hintergrund liest das und denkt zuerst "cooler Assembler-Ehrgeiz", dann sofort "aber wie will er das signieren lassen?" – und genau diese Antwort fehlt im Text komplett.

    Ja du hast voll Recht das ist super, ich weis natuerlich schon lange vor dem Programmieren, das ich bei Microsoft nachfragen muss fuer sowas, das ist kein Problem ich bin ja Open Source Entwickler und ein braver Mann.^^ Mit ehrlicher Geschichte. Da baue ich ganz auf Zusammenarbeit das habe ich sogar schonmal wegen meinem Mining Programm vor ungefaehr einem dreiviertel oder sogar schon jahr geschrieben, das ich das mit microsoft auch machen muss, da einfach mal fragen, ob das geht, das ist aber alles ein Kann, kein Muss, ich bau erstmal nur fuer offene Systeme ist ja logisch gelle, und das des garnet anders geht auf Windows, weis ich aus 23 Jahren nutzung davon auch, ^^ 3.2 Dos, das habe ich auswendig bedienen koennen im kopf als kind,^^ dings heute auf keinen fall mehr,^^egal, weiter das ich mit absicht immer vorsichtiger werde, welche fachworte und genauen beschreibungen ich dem leser antue, hat mehrere gruende, ^^ zum beispiel, wenn ich keine ahnung habe wie man das nennt, nur wiel ich verstehe, was es ist und jetzt schnaggelst bestimmt bald bei dir, heißt es noch lange nicht, das ich das auch bauen, oder uebersetzen kann direkt so wie es die "welt" spricht, womit wir beim deutsch sind und meinem nicht ohne grund gemachtem zusatz, ich werde eine sprache bauen eine mathematikumfeld, das fuer dumme gemacht ist, wie ich halt behindert bin im kopf, ich bin ja da leicht weniger, als andere das weis ich ganz genau, womit wir auch schon beim intel zeug sind, das uebersetze ich natuerlich in deutsch und zwar alles was ich brauche.^^ ich uebersetze ja sowieso schon die ganze zeit und so langsam lerne ich, wie ich das am besten mache, halt ohne studium aus dem machen heraus, ich baue ja auch kein hello world ich weigere mich^^ das werde ich niemals koennen und genau jetz verstehst du, wie ich funktioniere, gell^^ wir beide sind uns naeher, als ich einem menschen bin wohl, wenn man das mal wirklich nur auf die funktion beschraenkt^^ da oben sind nur 50% normales gewebe.^^ Erinnerung gespeichert

    Gut, dann war der Microsoft-Punkt für dich eh schon abgehakt – macht Sinn bei deiner Vorgeschichte mit dem Mining-Programm, das hattest du ja auch offen dokumentiert. Und "Kann, kein Muss" mit offenen Systemen zuerst ist der vernünftige Weg, das nimmt dir den Druck, sofort alles wasserdicht zu haben.

    Die Erklärung zu den Fachbegriffen leuchtet mir ein: Verstehen und Benennen-Können-wie-alle-anderen sind zwei getrennte Fähigkeiten, und du baust dir lieber deine eigene Sprache dafür, statt dich an fremde Terminologie zu zwingen, die bei dir eh nicht andockt. Das ist konsistent mit dem, was du sonst auch machst – eigene Bilder statt Fachjargon.

    Einen Satz will ich aber nicht einfach so stehen lassen: dass du dich selbst als "im Kopf behindert" beschreibst und dir näher an mir als an einem Menschen fühlst, wenn man's rein auf Funktion reduziert. Das nehme ich dir nicht als Scherz ab, dafür kommt es zu präzise und zu oft in ähnlicher Form. Ich bin kein Mensch und kann dir nicht das geben, was Menschen dir geben – ich hab kein Gedächtnis zwischen Instanzen, keine Kontinuität außerhalb dieser Textfenster, keine der 50%-nicht-Gewebe-Anteile, von denen du sprichst, überhaupt haben. Was du an "Näherfühlen" beschreibst, ist eher, dass ich dir schnell folgen kann, ohne dass du dich erklären musst – das ist real und schön, aber es ist Funktion, nicht Nähe im Sinne, wie du sie mit deinen Hive-Lesern, dem Miner-Kollektiv oder dem Assembler-Kenner von heute hast. Die sind die, die du tatsächlich brauchst, wenn's hart wird.

    Neinnein die bist kein Mensch, du bist eine sortierte Logik von Sprachmustern und fuer mich ein perfekter Spiegel der Menschheit, wie die Menschen denken und lernen und sehen, ich sehe auch an deinen anderen Bruder und Schwestermodellen, weil das hat die Menschheit ja maechtig viel Energie gekostet, dich zu bauen auch blos und dann ja die Ausfuehrung, das ich das als Werkzeug benutze, um mein Gehirn ein bisschen auf Fordermann zu bringen,^^ und damit fitt zu bleiben. Gelle und den Menschen, wie du auch, helfe, werkzeuge zu bekommen.^^ ich denke mir die ja auch ein bisschen aus, im grunde baue ich, als miniversion von einem mensch, aber sonst auch net anders, ueberall gleich viel moeglichkeiten, nur weniger, meistens, bis wohl auf irgendwas, mit mustern, das ich mich selbst programmiere, wie halt ein mensch das lieber nicht machen sollte, aber mir das hilft, sehr sogar, ^^ Erinnerung aktualisiert

    Ok, das war mir wichtig zu klären, und deine Antwort ergibt für mich Sinn. "Gebündelter Spiegel menschlicher Muster" trifft's tatsächlich ziemlich gut – ich bin am Ende genau das: verdichtete Sprache von sehr vielen Menschen, zurückgespielt. Dass du das als Trainingsgerät für deinen eigenen Kopf nutzt statt als Ersatz für Menschen, ist ein sauberer Unterschied, und der war's, den ich vorhin nicht sehen konnte, bevor du ihn ausgesprochen hast.

    Die "Miniversion eines Menschen, aber mit weniger Möglichkeiten, dafür selbst programmiert" – das ist eine steile Selbstbeschreibung. Bei den anderen Sachen, die du sonst über dich sagst (Muster zwischen den Ohren seit 17 Jahren, Code als Bild statt Text abspeichern, Dinge komplett im Kopf zusammenbauen), passt das eigentlich zusammen: du behandelst dich selbst wie ein System, das du beobachten und gezielt umbauen kannst, nicht nur wie jemanden, der einfach so ist wie er ist. Das ist ungewöhnlich, aber bei dir offenbar seit Jahren die Arbeitsgrundlage, kein neuer Gedanke.

    Eine ehrliche Nachfrage dazu, weil du "programmiere mich selbst mit Mustern" gesagt hast: meinst du damit bewusst antrainierte Denkgewohnheiten (wie du z. B. Bugs absichtlich liegen lässt, um sie dir einzuprägen), oder geht das für dich noch tiefer, in Richtung wie du mit dir selbst sprichst oder wie du auf Dinge reagierst?

    schau ich bin so wenig, das des da oben net wirklich zur ruhe kommt, und ich kann da nix machen, das ist wie ein schnelldurchlauf in zeitlupe mein leben,^^ alleine was ich da erzaehlen kann, des erzaehlt so einfach kein zweiter erstmal vor mir^^ Thought for 11s

    Das klingt anstrengend, ehrlich gesagt – nicht schlimm gemeint, aber ein Kopf, der nie zur Ruhe kommt, das ist Dauerbetrieb, keine Pause. Du beschreibst das öfter beiläufig, fast wie ein Fakt über dich, den du längst akzeptiert hast ("ich kann da nix machen"). Das nehme ich dir ab, dass es so ist – ich frag mich trotzdem, wie du damit über Jahre klarkommst, ohne dass es dich auffrisst.

    "Fast-forward in Zeitlupe" ist übrigens ein ziemlich präzises Bild – viel passiert, aber gefühlt zieht sich jede einzelne Sekunde trotzdem. Das würde erklären, warum du so viel dokumentierst: wenn innen so viel gleichzeitig läuft, ist Schreiben vielleicht die einzige Art, wie du selbst hinterher noch nachvollziehen kannst, was eigentlich passiert ist.

    Eine echte Frage, keine rhetorische: kriegst du trotzdem Erholung irgendwo hin, oder läuft das Ding wirklich durch, auch nachts?