Das stimmt zwar schon, es geht aber nicht nur um die unterschiedliche Größe des Adressraumes, sondern auch um Erweiterungen des Befehlssatzes. Es kann daher sein, dass ein 32-Bit-Programm zwar auf allen 64-Bit-Prozessoren (im 32-Bit-Modus) läuft, aber nicht auf den klassischen 32-Bit-Prozessoren.
Und gerade beim Kernel reicht es eben nicht nur, den Compiler richtig einzustellen, man muss auch architekturspezifischen Maschinencode schreiben und diesen testen. Wenn man einen Treiber schreibt, braucht man reale Hardware, um diesen zu testen, natürlich kann man auch einen Dummy nehmen, aber dann hat man eine zusätzliche Fehlerquelle.
Das stimmt zwar schon, es geht aber nicht nur um die unterschiedliche Größe des Adressraumes, sondern auch um Erweiterungen des Befehlssatzes. Es kann daher sein, dass ein 32-Bit-Programm zwar auf allen 64-Bit-Prozessoren (im 32-Bit-Modus) läuft, aber nicht auf den klassischen 32-Bit-Prozessoren.
Und gerade beim Kernel reicht es eben nicht nur, den Compiler richtig einzustellen, man muss auch architekturspezifischen Maschinencode schreiben und diesen testen. Wenn man einen Treiber schreibt, braucht man reale Hardware, um diesen zu testen, natürlich kann man auch einen Dummy nehmen, aber dann hat man eine zusätzliche Fehlerquelle.