Sponsored Content
Full Discussion: 32bit Linux vs 64 bit Linux
Operating Systems Linux Red Hat 32bit Linux vs 64 bit Linux Post 302318958 by robsonde on Saturday 23rd of May 2009 12:51:23 AM
Old 05-23-2009
Any 32 bit OS will only see / use 3.5GB of RAM.

Remember that in the absence of the 64 bit support, the OS memory manager is limited to a 4GB physical address space. Most of that address space is filled with RAM, but not all of it. Memory-mapped devices (such as your video card) will use some of that physical address space, as will the BIOS ROMs. After all the non-memory devices have had their say, there will be less than 4GB of address space available for RAM below the 4GB physical address boundary.

the motherboard assigned the ROMs and the hardware devices to the physical address space between 3.5GB and 4GB (occupying about 0.5GB of address space). When you start plugging in your memory chips, then, they are assigned physical addresses starting at the bottom, and then skip over the address space that has already been assigned to the hardware and ROM, then resume.

On this imaginary system, then, the 0.5GB of address space used for hardware and ROMs causes that much memory to get shoved upwards, and it ends up above the 4GB boundary. Without 64 bit support, the processor is capable only of addressing memory below the 4GB boundary, which means that the memory above that boundary is inaccessible. It's consuming electricity but isn't doing anything.

The solution is to go to 64-bit OS so that the processor can access the physical address space above the 4GB boundary.

So why don't we just map the ROMs and the hardware devices to space above 4GB??
then the CPU can't access the IO devices so you have system with 4GB of RAM and no video card......

any questions??
 

8 More Discussions You Might Find Interesting

1. Linux

Linux 32bit or 64bit

Hi, I want to know what is command to know which will tell wheather linux is 32 or 64 bit (5 Replies)
Discussion started by: manoj.solaris
5 Replies

2. Linux

Linux version v.s. 32bit/64bit

Where can I get a list that maps the each Linux version to corresponding 32/64 bits model? e.g. OS -> Model (ILP32, LP64, ...) RHLE3 -> ? RHLE4 -> ? RHLE5 -> ? ... It would be better if there is such a list that contains most of current UNIX OS versions. ... (1 Reply)
Discussion started by: princelinux
1 Replies

3. Gentoo

compiling 32 bit application on 64 bit linux(x86_64)

hi all, i have a 64 bit linux machine. $uname -a Linux SVRDELLD30 2.6.9-42.ELsmp #1 SMP Tue Aug 15 10:35:26 BST 2006 x86_64 x86_64 x86_64 GNU/Linux here by default gcc creates 64 bit executable. but for some reason i want to create 32bit executable. first i want to create 32 bit object... (3 Replies)
Discussion started by: uttamhoode
3 Replies

4. Red Hat

boot the 32 bit kernel on a 64 bit PPC Linux machine?

Hi all, I'm looking to cover a corner case for an upcoming test cycle. Is there a way to boot a RedHat Advanced Server 4 (update 3) installed on a Power PC machine to use a 32 bit kernel? This would be similar to what is done here -> https://www.unix.com/aix/26204-aix-platform.html I've done... (0 Replies)
Discussion started by: philrau
0 Replies

5. Solaris

32bit or 64 bit

Not really a Unix question as such :o, but what advantages or disadvantages are there between using 32bit or 64bit applications on a T5220 running Solaris 10? What about mixing them e.g. 64 bit app using 32 bit libraries or vice versa? (1 Reply)
Discussion started by: JerryHone
1 Replies

6. UNIX for Advanced & Expert Users

migrating unix mp-ras 32 bit to linux suse 64 bit

Hi. I need to migrate the whole unix environment from a Unix mp-ras 32 bit to a Linux Suse 64 bit. 1) can i use cpio to copy the data? 2) can i just copy the users from unix to linux or do i have to create them by hand 3) are there any other concerns i should worry about? thanx (1 Reply)
Discussion started by: mrodrig
1 Replies

7. Linux

Need assistance to enable more that 4GB RAM on Linux 32Bit OS.

How to enable more than 4GB RAM support on Linux 32bit OS? OS: CentOS release 5.4 (Final) Kernel version: 2.6.18-53.el5 Arch: 32Bit I got solution at Innovationframes.com • View topic - How to enable more than 4GB RAM support on Linux 32bit OS? but my question is the steps given... (5 Replies)
Discussion started by: chandranjoy
5 Replies

8. High Performance Computing

AVX for Linux (32-bit)

For Intel processors we've a lot of new instruction sets (AVX and AVX2 already exists, AVX512 is announced). Therefore an application has to check during run time which instruction sets are available. I've written for that purpopse some procedures, which are callable from C or C++. A strange... (2 Replies)
Discussion started by: GG2014
2 Replies
KSEG_TO_PHYS(9r)														  KSEG_TO_PHYS(9r)

NAME
KSEG_TO_PHYS - General: Converts a kernel-unmapped virtual address to a physical address SYNOPSIS
vm_offset_t KSEG_TO_PHYS( vm_offset_t addr ); ARGUMENTS
Specifies the buffer virtual address to convert to a physical address. DESCRIPTION
The KSEG_TO_PHYS routine converts a kernel-unmapped virtual address to a kernel physical address. Device drivers can use this physical address in DMA operations. Prior to calling KSEG_TO_PHYS, device driver writers often call one of the following routines to determine whether the address passed is a virtual address in the addressed kernel segment: IS_KSEG_VA Determines if the specified address is located in the kernel-unmapped address space. IS_SEG0_VA Determines if the specified address is located in the user-mapped address space. IS_SEG1_VA Determines if the specified address is located in the kernel-mapped address space. RETURN VALUES
Upon successful completion, KSEG_TO_PHYS returns the physical address. EXAMPLE
The following code fragment shows a call to KSEG_TO_PHYS: . . . caddr_t virt_addr; [1] unsigned phys_addr; [2] . . . if(IS_KSEG_VA(virt_addr)) { [3] phys_addr = KSEG_TO_PHYS(virt_addr); [4] . . . Declares a variable to store the user buffer's virtual address. Declares a variable to store the physical address returned by KSEG_TO_PHYS. Before calling KSEG_TO_PHYS, calls IS_KSEG_VA to determine if the virtual address is from the kernel-unmapped address space. If the virtual address is from the kernel-unmapped address space, then calls KSEG_TO_PHYS to convert the address to a corresponding physi- cal address. SEE ALSO
Routines: IS_KSEG_VA(9r), PHYS_TO_KSEG(9r) KSEG_TO_PHYS(9r)
All times are GMT -4. The time now is 06:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy