Vova wrote:
OK, but we can use segmentation to separate address space, and use paging to implement virtual memory. This will give better control about privileges, for example we can implement non-executable stack, wich will break many buffer overflow attacks. And we can avoid long relocation process wich slow down program startup. For C++ program this is very actual.
Are you suggesting that program code should be stored in segments, and program data should be stored in pages?
Surely that would prevent code segments from being paged to disk, adding some overhead to the overall process (and increasing physical memory usage)?
Could you explain (or point me to a resource) about this relocation process? I have not heard this argument before.
Thanks
Daniel
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/