PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux-Parametrisierung vs. BSD



Thomas Engelke
29-06-2005, 19:47
Hallo!

Ich suche nach Quellen, in denen ich die Vor- und Nachteile der beiden Möglichkeiten der Parameterübergabe erfahren kann. Linux packt ja alle Parameter in Register. Dadurch wird's manchmal sicherlich etwas eng. BSD dagegen packt alle auf den Stack und nutzt dann den Systemcall. Hat jemand da Informationsquellen?

Danke!

TME

peschmae
29-06-2005, 20:19
Nicht das ich dir helfen könnte - aber von welchen Parametern sprichst du?

MfG Peschmä

Thomas Engelke
29-06-2005, 20:38
Hallo Peschmae!

Danke für die Antwort. Ich spreche über Systemcalls. Parameter für Linux-Systemcalls liegen alle in Registern, was die Parameteranzahl begrenzt und manchmal sicherlich zu komischen Effekten führt (Pointer auf User-Struct in eax). BSD dagegen legt diese der Reihe nach auf dem Stack ab.

Wie ich dazu kam: Ich las heute auf zotteljedi.de (http://www.zotteljedi.de) über Buffer Overflows. Dort wurde der Kram für BSD beschrieben, sollte jedoch auf Linux anpaßbar sein. Klar ist es auch. Aber im Zuge dessen interessierten mich mal Vor- und Nachteile beider "Philosophien".

TME

r00t043
29-06-2005, 20:43
Hallo!
[...]Linux packt ja alle Parameter in Register. Dadurch wird's manchmal sicherlich etwas eng.[...]
Nope, was nicht rein passt kommt auch auf den Stack. Weitere Informationsquellen wuesste ich aber auch nicht.