Eduard Bloch <[EMAIL PROTECTED]> writes:
> > 2.2.x zu 2.2.x+1 sich nicht die Bin�rschnittstelle �ndert -- es wird eben nur
> > nach besten M�glichkeiten versucht darauf zu achten, dass sich nicht die
> > Sourceschnittstelle �ndert, um bin�rkompatibilit�t k�mmert sich kein
> > Kernel-Hacker (oder zumindest so gut wie keiner).
>
> Dann erkl�r uns doch bitte, oh grosser Kernel-Meister, was du denn genau
> unter der bin�ren Kompabilit�t verstehst!
Bin�rkompatibilt�t meint hier eine fest definierte ABI, die sich nicht �ndert
oder zumindest nur bei Wechsel der Hauptversion, also 2.2 zu 2.4 etc.
Schau dir C++ an, dann wei�t du, was ich meine. ISO-C++ bietet auch nur
Quelltextkompatibilit�t und keine Bin�rkompatibilit�t, daher gibt es auch den
st�ndigen �rger mit shared libraries, die in C++ geschrieben sind. Nimm eine
andere Compilerversion oder gar einen ganz anderen Compiler (f�r einen Teil
des Programms, die shared library soll nicht neu compiliert werden) und das
war's, da schon das Namemangling unterschiedlich ist, von anderen Details mal
ganz zu schweigen.
Und das passiert auch im Kernel. Da k�nnen Details im Speicherlayout mal
ge�ndert werden, so dass zwar bei einer Neucompilierung noch alles
funktioniert, aber eben keine Bin�rkompatibilit�t vorhanden ist.
Nimm Netscape mal als Gegenbeispiel. Die Plugin-Schnittstelle hat ein festes
ABI, ist also mithin bin�rkompatibel, d.h. du kannst alte Plugins auch mit
neueren Netscape-Versionen benutzen und sogar umgekehrt neue Plugins mit
�lteren Netscape-Versionen. Man muss nicht Netscape und Plugin passend
f�reinander compilieren.
Bin�rkompatibilit�t hat nat�rlich auch Nachteile. Man muss eben eine feste ABI
pflegen und kann somit z.B. nicht mal eben das Speicherlayout von
Datenstrukturen �ndern, obwohl man festgestellt hat, das das neue Layout
Platz/Zeit spart etc. Wichtig war den Kernel-Entwicklern aber wohl auch, dass
man so Treiberentwickler eher dazu bringen kann, den Treiber im Quelltext zu
ver�ffentlichen.
Der Nachteil einer fehlenden ABI ist halt, dass die Benutzerseite schwieriger
wird, denn ich kann eben nicht ein fertiges Treibermodul einfach ins passende
Verzeichnis schmei�en und gut ist. Ich muss also i.d.R. den Treiber selber
compilieren (soweit m�glich). Hersteller k�nnen eben nicht einfach eine
fertige Treiberdatei bereitstellen (unabh�ngig davon, ob der Quelltext frei
zug�nglich ist oder nicht). Dadurch wird der einfache Einsatz auf dem Desktop
f�r Privatleute erschwert.
Man muss halt die Vor- und Nachteile einer fehlenden ABI abw�gen und die
Entscheidung ist schon vor langer Zeit gefallen.
--
Until the next mail...,
Stefan.
--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an [EMAIL PROTECTED] die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: [EMAIL PROTECTED]
-----------------------------------------------------------
827 eingetragene Mitglieder in dieser Liste.