Computable Minds -

RAM memory: Why if I have 4GB or more the OS detect less?

Posted on: Jul, 5th 2011
RAM memory
In this post I'm going to explain a way of waste the RAM memory instaled in the computer, which affects to a lot of users.
Since some years ago, are being sold computers with 4 or more GB of RAM, but if we use an operating system of 32 bits, it will indicate us that we are using a little less of those 4 GB. Why occurs this?

Access diagram to the RAM memory from the CPU

The memory is accesed phisically trough the address bus and the data bus. A bus is nothing more than a serie of cupper wires in the mother board to send and receive information. The address bus serves to indicate the memory cell that we are going to read or write, and the data bus to carry the information of the selected cell to the procesor. The number of lines of the address bus determines the number of cells to that we can access. For instance, if we had 32 lines, each one represent a bit and, therefore, we can access to the directions that there are from the 0 in decimal to the 2^32-1, is that to say we have 2^32=4.294.967.296 memory addresses. As the minimum information unit addressable is the byte, then we can have a maximun of 4.294.967.296 bytes, is that to say 4 Gigabytes, while if we have 64 lines, we can address 2^64 = 18.446.744.073.709.551.616 bytes that are 16 Exabytes.

Then if we have a computer with 4 GB or more and a address bus of 64 bits, why the operating system of 32 bits can't access to all the memory? The operating system between its task, have to manage something vital to the program execution called virtual memory, that implies access to the RAM memory to copy pages of memory stored in the hard disk and vice versa. To achieve those memory access, the operating system of 32 bits uses instructions of machine code of 32 bits that only can use 32 of the 64 lines that have the address bus of the machine. Therefore only can address 4 Gigabytes. Then, why if we have the necessary number of cupper lines to read 4 GB of RAM, in a operating system of 32 bits, doesn't use the whole 4 GB? The problem is that there are addresses that are reserved to access to the video memory of the graphic card (is says that the video memory is mapped in RAM memory), others, are reserved to the in and out of data of the remainder of cards and devices, also that the operating system reserves also something of address space to its own use. For that, we need an operating system of 64 bits if we want to use, in case that we have 4 GB or more, all the available RAM in our computer.

By other side, there isn't any operating system really capable to address 16 Exabytes. The limit usually are very below than that, but sufficiently high to that, actually, it isn't economically and physically viable reach it.

Comments (0): Comment


Copy and paste in your page:

How about you!? Don't give your opinion?

Replying to the next comments:

To check if you are human answer the question correctly:

I don't like this question, change it!

None of these data will be stored.

(Write the e-mail)

Required field.

(Write the e-mail or several e-mails separated by coma)

Required field.

To check if you are human answer the question correctly:

I don't like this question, change it!

Daiatron on Google+