Announcement

Collapse
No announcement yet.

32-bit vs 64-bit OS

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    32-bit vs 64-bit OS

    I researched this on the web, and it seems that the difference is in how much RAM you can use. 32-bit is limited to 4GB, while 64-bit is unlimited.

    I generally use Linux Mint or Ubuntu. When I examine the System Monitor, it seems that I never use more than 400MB of Ram. I generally don't install more than 2GB on any of my hardware.

    So I would think that unless I were using some high-zoot video card in a gaming application, the choice is not too meaningful.

    Anyone care to chime in?

    #2
    Re: 32-bit vs 64-bit OS

    The only reason i went with 64 is because i have 4gb ram, with 32 bit it only showed 3.25gb?
    Do NOT touch heatsinks when testing for voltages as they may be LIVE!

    Comment


      #3
      Re: 32-bit vs 64-bit OS

      simple answer:

      64 bit means the operating system can work with more than 4 GB of memory and each program can use more than 2 GB of memory, and if the programs get access to an extended set of processor registries which means that if they're programmed properly and take advantage of the additional registries, they could do some things faster.

      On linux, the memory is used to silently cache files and information about drives and directories and network stuff but the memory used by this stuff is not reported in that screen you look at, bigbeark.
      If it's able, the OS will use up to 70-90% of memory and automatically drop a bit of that cached stuff whenever applications request memory for themselves. So that 400 MB is what applications actually use, but the operating system may use 1-2 GB in the background without telling you to actually improve the overall speed of your system.

      64 bit operating systems and applications will use in general about 10-20% more memory than the 32 bit counterparts.


      long answer.

      The x86 architecture was designed in such a way that the maximum amount of memory that can be accessed by applications and operating system is 2^32 or 4 GB of memory.

      Each application is limited to 2 GB of memory, that is 2^31 ... if the application actually wants to use more, it can't (
      Also, again by design of architecture, the memory on various connected devices (pci cards, video cards, controllers) has to be "mapped" in the main memory, as if the memory on the cards is actually the ram in your computer.

      When they designed the architecture, they were using 4-8-32 MB of memory, so they figured.. we'll map those areas at the end of the 4 GB of memory, nobody even has access to so much memory... and by the time someone has, we'll figure out a solution.

      So now we have 4 GB of memory, but the whole system is still designed that memory from video card, the sata controllers and so on is mapped at the end of the 4 GB, so that's why the operating system only shows you 3.25 GB.

      On 64 bit systems, that area is virtual, and it's all the way to the top of the memory, which is on current processors 2^48 or about something like 640.000 TB of memory

      Now engineers actually noticed this issue by the time people had access to 512 MB of memory - there were servers working with more than 4 GB of memory on other architectures by that time.

      So they invented a trick in which memory is split into segments and processors can flip between these segments and so the operating system can use more than 4 GB of memory.

      This trick is called "Physical Address Extension" or PAE. If this option is enabled in BIOS and the operating system accepts it and changes it behavior to work with it, then it can report the whole memory size and work with more than 4 GB of memory, but applications are still restricted to 2 GB for each process running (well, 3GB with some tricks but it's a topic for another story)

      Windows 2000 Pro, Datacenter 32 bit etc can use more than 4 GB of memory with PAE enabled. Unfortunately, Microsoft experimented with it and found that there are simply too many devices with drivers programmed poorly which meant that video cards, modems, tv tuners would crash or stop working if this PAE mode was enabled. The devices were still running as if the system was no using PAE and read or write data to memory in bad locations, crashing or not working at all.
      So on 32 bit systems, Microsoft decided to ignore the PAE flag even if it's set in BIOS and the motherboard and CPU are capable of working with 4 GB of memory.

      So like I said, the 64 bit processors add a lot of registers to the cpu core and can work in theory with 2^64 bytes of memory. In practice, current processors I think are physically designed to work with 2^48 but the actual pins of sockets can access up to 2^40 bytes ... or 1024 TB, I think.

      The registers on a cpu are like the fingers on your hand ... each register can store a number and instructions in the processor can do stuff with the numbers in registers...
      With more registers, a smart application can do some calculations in a more efficient way, therefore it can become faster.

      As a fictional example, let's say an application has to add 3 numbers.
      On 32 bit processors, it would have to say put
      1. put first number in register 1, second number in register 2, add them and put result in register 3
      2. put 3rd number in register 1, 4th number in register 2, add them and put result in register 4
      3. copy the register 3 in register 1
      4. copy the register 4 in register 2
      5. add the numbers in register 1 and 2 and put the result in register 5

      So to add 3 numbers the code had to work with 5 registers and waste a lot of cpu cycles.

      A 64 bit cpu may have an instruction which is capable of adding the values put beforehand in several registries, using less cpu cycles in the process. So it's simply more efficient.

      There is a small disadvantage in the fact that programs now might use more memory. On 32bit, if you want to read a byte from memory from a position, you're can use 4 bytes, because your application is restricted to a maximum of 2 GB per process. So no matter how hard you try, 4 bytes is enough to get access to any place in the memory the application can use.
      On 64 bit OS, 8 bytes of memory have to be used to keep track of location of stuff the application keeps in memory, so that's double.
      Luckily, about 5-10% of the memory used by applications is used to actually keep track of memory locations and all this crap, so overall, an application and the OS only uses about 10-15% more memory.
      Last edited by mariushm; 10-26-2012, 05:48 PM.

      Comment


        #4
        Re: 32-bit vs 64-bit OS

        Originally posted by mariushm View Post
        ... Unfortunately, Microsoft experimented with it and found that there are simply too many devices with drivers programmed poorly which meant that video cards, modems, tv tuners would crash or stop working if this PAE mode was enabled. The devices were still running as if the system was no using PAE and read or write data to memory in bad locations, crashing or not working at all.
        So on 32 bit systems, Microsoft decided to ignore the PAE flag even if it's set in BIOS and the motherboard and CPU are capable of working with 4 GB of memory ...

        "That 32-bit editions of Windows starting with Windows Vista are limited to 4GB is not because of any technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista and Windows 7 all contain code for using physical memory above 4GB. Microsoft just doesn't license you to use that code."

        http://www.geoffchappell.com/viewer....nse/memory.htm



        Comment


          #5
          Re: 32-bit vs 64-bit OS

          So your point is? It's exactly like I said.

          If you word it to say "Microsoft doesn't license you" you're making it sound like Microsoft is trying to upsell you, to make you buy more expensive versions of Windows.

          They're not, they're just increasing the compatibility by disabling something that was problematic. Yeah, the code is still there and Windows can be "hacked" to work with lots of memory but that's only because it was simpler for them compared to removing the code completely.

          In my case, for example, if I enable PAE on my Windows 2000 and Windows 2003 32bit, the OS works with my full 4 GB of memory, but the TV tuner stops working, because the driver still tries to read the images from the memory position that was valid only when running without PAE enabled.
          If I hadn't known, I would have probably returned the tv tuner as faulty, but you can imagine how many support messages Microsoft would have received for broken drivers.

          For the same compatibility reasons, Windows 7 still has code from Windows 98 and Me, for example.. and there are "shims"/registry entries/libraries which are automatically loaded when some old programs to make them work.

          Comment


            #6
            Re: 32-bit vs 64-bit OS

            We had a thread just like this a while ago: https://www.badcaps.net/forum/showthread.php?t=15157

            I can attest to PAE being a headache, I tested PAE on Windows 2000 Advanced Server about 2 years ago.
            It worked fine and was able to address all my 8GB of memory so long as I did not try to use a soundcard by ANY of the models I had available to test:
            Creative
            Auzentech (=C-Media based)
            Realtek

            When I did the system would just throw a BSOD on bootup, referencing the soundcard drivers .sys file...
            And anyway for me the problem is that I need the memory for specific processes using more than 2GB or 3GB of memory each, no easy way around that with PAE (Well AWE but I digress).
            For my home computer it's games using so much memory at high resolutions and with AA enabled.
            At work it's my heavy CAD/CAM programs that need it...

            But thanks for the link to that article, it was still revealing, I did not know that Microsoft cheats as much as it does when it comes to PAE. (Like the "NX" bit enabling PAE by default since it's a requirement of it).

            I also did not know that 64-bit Windows depends on PAE, the Wikipedia article on PAE states this:
            "x86-64 editions of Windows always implement PAE, because it is a mandatory feature of long mode."
            So how can then 32-bit drivers NOT work with PAE enabled if the manufacturer also supplies 64-bit drivers?!

            Well I have an answer for that, it is kind of long: Creative, C-Media & Realtek.
            In that order listed from worst to just slightly less worse, they simply SUCK at making reliable drivers!
            It's all making sense now! Finally! Thank you for sharing!

            See this blog written by me some 5 years ago and keep it in mind when reading the quote below.
            "Unlike Creative’s SB X-Fi, the Auzentech X-Meridian works fine with 4GB+ RAM"

            "Indeed, to write a driver that misbehaves only when memory is present above 4GB, you actually have to work at it, either by programming artificially or by convincing yourself that you don’t need to do all that the documentation spells out."

            "None of this is to say that 32-bit drivers do not exist whose faults are exposed when using memory above 4GB, or even that they never existed in any significant number, but it is to say that the main types of fault must be confronted in the development of a 64-bit driver for the same device, so that retention of these faults in the contemporaneous 32-bit driver is highly implausible and even reckless. If you are worried that faulty drivers (or inadequate hardware, for that matter) make 32-bit Windows Vista with PAE unsafe when using physical memory above 4GB, then you would do well to wonder how 64-bit Windows can be any less unsafe on the same machine."
            Last edited by Per Hansson; 10-30-2012, 12:34 PM.
            "The one who says it cannot be done should never interrupt the one who is doing it."

            Comment


              #7
              Re: 32-bit vs 64-bit OS

              Well, I was using a patched Windows 7 x86 with 4GB RAM without problems for some time (later replaced with Windows 7 x64).

              But the patch does not work well on some systems.
              I think that's because some (buggy) x86 drivers just don't play well with more than 4GB RAM.

              Comment


                #8
                Re: 32-bit vs 64-bit OS

                XP64 for me....but I have 48gb of RAM in my system.
                <--- Badcaps.net Founder

                Badcaps.net Services:

                Motherboard Repair Services

                ----------------------------------------------
                Badcaps.net Forum Members Folding Team
                http://folding.stanford.edu/
                Team : 49813
                Join in!!
                Team Stats

                Comment


                  #9
                  Re: 32-bit vs 64-bit OS

                  @Topcat Why do you need so much? I have 4gb and thats more than enough for me.

                  What programs would ever use so much ram?
                  Do NOT touch heatsinks when testing for voltages as they may be LIVE!

                  Comment


                    #10
                    Re: 32-bit vs 64-bit OS

                    Originally posted by gilly1984 View Post
                    @Topcat Why do you need so much? I have 4gb and thats more than enough for me.

                    What programs would ever use so much ram?
                    Adobe Premiere. Cool Edit/Adobe Audition. I've never had it all in use, but 4gb wouldn't be sufficient....Rendering an HD video clip, the memory gets sucked up fast!

                    ...that and memory is cheap, so why not. FWIW, my office system only has 16gb in it.....
                    <--- Badcaps.net Founder

                    Badcaps.net Services:

                    Motherboard Repair Services

                    ----------------------------------------------
                    Badcaps.net Forum Members Folding Team
                    http://folding.stanford.edu/
                    Team : 49813
                    Join in!!
                    Team Stats

                    Comment


                      #11
                      Re: 32-bit vs 64-bit OS

                      Originally posted by Topcat View Post
                      Adobe Premiere. Cool Edit/Adobe Audition. I've never had it all in use, but 4gb wouldn't be sufficient....Rendering an HD video clip, the memory gets sucked up fast!

                      ...that and memory is cheap, so why not. FWIW, my office system only has 16gb in it.....
                      I use firefox, thats about it lol.

                      Only 16gb? How do you get anything done on that?
                      Do NOT touch heatsinks when testing for voltages as they may be LIVE!

                      Comment


                        #12
                        Re: 32-bit vs 64-bit OS

                        You know I just had this thought, since PAE is a requirement of x64;
                        What if Microsoft would have made it a requirement when Windows 2000 was released that for WHQL certification the drivers must be tested with PAE mode aswell?

                        The drivers would then have been pretty much x64 compatible a decade earlier than what it took (It was not until Windows 7 was released that drivers had matured, which is a large part of Vistas bad reputation)

                        NT4 did anyway not support USB, Plug&Play WDM, WFP, DirectX and others.
                        Windows 2000 gave us the "fresh start" we needed, it just hurts to think how much better it would have been with PAE requirements aswell!

                        As it is I fired up my Win2K machine to do some PAE testing
                        Latest C-Media drivers for my Auzentech X-Meridian caused BSOD with PAE enabled, just like 2 years ago. These drivers where new though (1796)
                        I also modded the Asus Xonar DSX drivers (1800) and installed those;
                        They work fine, well as long as I don't enable PAE, then it's BSOD time!

                        However my mainboards built in soundcard, an ADI SoundMax 1988B branded as "Supreme FX II" by Asus does work with PAE!
                        I used the "latest" drivers on Asus website, from October 2009
                        "The one who says it cannot be done should never interrupt the one who is doing it."

                        Comment


                          #13
                          Re: 32-bit vs 64-bit OS

                          1988B driver for Asus boards from station-drivers (They usually have the latest stuff):
                          http://station-drivers.com/page/analog%20device.htm
                          "We have offered them (the Arabs) a sensible way for so many years. But no, they wanted to fight. Fine! We gave them technology, the latest, the kind even Vietnam didn't have. They had double superiority in tanks and aircraft, triple in artillery, and in air defense and anti-tank weapons they had absolute supremacy. And what? Once again they were beaten. Once again they scrammed [sic]. Once again they screamed for us to come save them. Sadat woke me up in the middle of the night twice over the phone, 'Save me!' He demanded to send Soviet troops, and immediately! No! We are not going to fight for them."

                          -Leonid Brezhnev (On the Yom Kippur War)

                          Comment


                            #14
                            Re: 32-bit vs 64-bit OS

                            Not that anybody cares a shit in the case of Windows-Sesame Street-Tiles, but it's funny how they perpetuate the '4GB RAM tops if 32bit' comedy.



                            " ... While analyzing Windows 8′s EFI loader, I got into a call located inside the function MmInitializeNucleus, called by MmInitSystem. This call contains the licensing verification that allow or deny Windows to support more than 4GB of memory.


                            "If the system is not a server, the ntQueryLicenseValue, called with Kernel‐WindowsMaxMemAllowedx86 parameter, returns the value 0x100000. This value is then stored as a system-wide variable and used inside the MmInitSystem function. 0x100000 in hex is 1048576 in dec which, multiplicated by 4KB (size of pages) returns 4GB. If we change that value from 0x100000 to 0x1000000 (16777216 in dec), Windows will be able to see all 64GB of memory."



                            Comment


                              #15
                              Re: 32-bit vs 64-bit OS

                              Thank you for bringing up an almost one year old thread, pointing out exactly what was already said before.

                              Yes, the 4 GB is a software restriction of Windows, but they put it there because too many drivers were causing bsod's and crashes when PAE was enabled.
                              Windows 2000 and 2003 32 bit work with more than 4GB, it's just the end user os'es that are restricted.

                              Anyway, at least i should contribute something to this thread if i'm gonna write this.

                              Life is awesome when you have 16 gigs of ram in the system, i don't feel the firefox pig at all :



                              (though to be honest, firefox has three windows open, each with about 20 tabs, and was started about 3 days ago... flash plugin leaks memory like crazy so it has excuses)
                              Attached Files

                              Comment


                                #16
                                Re: 32-bit vs 64-bit OS

                                I wouldn't say Firefox is a pig... compared to Internet Exploder. IE will be using that much memory after only one day, and IE9 will use nearly double that if you open any Flash content.

                                Comment


                                  #17
                                  Re: 32-bit vs 64-bit OS

                                  Originally posted by mariushm View Post
                                  Thank you ...
                                  My pleasure.

                                  Originally posted by mariushm View Post
                                  ... it's just the end user os'es that are restricted.
                                  Wunderbar, that must be really conforting for all the restricted 32bit end users.

                                  Comment


                                    #18
                                    Re: 32-bit vs 64-bit OS

                                    The 32 bit end users aren't missing anything 99% of the time.

                                    In 32 bit world each application is restricted to 2 GB of memory due to architecture limitations, 3 GB if user edits some configuration files and enables an extended mode.

                                    So no application really suffers from lack of memory with 4 GB, they can only access 2-3 GB anyway.

                                    It's extremely rare that an end user would run two applications that would both require the 2 GB of memory, in which case the operating system can still just page chunks of memory to disk and make room.

                                    So they made a compromise, restricting less than 1-2% of the users in order to prevent 10-20% of users complaining about crashes, returning the os as faulty to the stores and so on.

                                    The server versions can afford to leave PAE functional because usually servers have lots of ram slots and motherboards support PAE and the additional hardware is minimal (lightweight video card, basic or no soundcard etc) and drivers are certified.

                                    Comment


                                      #19
                                      Re: 32-bit vs 64-bit OS

                                      Originally posted by mariushm View Post
                                      Anyway, at least i should contribute something to this thread if i'm gonna write this.
                                      If you are gonna brag do it from a 32-bit OS with PAE enabled

                                      And yea, as I wrote above above there are indeed lots of problems with PAE and drivers, even in the year 2013!
                                      Attached Files
                                      "The one who says it cannot be done should never interrupt the one who is doing it."

                                      Comment


                                        #20
                                        Re: 32-bit vs 64-bit OS

                                        You know what's funny? I've been using for years a Se7en 32bit hacked first to full 4GB RAM, then 8GB, and finally 16GB (sadly the mobo wouldn't take any more memory). Perfectly stable, not a glitch.

                                        Last week I've been trying to use PaleMoon x64 in Se7en x64, to no avail: Highly unstable, hungs and freezes all the time. Driver incompatibility most probably. Paradoxes of life .

                                        Comment

                                        Working...
                                        X