Das Ende von 32-bits

Mit Windows 95 wurde das 32-bit Zeitalter im PC Bereich eingeläutet, obwohl es schon länger da war. Und mit Windows 11 wird diese Glocke nun schrittweise abmontiert.

Solche Schritte sind logisch, haben aber dennoch einige Konsequenzen.


Der Übergang von 16-bit zu 32-bit war eigentlich relativ schnell abgeschlossen. Während im Jahr 1995 noch weiter Software für die 16-bit Welt entwickelt wurde, war im Jahr 2000 bereits so gut wie alles verschwunden. Außerdem fand in unseren Breiten die Büro-Digitalisierung gefühlt erst kurz vor dem Jahr 2000 statt.

Linux war nie auf 16-bit Systemen lauffähig und musste sich daher auch nie um einen solchen Migrationspfad kümmern.
Und was Windows anbelangt, so war die 16-Bit API eher ein Alptraum und wurde mit dem Wechsel zu 32-Bit besser und stabiler … wenn gleich auch nicht gerade übersichtlicher.

Doch bereits in den Jahren 2003/2004 kam mit AMD64 die echte 64-bit Einführung, die Intel mit IA64 (Itanium) schwer verbockt hatte.
Das war übrigens die große Chance für Linux, dessen Entwicklerteam sofort an der 64-Bit Portierung arbeitete und zügig erste Demos anbot.
Microsoft braucht bis ins Jahr 2005 um mit Windows Server 2003-x64 ein alltagstaugliches Produkt einzuführen und Visual Studio 2005 für die Entwicklung bereitzustellen.

Glaube: 64-Bit braucht keiner

Wenn man von Server-Anwendungen wie großen Datenbanken ansieht, lohnte es sich für Entwickler überhaupt nicht, 64-Bit Kompilate herzustellen.
Denn etwa bis ins Jahr 2014 wurden reine Intel-32 Prozessoren hergestellt, die den 64-Bit-Befehlssatz nicht ausführen konnten und daher zwingend mit 32-Bit Software betrieben werden mussten.

Man musste also entweder zwei Varianten der eigenen Software bereitstellen und pflegen, oder man blieb bei 32-Bits und vertraute auf Microsofts Kompatibilität, die allen 32-Bit Programmen gestattete, auch auf allen X64 Betriebssystemen zu laufen.
Selbst die Tatsache, dass Windows Server seit 2008R2 gar keine 64-bit Variante mehr besaß, konnte den Desktop Markt nur langsam beeinflussen.

Auch alle Linux Distributionen lieferten 32-Bit Bibliotheken in den 64-Bit Varianten mit aus, um die Ausführung älterer Software zu gewährleisten. Gleichsam war Linux durch die Distributoren meist von Anfang an auf dem neuen X64 Stand, da hier nicht die originalen Entwickler, sondern die Distributoren die finalen Programme zusammen kompilierten.

Ich glaube sowohl bei Debian wie auch OpenSuse damals gelesen zu haben, dass man 32-bit Varianten nur dann nehmen soll, wenn man nicht weiß, was die eigene CPU kann … was bei Linux-Fans selten der fall war.

Das Ende der X86 Netbooks und Tablets

Die ersten Windows Tablets nach 2010 waren meist 32-bittig und kamen mit 1 GB RAM auf den Markt, stiegen dann auf 2 GB. Jetzt kann man zwar ein Windows (8 oder 10) noch mit 2 GB RAM betreiben, aber effektiv nutzen kann man es nicht. Besonders Webanwendungen sind dafür heute viel zu komplex.
Und als Intel aufhörte, 32-bit-only-Prozessoren zu bauen, und jedes System mit einem 64-Bit OS ausgestattet war, begann langsam die Erkenntnis umzugreifen, dass neue Apps nur noch 64-Bit sein müssen.

Am Ende war und ist es Windows 11, dass uns jetzt gar keine Möglichkeit mehr lässt, auf einer only-32-bit Plattform laufen zu können.

32-Bit Kompatibilität schwindet.

Windows wird vermutlich noch lange den 32-Bit Layer mitführen und alle alten Programme damit betreiben können, doch bereits seit Windows Embedded 7 kann man das 32-bit WOW (Windows on Windows) Subsystem entfernen. Auch WinPE kennt keine Kompatibilität und führt nur “sein” Binary-Format aus.

Unter Linux sieht die Sache ähnlich aus, wenn man an Docker denkt.
Niemand stellt hier ein 32-Bit Image bereit (außer es ist ein ARM-32-bit Image für den Raspberry PI).

Das führt nun dazu, dass neue Software generell nur noch für 64-Bit Systeme kompiliert wird.
Im Fall von Windows finden wir heute zwar immer noch 32-bit Kompilate vor, doch auch hier setzte die Trendumkehr schon vor Jahren ein.
Bitcoin-Core ist seit 8 Jahren 64-bit-only und Ähnliches ist auch für andere Produkte wahr.

Am Extremsten war das aber bei den Treibern zu beobachten. Die aktuellen Treiber für Intel-Grafik-Chips liegen auch seit 2018 nur noch als 64-Bit Varianten vor. Man könnte die zwar auf 32-Bit portieren, doch das tut einfach niemand mehr.

Fazit

Ich verbinde mit 32-Bits einfach viel Nostalgie und finde es Schade, dass nicht beide Bitbreiten parallel weiterexistieren können. Doch rein rational war der Schritt weg von 32-Bits hin zu 64-bits mehr als überfällig.

Hier haben dotNET und JAVA Entwickler einen riesigen Vorteil, denn dort kümmern sich ihre Laufzeitumgebungen darum, dass Code automatisch zur neuersten Variante hochkompiliert wird.

Doch für die native Entwicklung bedeutet das, dass wir entweder schon umgestellt sind, oder sofort mit der 64-Bit Umstellung starten müssen.

📧 📋 🐘 | 🔔
 

Meine Dokus über:
 
Weitere externe Links zu:
Alle extern verlinkten Webseiten stehen nicht in Zusammenhang mit opengate.at.
Für deren Inhalt wird keine Haftung übernommen.



Wenn sich eine triviale Erkenntnis mit Dummheit in der Interpretation paart, dann gibt es in der Regel Kollateralschäden in der Anwendung.
frei zitiert nach A. Van der Bellen
... also dann paaren wir mal eine komplexe Erkenntnis mit Klugheit in der Interpretation!