Windows 9x/ME can address up to 4GB of RAM, but can only use up to 2GB of physical RAM. Due to a problem with the vcache and the kernal, Win9x/ME uses up to 512MB of RAM before it chokes. You need to make an adjustment to the vcache settings in system.ini to use more than 512MB of RAM.
Windows 2000 Pro and Server can address and use up to 4GB of RAM. Win2K AS (Advanced Server) and DC (Data Centre) can address and use much more.