[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 64-Bit-Kernel mit gemischtem Userland?



Hallo,

Michael Schuerig <michael@schuerig.de>:

>Dann habe ich wohl Pech gehabt und werde sehen, wie weit ich mit 32-Bit 
>komme.

>Das ist für mich gar nicht relevant, mir geht es vorrangig darum, ein 
>wenig Assembler zu spielen.

Dann sollte es reichen, auf einem Debian/i386 System die Pakete
libc6-dev-amd64 und seine Abhängigkeiten und natürlich den amd64
Kernel zu installieren. Danach kann man mit gcc -m64 ... einfache
dynamisch gelinkte amd64 Binaries erstellen.

>Wo kommt denn die 2 GB-Grenze für die Prozessgröße her? Ich denke, Linux 
>teilt den virtuellen Speicher 3 : 1 (Prozess : Kernel) auf, demnach 
>müsste ein Prozess doch 3 GB adressieren können, wobei darin auch der 
>Binärcode des Programms selbst und von shared libs unterkommen muss.

Du hast recht, auf den meisten Systemen sind es 3 GB Adressräume. Es
gibt aber auch die Möglichkeit einer 2:2 oder sogar 1:3 Aufteilung,
wobei ich letztere in freier Wildbahn noch nie gesehen habe. Beim
Kernel 2.4 war aber 2:2 durchaus verbreitet, um bei Systemen mit 2 GB
RAM auf die HIGHMEM Erweiterungen verzichten zu können. Diese haben
bei 2.4 noch spürbar Performance gekostet. Seit Kernel 2.6 ist das
allerdings kein Thema mehr.

Gruß, Harald


Reply to: