Skip site navigation (1)Skip section navigation (2)
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&section=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>