How is it decades ahead of Windows?
I thought it was just a more simple OS, and Windows was more complexed.
.... 32bit Linux can see as much memory as you can throw at it, none of the artificial restrictions implemented by MS. ....................
Hi there
Not sure of how you arrive at that conclusion since you can only DIRECTLY address REAL storage of 2**32 bytes which is roughly 4GB.
(
4,294,967,296) !!
A trick (used for example by some versions of Windows 2003 server) allows for some fiddling (or "Get around") by using the concept of "Virtual Memory" -- this splits an address into to two parts -- rather like the Area code used in phone numbers and the rest.
However complex algorithms are needed to map these "Virtual addresses" to actual Real memory addresses -- sometimes a "Swap" file will be used to dump a "Users address space" - especially in a Multi User system).
So while you are "Technically" correct it's far far better on a 64 bit system to install a 64 bit OS so you can eliminate the overhead of the "Virtual Address" management. (User address space swapping however is still required if multiple users are logged on to the system concurrently).
OS internals are always complex - however you still have to obey the laws of Maths and Physics - and a 32 bit OS can only DIRECTLY address 4GB memory. (Note DIRECTLY address -- there are tricks as outlined above to address VIRTUAL memory above this range but this comes at at a price -- called OVERHEAD) .
The concept of Virtual Memory in Windows (single user systems) is rather a "Misnomer" since it's actually SWAPPING -- what the windows system tends to do if it needs more RAM than is currently available will SWAP unused chunks of memory to first a cache and then to HDD and use the freed memory for the process it wants to do.
When the memory "Swapped" out is required again the computer has to retrieve this from Disk -- you get a condition known as "Thrashing" when the computer has to spend most of its time allocating and de-allocating memory --if your HDD disk led is on almost continuously without the computer doing anything then you are experiencing this condition.
Extremely complex algorithms are required to decide what to swap out and it's NOT a trivial solution either. The LRU (or Least recently used) algorithm tends to be the most popular - but again a lot of overhead is needed to maintain all this data.
Cheers
jimbo