Developing GNOME Applications with Java (Linux Journal)
Developing GNOME Applications with Java (Linux Journal)
Posted May 29, 2005 7:37 UTC (Sun) by peterh (subscriber, #4225)In reply to: Developing GNOME Applications with Java (Linux Journal) by mepr
Parent article: Developing GNOME Applications with Java (Linux Journal)
You appear to be confusing virtual address space with physical address space.
It is irrelevant how much memory a computer has, or its location in the physical memory map. Address space randomization techniques work by randomizing the base virtual addresses of a program's segments, making it difficult for an attacker to guess the correct location of the program's code and data segments in the virtual address space. This can be done freely on just about any CPU with an MMU (although CPUs with a larger virtual address space naturally have more possible locations that can be used, irrespective of the size of physical memory).
Note that it is completely irrelevant (beyond a point) how much physical memory is installed and its configuration. These details are only known to the CPU and kernel, not to userspace programs. In fact, one of the main jobs of the kernel is to abstract these details from userspace. I don't know of any technical obstacle to using address space randomization on, say, an 80386 with 4Mb of RAM -- you still have 4Gb of virtual address space to play with on a 32 bit machine (actually 2Gb for userspace, but that's another story).
Take a look at a basic operating systems textbook (eg. Tanenbaum 'Modern Operating Systems') if you want more details.
