Date: Fri, 30 Nov 2012 18:58:06 +0400 From: Ilya Kazakevich <kazakevichilya@gmail.com> To: Thomas Mueller <mueller23@insightbb.com> Cc: freebsd-questions@freebsd.org Subject: Re: i386 vs amd64 Message-ID: <CAHv=rM0vjUd6haTetUh=52R2QAnLyhvLW6S2oE_zzFKPOUHSSg@mail.gmail.com> In-Reply-To: <30.96.29719.275C8B05@smtp01.insight.synacor.com> References: <30.96.29719.275C8B05@smtp01.insight.synacor.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> How does the system know what is OS and what is 32-bit apps? > "OS" works in kernel space while application is not. PAE affects paging system allowing software to address 2^36 bytes of memory. You can access it in kernel space, but user space applications are limited to 2^32 bytes of virtual memory (even less than 2^32 because of mappings). http://en.wikipedia.org/wiki/Physical_Address_Extension If you are interested in memory management in IA-32 (and IA-32e) here are good links: 1) official guide: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html 2) nice (human-readable) book: http://mindshare.com/shop/?c=b§ion=0A6B17101710 > Where would GCC fit in this regard, or Clang for that matter? > If you write app for user-space (not kernel module) you should not care about PAE. You simply compile it as you would do it for system with out of PAE. Ilya.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHv=rM0vjUd6haTetUh=52R2QAnLyhvLW6S2oE_zzFKPOUHSSg>