From owner-freebsd-questions@FreeBSD.ORG Fri Nov 30 14:58:07 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 21884578 for ; Fri, 30 Nov 2012 14:58:07 +0000 (UTC) (envelope-from kazakevichilya@gmail.com) Received: from mail-ob0-f182.google.com (mail-ob0-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id CADCE8FC08 for ; Fri, 30 Nov 2012 14:58:06 +0000 (UTC) Received: by mail-ob0-f182.google.com with SMTP id 16so641072obc.13 for ; Fri, 30 Nov 2012 06:58:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=bLEzJjvH7Bk/j+7ps6GKJ9ELiANvhY9xhPm+b4/PXio=; b=M0ndvLRtPNotUEYIABXxSLK67f18YubGZPQOjmtCErgwdcsSCm+BSLo1FBDcafn6sP ytdHYYm1Zk4B0tBumPl/HBcYqg83QfPMBvlPB+UXsdiGc6j2G1k74DYZQnscXthZO8uR GL2suaXwhjeyHIDXURkZd6LcKao5oPRkOJnQKBnDI8XEF4VMS0gpUCZOwC0c9I7L/C9L 3zqr5oPeH0TT+ZpdkTiYraTI+Kzg4qssfXc2C8HuXx+0wRk3p8G3SiSmpdVomoicEThp P6px/LuPfLpdl0aPAzEqBWpbejG7xLGoNw/ZNUpcgkjK2auTgj/nX2893CcKZF/VRCw7 c3Eg== MIME-Version: 1.0 Received: by 10.60.3.1 with SMTP id 1mr1124535oey.138.1354287486272; Fri, 30 Nov 2012 06:58:06 -0800 (PST) Received: by 10.60.38.104 with HTTP; Fri, 30 Nov 2012 06:58:06 -0800 (PST) In-Reply-To: <30.96.29719.275C8B05@smtp01.insight.synacor.com> References: <30.96.29719.275C8B05@smtp01.insight.synacor.com> Date: Fri, 30 Nov 2012 18:58:06 +0400 Message-ID: Subject: Re: i386 vs amd64 From: Ilya Kazakevich To: Thomas Mueller Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Nov 2012 14:58:07 -0000 > 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.