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: