[HN Gopher] Why doesn't Windows use 64-bit virtual address space...
       ___________________________________________________________________
        
       Why doesn't Windows use 64-bit virtual address space below
       0x00000000`7ffe0000?
        
       Author : signa11
       Score  : 83 points
       Date   : 2022-12-18 06:28 UTC (16 hours ago)
        
 (HTM) web link (devblogs.microsoft.com)
 (TXT) w3m dump (devblogs.microsoft.com)
        
       | darknavi wrote:
       | I enjoy the short and sweet blog posts from Raymond Chen on "Why
       | does Windows X?".
        
         | krylon wrote:
         | He is great at summing up these things in a way I can
         | understand (most of the time, not being very experienced with
         | Windows internals) without having the feeling he is dumbing it
         | down, just that he is explaining it very clearly.
        
       | [deleted]
        
       | 082349872349872 wrote:
       | tl;dr several reasons, the most specific of which is "to keep
       | linker relocs simple"
        
         | alexklarjr wrote:
         | ...on a long dead architecture.
        
           | ourmandave wrote:
           | Chen is the poster boy for backwards compat.
           | 
           | They used to work very hard to make sure updates didn't break
           | popular programs that used undocumented hacks.
        
             | AnimalMuppet wrote:
             | > They used to work very hard to make sure updates didn't
             | break popular programs that used undocumented hacks.
             | 
             | Obsessively.
             | 
             | I worked for a company that sold a security auditing tool.
             | We cared very much about which version of Windows we were
             | running on. When Microsoft came out with the next version
             | of Windows and to our dismay, we found out that our
             | software recognized it as the old version.
             | 
             | Turns out that Microsoft had found (pre release) that the
             | new version broke our software. It reported "unknown
             | version" or something. So they added us to a long list of
             | applications that, when those applications asked for what
             | version of Windows they were running on, Windows lied and
             | told them an earlier version.
             | 
             | It cost us some heartburn to work around Windows trying to
             | be helpful to us...
        
           | jasoneckert wrote:
           | I still have Windows 2000 installed on a Digital Ultimate
           | Workstation (2x Alpha 21164). I turn it on every few years
           | when I need a nostalgia kick ;-)
        
             | KMag wrote:
             | So sad to see Alpha die off, especially since I haven't
             | noticed any architectures with anything like PALCode spring
             | up since. The Alpha's firmware was essentially a hypervisor
             | that only supported a single guest, and the OS kernel had
             | to upcall to the firmware for any privileged operations.
             | 
             | In particular, it would be nice to have userspace programs
             | be able to take advantage of new/larger registers without
             | requiring the OS kernel to support the extra CPU state. If
             | the firmware (which presumably is available as soon as the
             | new CPU ships) handles the context switch, then the OS
             | kernel doesn't need an update.
        
       | analog31 wrote:
       | They need to reserve the first 2147352576 bytes for the Color
       | Graphics Adapter display buffer.
        
       | herpderperator wrote:
       | What does the ` mean?
        
         | muststopmyths wrote:
         | That's the convention on windows for denoting 64-bit addresses,
         | separating the two 32bit parts with the backtick. Don't recall
         | why now.
        
           | avianlyric wrote:
           | I assume it just makes the address easier to read. I imagine
           | most programs don't deal with address spaces larger than 4GB,
           | so being able to quickly identify the lower bytes of the
           | address when physically looking at a memory address is
           | probably quite handy.
        
       ___________________________________________________________________
       (page generated 2022-12-18 23:00 UTC)