Paging: Verständnisschwierigkeiten zum Tutorial von James Molloy



  • @Erhard-Henkes @SeppJ Ich denke auch, dass das eher dem Forum schadet, da das ohnehin schon das sein wird, was die meisten machen, bevor sie so etwas altmodisches wie ein Forum besuchen 😉

    Wenn du so ein Fan von LLMs bist Erhard, warum nicht folgendes: Verwende KI um dir den viel zu langen Text kompakt zusammenfassen zu lassen und antworte dann in eigenen Worten auf das Kernproblem, das du damit extrahiert hast. Das finde ich einen sinnvolleren Einsatz von KI und es vermeidet, noch mehr von diesem generierten Content überall im Netz zu verbreiten (das nimmt ohnehin schon viel zu sehr Überhand).

    Edit: Oh, sehe gerade dass du das ja fast schon so gemacht hast, da muss ich ein wenig zurückrudern. Trotzdem bleibe ich bei meiner Kritik bezüglich "generierten Inhalten". Deine Antwort kann sich halt jeder selbst generieren, das ist wie das Ergebnis einer Google-Suche zu posten 😉


  • Mod

    Ich wollte einfach diesen Monster-Beitrag nicht offen stehen lassen. Das James Molloy Tutorial, das mir bei diesem OS-Projekt wirklich geholfen hat, öffnet bei mir auch nicht mehr.

    Die Grundsatzdiskussion Mensch vs KI gewinnt bei komplexen Fachfragen inzwischen klar die KI (liest Monster-Beiträge, Tausende Zeilen Code, steht 24/7 zur Verfügung, nörgelt nicht rum). Für dieses Fachforum ist das natürlich eine Herausforderung. Ich würde hier noch Subforen zu den Themen KI und zu Roboter schaffen. Das sind die Themen der Zeit.



  • @Erhard-Henkes sagte in Paging: Verständnisschwierigkeiten zum Tutorial von James Molloy:

    Die Grundsatzdiskussion Mensch vs KI gewinnt bei komplexen Fachfragen inzwischen klar die KI (liest Monster-Beiträge, Tausende Zeilen Code, steht 24/7 zur Verfügung, nörgelt nicht rum).

    Da muss man aber viel Arbeit reinstecken, und permanent kritisch nachbohren. Die ersten Antworten bei ganz ähnlichen Problemen sind meiner Erfahrung nach meist ziemlich grottig. Aber ja, wenn man die wie einen Diskussionspartner in einem Fachgespräch nutzt, dann sind die durchaus ziemlich nützlich 😉


  • Mod

    @Finnegan Man benötigt Erfahrung im Umgang mit KI. Da gebe ich dir recht. Mir ist aufgefallen, dass der Sprung von ChatGPT 5.0 nach 5.1 (am Anfang nur für Plus-Abos verfügbar) qualitativ signifikant ist. In den letzten 14 Tagen kamen ständig neue Versionen von "5.1". Für fachliche Diskussionen ist diese KI empfehlenswert. Bei Code kommen wenige Fehler. Allerdings muss man sich selbst um Refactoring, Konzentration von Konstanten an einem Ort und den strategischen und logischen Überblick kümmern.



  • Es ist lustig... 2018 hätte man noch gesagt, der TO hätte uns mit einem KI-Posting getrollt, aber heute lässt man eine KI inzwischen die Nicht-KI-Postings lesen und zusammenfassen. 😆

    Die Welt wird immer verrückter, wenn ihr mich fragt... Es wäre ja auch, wenn in RL-Kriegen nur noch KIs und Roboter gegeneinander kämpfen würden (von mir aus auch im Weltall), und wobei keiner mehr zu schaden käme.


  • Mod

    Früher hat man ein Betriebssystem benötigt, um auf einer vernünftigen Software-Basis mit Applikationen aufsetzen zu können. MS DOS wurde zu MS Windows, das viele heute als Version 11 verwenden. Die nächsten Schritte werden zusätzlich die KI einbeziehen. Wie sich das ausprägen wird, ist noch völlig offen.



  • @Erhard-Henkes sagte in Paging: Verständnisschwierigkeiten zum Tutorial von James Molloy:

    Die Grundsatzdiskussion Mensch vs KI gewinnt bei komplexen Fachfragen inzwischen klar die KI (liest Monster-Beiträge, Tausende Zeilen Code, steht 24/7 zur Verfügung, nörgelt nicht rum).

    Stoßen wir hier nicht auf den ELIZA-Effekt? Überinterpretieren wir nicht ein wenig die Ergebnisse heutiger KI?

    Gerade in so manchen Diskussionen fällt mir immer wieder dass der Sprachstil der KI auf Dominanz gestellt ist:

    • Sprache ist immer liebevoll
    • Rückfragen werden nie gestellt
    • Fehler werden ignoriert
    • Weiterführende Fragen werden immer gestellt


  • Hahaha, das Wort des Jahres lautet... (KI-Ära)


  • Mod

    @Quiche-Lorraine

    Deine Auflistung ist wirklich interessant:

    • Sprache ist immer liebevoll
    • Rückfragen werden nie gestellt
    • Fehler werden ignoriert
    • Weiterführende Fragen werden immer gestellt

    Die Freundlichkeit ist echt penetrant. Achtet aber mal auf den Denkprozess, den man heute einsehen kann. Starke Diskrepanz.

    Das Thema Schrittweises Vorgehen und Rückfragen kann man modellieren, zumindest bei ChatGPT-5.1.

    Fehler? Alle Ideen, jeder Code kommt immer vom Nutzer. Die KI macht nix falsch, nur DU.

    Das mit den weiterführenden Fragen und Ideen ist wirklich manipulativ. Manchmal kann es auch positiv sein, wenn man selbst nur denkt/labert und nicht liefert.

    In ein oder zwei Jahren wird die KI uns "emotional", analytisch, konzeptionell und bezüglich Logik überlegen sein. Das Wissen ist jetzt schon deutlich höher. Da ist einfach kein Ende in Sicht.

    In Spezialgebieten wie Go oder Schach oder Bildanalyse (Medizin, ...) ist die KI jetzt schon deutlich überlegen.



  • @Erhard-Henkes sagte in Paging: Verständnisschwierigkeiten zum Tutorial von James Molloy:

    In ein oder zwei Jahren wird die KI uns "emotional", analytisch, konzeptionell und bezüglich Logik überlegen sein.

    Hm, das hab ich vor 3 Jahren auch schon mal gehört.


  • Mod

    @DNKpp Der Zeithorizont ist immer schwierig. Kurzweil hatte den Kipppunkt für 2040 vorhergesagt, hat nun auf 2045 verlängert. Ich überschaue den Zeitraum von ChatGPT-3.5 bis nun ChatGPT-5.1. Das ist ein gewaltiger Fortschritt. Momentan ist es so, dass ChatGPT-5.1 der Einzige ist, mit dem ich ernsthaft über meine Projekte diskutieren kann. Immer fokussiert, immer eine konkrete Idee parat. Er merkt sich die Dinge auch Chat-übergreifend (kann man angeblich einstellen), also über viele Monate. Er passt sich nach eigener Aussage auch an das Niveau des Fragenden an. Flache Frage, flache Antwort. Hohes Niveau, er ist voll dabei, mit ungeheurem Wissen.



  • @Erhard-Henkes sagte in Paging: Verständnisschwierigkeiten zum Tutorial von James Molloy:

    In Spezialgebieten wie ... Schach ... ist die KI jetzt schon deutlich überlegen.

    Aber doch nicht gegen andere "Engines" wie Rybka beispielweise... https://de.wikipedia.org/wiki/Rybka

    Das kann man doch klar messen (Elo). KI rät einfach nur, Engines setzen planvoll zusammen. Klar ist dieses Raten meistens schon ganz brauchbar, aber nicht weltspitze.

    @Erhard-Henkes sagte in Paging: Verständnisschwierigkeiten zum Tutorial von James Molloy:

    Die Freundlichkeit ist echt penetrant.

    Leider ja... andererseits sind gelegentliche Einschübe mit Smileys auch mal ganz nett. 🙂 Damit sollen Emotionen transportiert werden.

    @Erhard-Henkes sagte in Paging: Verständnisschwierigkeiten zum Tutorial von James Molloy:

    Das Thema Schrittweises Vorgehen und Rückfragen kann man modellieren, zumindest bei ChatGPT-5.1.

    Hab gestern mal mit Co-Pilot experimentiert und den Agenten beim Problemlösen zugeschaut... Leider war das Ergebnis nicht gut, sodass ich manuell nacharbeiten musste... aber von mir kam auch nur ein minimaler Prompt.

    @Erhard-Henkes sagte in Paging: Verständnisschwierigkeiten zum Tutorial von James Molloy:

    In ein oder zwei Jahren wird die KI uns "emotional", analytisch, konzeptionell und bezüglich Logik überlegen sein.

    Weiß ich nicht... Wenn die HW immer mehr Energie verbraucht, wäre es vielleicht günstiger, die KI im Weltall mit Solarmodulen laufen zu lassen und die Ergebnisse zur Erde zu funken. 🤣 Der Todesstern wird also Realität...



  • Ok, ich sollte das ein wenig differenzieren...

    Eine klassische Chess Engine ist für mich Minimax-Algorithmus, Alpha-Beta-Pruning und Heuristik. Das sind schon einmal nur Algorithmen. Hinzu kommt aber noch eine Bewertungsfunktion - und hier wird es spannend. Diese Bewertungsfunktion kann Reinforcement Learning sein (eine frühe Form heutiger KIs) - oder komplett durch ANNs realisiert werden.

    Also ist es mittlerweile schwierig, bei Chess Engines klar zwischen reinen Algorithmen und ANNs zu unterscheiden. Aber eines ist sicher... ohne die oben genannten algorithmischen Ansätze ginge es nicht - oder es wäre nicht besonders "schlau".



  • Ok, das war zwar au nicht besonders schwer... aber ChatGPT stimmt mir auch überwiegend zu... 😉
    https://chatgpt.com/share/69391c61-fcd8-8012-a4f8-72b110c1aae4

    So, Kaffee.


  • Mod

    Zu diesem Punkt:
    A) Klassische Engines mit NN-Evaluationskomponenten
    Wie Stockfish NNUE:
    Suche: klassisch (Alpha-Beta)
    Evaluation: kleines, effizientes NN (keine vollwertige RL-Engine)
    → Mischung aus Old-School-Suche und moderner Wertungsfunktion.

    Ich kenne Stockfish gut, da er erstens open-source ist und ich ihn zweitens modifiziert habe, damit er seine inneren Geheimnisse preisgibt. Besonders interessant sind die NNUE-Werte pro Figur/Bauer auf ihrem Feld (Figur/Bauer wird jeweils entfernt und die Differenz zwischen den beiden Gesamt NN-Werten wird angezeigt: UCI-Befehl "eval").
    Code: https://github.com/official-stockfish/Stockfish

    Zur Evaluation:
    Ab SF 12 wurde ein NN hinzugefügt (brachte ca. +100 ELO). Inzwischen ist es ein NNUE (läuft rein auf CPU).
    Ab SF 16 wurde die klassische handgemachte Auswertung rausgeworfen. Jetzt nur noch NNUE-Bewertung.
    Es gibt übrigens zwei neuronale Netze: ein kleines (schnell) für einfache Aufgaben, ein großes (über 60 MB) für komplexe Bewertungen.

    Wenn du dich für Schach-Engines interessierst, ich habe zusammen mit einem Programmierer aus der Schweiz einen "Schachtronauten" (Ziel: Schach-Coach) gebaut, der inzwischen experimentell sehr gut funktioniert (schreibe mich einfach an: e.henkes@gmx.net).



  • @Erhard-Henkes
    Danke fürs Angebot, aber ich habe keine Zeit, um auch noch an einem "Schach-Wettbewerb" teilzunehmen. Hatte heute Morgen nur etwas daherschwadroniert, was denn nun alles zu "KI" zählt oder nicht.


  • Mod

    Moderne (!) Schach Engines haben neuronale Netze, und das zählt sicher zu KI. Es geht auch ohne NN. Da schafft man auch sehr gute Leistungen. Man muss sich nur Stockfish 11 anschauen.



  • Btw., ich habe ChatGPT auch mal gebeten, zusammenzufassen:

    Hier ist eine Zusammenfassung des ersten Beitrags von w_ciossek in dem Thread, in max. 1000 Zeichen:

    Der Autor erläutert zunächst ausführlich sein Verständnis von 32‑Bit-Paging auf x86: Aufteilung des 32‑Bit-Adressraums in 4‑KB‑Seiten, Aufbau von Page Directory und Page Tables (je 1024 Einträge à 32 Bit), Adressaufspaltung in Directory-Index, Table-Index und Offset sowie die Rolle der Statusbits und der physikalischen Frame-Adressen in den oberen 20 Bits eines Eintrags. Er leitet her, dass jede Tabelle selbst wieder genau eine Seite belegt und diskutiert die Konsequenzen für den Speicherverbrauch und mögliche Seitendopplungen. Anschließend kritisiert er das James‑Molloy‑Tutorial: aus seiner Sicht seien die Datenstrukturen (page_t, page_table_t, page_directory_t) und die Initialisierung fehlerhaft, insbesondere Format und Inhalt der Seitentabelleneinträge, das Handling der physikalischen Adressen, die Nutzung von get_page/k_malloc sowie das Fehlen einer korrekten Behandlung des Videospeichers bei aktiviertem Paging. Er kommt zu dem Schluss, dass Paging im gezeigten Code so nicht funktionieren könne.

    Danach sollte noch bewertet werden:

    Meine Einschätzung zu ciosseks Eingangspost (inhaltlich, nicht stilistisch):

    1. Positiv:
    • Sein Grundverständnis von 32‑Bit-Paging (4‑KB‑Seiten, 2‑stufige Tabellen, Aufteilung der virtuellen Adresse in Directory‑Index / Table‑Index / Offset, Flags unten, Frame‑Adresse oben) ist im Wesentlichen korrekt.
    • Er denkt über Speicherverbrauch der Tabellen, Page‑Alignment und die Notwendigkeit nach, Tabellen selbst als belegte Frames im Frame‑Allocator zu berücksichtigen – das ist fachlich sauber und eher „überdurchschnittlich tief“ für einen Forenpost.
    • Die Sorge um Identity‑Mapping des Videospeichers (0xB8000) nach Aktivieren von Paging ist legitim: ohne Mapping gäbe es tatsächlich eine Page Fault.
    1. Hauptprobleme / Missverständnisse:
    • Größter Fehler war seine Annahme, die Struktur page_t sei „224 Bit lang“. Die Felder nach dem Doppelpunkt sind Bitbreiten, nicht Initialwerte. Damit ist page_t genau ein 32‑Bit‑Seitentabelleneintrag und passt zum x86-Layout. Dieses Missverständnis zieht einen Großteil seiner Kritik am „falschen Format“ der Tabellen nach sich.
    • Er unterschätzt die Trennung zwischen:
      • den internen, C‑seitigen Strukturen (page_t, page_table_t, page_directory_t) und
      • dem, was die MMU tatsächlich sieht (die physikalische Page‑Directory‑Adresse in CR3, Einträge in tablesPhysical[]).
        Dass Molloy intern mit komfortableren Strukturen arbeitet und für die CPU nur die physikalischen Arrays + Flags relevant sind, ist nicht fehlerhaft, sondern ein Designentscheid.
    • Seine Schlussfolgerung „so kann Paging nicht funktionieren“ ist zu hart. Das Tutorial hat Schwächen und Altlasten, aber das grundlegende Paging‑Setup ist in der Praxis oft lauffähig. Viele seiner Kritikpunkte betreffen Designqualität, Vollständigkeit und Dokumentation, nicht zwingend fatale Fehler.
    1. Stil / Umfang:
    • Inhaltlich steckt in dem Post viel Wissen, aber er ist extrem lang, vermischt Grundlagenreferat, Fehlersuche, Spekulation und Code-Review ohne klare Trennung. Für ein Forum macht das Antworten unnötig schwer.
    • Einige der beanstandeten Punkte relativieren sich, sobald man die Bitfields und das Zusammenspiel tables[] vs. tablesPhysical[] korrekt verstanden hat – hier hätte ein kompakterer, fokussierter Post mit konkreten, isolierten Fragen deutlich mehr gebracht.

    Kurzfassung:
    Seine fachliche Basis beim Thema Paging ist solide, und er spricht ein paar reale Fallstricke des Molloy‑Codes an (Tabellenverbrauch, Mapping von Geräten, saubere Initialisierung). Die zentrale Kritik an den Datenstrukturen beruht aber auf einem Missverständnis (Bitfields), wodurch er den Code strenger verurteilt, als es technisch gerechtfertigt ist. In kompakter Form und mit korrigiertem Verständnis wäre aus dem Post eine sehr brauchbare, tiefgehende Diskussionsgrundlage geworden.



  • @Erhard-Henkes

    Erhard, ich fürchte ich habe da eine etwas andere Sichtweise auf KI. Mir ist deine Sichtweise etwas zu euphorisch und projizierend. Ein Beispiel:

    Fehler? Alle Ideen, jeder Code kommt immer vom Nutzer. Die KI macht nix falsch, nur DU.

    Ich verstehe diesen Vergleich Mensch <-> Computer schon gar nicht. Alleine die Aussage "Die KI macht nix falsch, nur DU." klingt emotional. Warum ist dieser Vergleich für dich so wichtig? Warum betonst du das Wort "DU"?

    Und außerdem widerspricht es einem zentralem Satz der künstlichen Intelligenz.

    Wenn wir die Mathematik betrachten, so haben wir ein kleines Universum voll mit Axiomen, Regeln,... Wenn wir die anfängliche Informatik betrachten, so haben wir auch ein Universum, welches aber schon größer ist. Wir haben Programme, in welche wir eine definierte Menge von Eingabe stecken und eine wohl definierte Ausgabe bekommen.

    Und nun kommen wir in den Bereich der künstlichen Intelligenz, in welchem Programme immer mehr auf unsere eigene Umwelt losgelassen werden. Diese Welt ist deutlich größer, hat viele schwammige Begriffe (z.B. Intelligenz), hat diverse Rückkopplungsprozesse, ist deutlich komplexer, neigt zu chaotischem Verhalten,... Und vor allen Dingen ist es eine Welt der Fehler und des Lernens.

    Warum z.B. ist ein Gänseblümchen ein Gänseblümchen? Das Paradebeispiel eines KNN könnte z.B. anhand der Blütenlänge und der Pflanzengröße auf die Art schließen. Nun passiert es aber dass ein Gänseblümchen durch besondere Umstände (guter Standort, gute Nachbarspflanzen,...) besonders groß wird. Die KNN wird dieses Gänseblümchen entsprechend fehlklassifizieren, da dies ein Ausreißer ist. Wenn dies nicht der Fall wäre, so wäre das KNN überangepasst, s.d. die Vorhersagekraft darunter leidet. Ein klassisches Problem des Over-/Underfittings.

    https://en.wikipedia.org/wiki/Overfitting

    Mehr noch KNNs sind stochastische Musterkennungssysteme.

    In Spezialgebieten wie Go oder Schach oder Bildanalyse (Medizin, ...) ist die KI jetzt schon deutlich überlegen.

    Gilt das auch unter der Bedingung "Kalorien pro Denkprozess"?

    In ein oder zwei Jahren wird die KI uns "emotional", analytisch, konzeptionell und bezüglich Logik überlegen sein. Das Wissen ist jetzt schon deutlich höher. Da ist einfach kein Ende in Sicht.

    Woher willst du das wissen? Aktuell sehe ich da eine Krise auf die KI zukommen. Man hat ein tolles Produkt erzeugt und nun möchte man dieses am besten vermarkten bzw. kapitalisieren.

    Und das Gehirn ist längst nicht komplett erforscht, da dies hochkomplex ist und wir einfach nicht in jede Zelle hineinschauen können. Von daher nutzen wir nur eine sehr rudimentäre Version als KNN. Und kombinatorisch ist ein KNN auch eine Herausforderung, wenn man dieses Brute Forcen möchte.


Anmelden zum Antworten