Linux User Space Memory Layout