Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Physical Adress Extension and Windows 9x

- - - - -

  • Please log in to reply
16 replies to this topic

#1
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
I just wondered how much memory can my old windows use. Since i have one superharddisk at hand it will be quite possible to use it without impairing system performance.

So i just know that windows without PAE can use 4 gigs of physical memory. Lets imagine that i have rloews patch. How much memory can i use, or how big swapfile can i set?

Previously i have set swapfile to 4 gigs and system was about to fall apart :D


How to remove advertisement from MSFN

#2
rloew

rloew

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,084 posts
  • OS:98SE
  • Country: Country Flag

I just wondered how much memory can my old windows use. Since i have one superharddisk at hand it will be quite possible to use it without impairing system performance.

So i just know that windows without PAE can use 4 gigs of physical memory. Lets imagine that i have rloews patch. How much memory can i use, or how big swapfile can i set?

Previously i have set swapfile to 4 gigs and system was about to fall apart :D


My RAM Patch allows up to 4GB of 32-Bit System RAM. In practice, motherboards limit this to 3-3.6 GB. Windows 9X can manage a total of 4GB with a maximum Swap File of 2GB. With my Patch you can have the following:

System RAM: 3GB
Swap File: 1GB

Using my 64-Bit RAMDISKS, you can place the Swap File in 64-Bit RAM.

Note, my RAMDISKs use PSE not PAE.
Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.

#3
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
if i should have 4gb of ram it will be possible to use it all without using harddisk, or what will happent if i have 4 gigs of ram and 2 gigs of swapfile...?

just thinking about possibility to maximize OS potential in this particular case.

#4
rloew

rloew

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,084 posts
  • OS:98SE
  • Country: Country Flag

if i should have 4gb of ram it will be possible to use it all without using harddisk, or what will happent if i have 4 gigs of ram and 2 gigs of swapfile...?

just thinking about possibility to maximize OS potential in this particular case.


There are two limits in Windows 9X.

Total managed memory, System RAM and Swap combined, is limited to 4GB.
Swap file is limited to 2GB.


If you have 4GB of RAM, part of it is mapped to 32-Bit RAM and part of it is mapped to 64-Bit RAM. The amount depends on the motherboard, graphics device, and sometimes other devices.

Assuming it is split into 3GB and 1GB respectively, a fairly common situation, the following combination will maximize memory use without swapping to a hard drive:

The RAM Limitation Patch will support the available 3GB of 32-Bit RAM.
A 64-Bit RAMDISK, setup to hold the Swap File, will use the remaining 1GB when the 3GB of System RAM is used up.

I have written some tools to allow programs to use additional 64-Bit memory, but they would not be very useful unless you have more than 4GB of RAM.


Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.

#5
Bier.jpg

Bier.jpg
  • Member
  • 5 posts

I have written some tools to allow programs to use additional 64-Bit memory, but they would not be very useful unless you have more than 4GB of RAM.

where can i get it?
it would be nice to see my 98se running with 8gb ram :whistle:

#6
rloew

rloew

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,084 posts
  • OS:98SE
  • Country: Country Flag

I have written some tools to allow programs to use additional 64-Bit memory, but they would not be very useful unless you have more than 4GB of RAM.

where can i get it?
it would be nice to see my 98se running with 8gb ram :whistle:


I have an 8GB RAM system already running using Windows 98SE. In addition to the setup I described in my last post, I have two additional RAMDISKs using the 4GB not covered by the RAMDISK allocated to the Swap file.
Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.

#7
dencorso

dencorso

    Adiuvat plus qui nihil obstat

  • Super Moderator
  • 5,781 posts
  • OS:98SE
  • Country: Country Flag

Donator

where can i get it?
it would be nice to see my 98se running with 8gb ram :whistle:

Go to RLoew's Software Homepage and visit the Prerelease and Beta Section. HTH

#8
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
also there is another limit as i know...

How much memory can assing system to a single application? In XP it is around 2gb... What about your patch?

#9
RetroOS

RetroOS

    Senior Member

  • Member
  • PipPipPipPip
  • 531 posts
  • OS:98SE
  • Country: Country Flag

also there is another limit as i know...

How much memory can assing system to a single application? In XP it is around 2gb... What about your patch?

That private address space limit is inherent in Windows 32-bit design (although later NT OS's provide options to expand to 3GiB with tradeoffs).
See here for lots of good info on the Windows 98 architecture:

http://technet.micro...y/cc768198.aspx

See Memory Paging about half way down.
I would recommend reading the entire Chapter 28 through if you have the time.
It helps give a better understanding of how and why Windows 9x does what it does.
Obviously some of this article does not apply to early versions of Windows 95, like WDM.
retrofreak n a person who is very enthusiastic about something from the past.
retrology n the study of association with and revival from the past.
life n a series of near misses.

#10
rloew

rloew

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,084 posts
  • OS:98SE
  • Country: Country Flag

also there is another limit as i know...

How much memory can assing system to a single application? In XP it is around 2gb... What about your patch?


My Patch increases the amount of Physical System RAM available to Windows. It does not affect the Virtual Address assignments between User, Shared and System Memory.

By design, the User memory space is limited to 2GB. I have explored the possibility of moving these boundaries, but it appears to be hard coded extensively.

It is possible for an Application to allocate Shared or even System Arena space to approach the 4GB limit but there are many issues:

1. This memory would be locked so it could not be swapped out.
2. The memory would not be part of an Application Context so it would be Global to all Applications, so each Application or Instance of an Application would need to allocate different Virtual Addresses.
3. These Arenas are limited System Resources so using them could deplete them.
4. This Memory would not be recovered if the Application exited or crashed before releasing it.

My 64-Bit Memory SDK would not get around this issue either since, like my Patch, it provides more Physical RAM not Virtual RAM. The main benefit of the SDK is that an Application could have a lot of RAM that could be accessed by Banking

Edited by rloew, 21 August 2009 - 10:56 PM.

Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.

#11
Tihiy

Tihiy

    the creator

  • Member
  • PipPipPipPipPipPipPip
  • 1,919 posts
  • OS:Windows 7 x64
  • Country: Country Flag

Donator

1. This memory would be locked so it could not be swapped out.

Uhh, that's not true. Shared memory is nicely swapped out, and with 64MB or less memory you can easily swap even system DLL pages.

Moreover, mapped files reside in shared memory and basically are part of swap; and they are tracked by system, so apps using file mapping can use more than 2GB of virtual memory on 9x... Who cares?

Edited by Tihiy, 22 August 2009 - 04:29 AM.


#12
rloew

rloew

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,084 posts
  • OS:98SE
  • Country: Country Flag

1. This memory would be locked so it could not be swapped out.

Uhh, that's not true. Shared memory is nicely swapped out, and with 64MB or less memory you can easily swap even system DLL pages.

Moreover, mapped files reside in shared memory and basically are part of swap; and they are tracked by system, so apps using file mapping can use more than 2GB of virtual memory on 9x... Who cares?


I did some experiments and confirmed that the Shared and System Arena Memory Pages CAN be swapped. I stand corrected.

Note: Many System DLLs load into Private Memory and are inherently swappable.

The Context problem still remains, so if one Application took the Maximum amount of Memory, no other Application could exceed 2GB unless they are using the SAME Memory..
Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.

#13
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
So...

The last question is about Graphics cards and the issue which caused XPs to allocate 4gigs as 3.2 gigs ram.

How much memory any windows (32bit) need?

2 gigabytes can be assigned to a single applicaton. Win98 uses up to 100mb of ram, WinXP up to 512. Rest of 4gig pool is floating in the air or is it really used for something (especially the block which is invisible in XP)?

Lately i tested vista, and its system management has finally becomed better as in XP, so i dont doubt that it can handle all memory. I am quite interested about high Hw limit of both XPs and 98Se (patched one) and the way how effectively both of them can use up system memory.

Right now it seems to me that most of Windows upgrades were unnecessary while system had less than 4 gigabytes of memory, because no application was able to gain more than 2 gigabytes from system (and thus work faster). Also it is just question if 32bit application is able to acess so much memory, or cant.

At all i am quite interested in system build on singlecore processor (AMD or Intel?) with approximately 3 or four gigabytes of memory to see how can applications perform in windows 98 and compare it with other windows based systems, with more memory available.

#14
rloew

rloew

    MSFN Expert

  • Member
  • PipPipPipPipPipPip
  • 1,084 posts
  • OS:98SE
  • Country: Country Flag

So...

The last question is about Graphics cards and the issue which caused XPs to allocate 4gigs as 3.2 gigs ram.


The reason XP, and the Patched Win9X, only see 3.2GB (in your case), is that the BIOS reserves the rest of the 32-Bit Address space for Memory Mapped I/O and the BIOS ROM. In addition, the BIOS will map AGP apertures and other large PCI card I/O Spaces to this area as needed.

Rather than wasting the RAM Space, the BIOS remaps this RAM into the 64-Bit Address Space above 4GiB.

How much memory any windows (32bit) need?

2 gigabytes can be assigned to a single applicaton. Win98 uses up to 100mb of ram, WinXP up to 512. Rest of 4gig pool is floating in the air or is it really used for something (especially the block which is invisible in XP)?

Lately i tested vista, and its system management has finally becomed better as in XP, so i dont doubt that it can handle all memory. I am quite interested about high Hw limit of both XPs and 98Se (patched one) and the way how effectively both of them can use up system memory.

Right now it seems to me that most of Windows upgrades were unnecessary while system had less than 4 gigabytes of memory, because no application was able to gain more than 2 gigabytes from system (and thus work faster). Also it is just question if 32bit application is able to acess so much memory, or cant.

At all i am quite interested in system build on singlecore processor (AMD or Intel?) with approximately 3 or four gigabytes of memory to see how can applications perform in windows 98 and compare it with other windows based systems, with more memory available.


Windows 9X can use more than 100MB of RAM internally, if it is available. File Caching can use 512MB alone.

Even if an Application is limited to 2GB, running two at the same time brings you up to 4GB.

Using RAMDISKs for Swap and/or Temporary Files provides additional speedup.

On one machine, I have a 1.5GB RAMDISK that holds my Temporary Internet files. I can download 2 CD sized ISO files simultaneously.
In addition, all files are cleared upon reboot.
Ye who enter my domain. Beware! Lest you become educated in the mysteries of the universe and suffer forever from the desire to know more.

#15
dencorso

dencorso

    Adiuvat plus qui nihil obstat

  • Super Moderator
  • 5,781 posts
  • OS:98SE
  • Country: Country Flag

Donator

On one machine, I have a 1.5GB RAMDISK that holds my Temporary Internet files. I can download 2 CD sized ISO files simultaneously.
In addition, all files are cleared upon reboot.

I use a RAMDISK of precisely 1.5 GiB in my main Win 98SE for the same reason.

#16
Offler

Offler

    Advanced Member

  • Member
  • PipPipPip
  • 497 posts
Im reading the article about Win98 architecture which dencorso posted here. Very interesting. Im interested mostly in Virtual memory management.

There are certain limits. 640kb for real-mode deviced, 4mb to 2gb Win32 apps, 2-3 gb core system components, 3-4gb Ring 0 components.

Are there any information how much memory can core and ring 0 components use up?

To me it seems that for each win32 system (From win95 to XP and Vista 32bit) should be best to have 4 gigabytes of ram to assure that disk shall NOT be accesed and to keep all system parts "aboard" in memory, without affecting memory reserved for 32bit applications.

The fight between Singlecore and Dualcore CPUs is a bit different battlefield, but ideal Win32 machine to me is using Dualcore processor, with 4 gigabytes of ram and Windows 5.x, no matter that system shows only 3.2gb. Or will be memory in this case bit wasted? The goal is to use disk only as a peripheral device which is not intended to use as random access memory (swap).

To solve thes it is good to know how intensly can windows use up the memory which it reserves.

#17
EyesOfARaven

EyesOfARaven

    Junior

  • Member
  • Pip
  • 55 posts
I was originally under the impression that Windows licensing supports 4GB of addressing for RAM, whether it be BIOS, VRAM, SysRAM etc.., and that anything above 4GB when you total that up was deducted from the SysRAM and ignored. Apparently this is not the case, with 64-bit addressing under 32-bit Windows, so this raised a question for me:

How does Windows do 64-bit mapped memory? What does it do with it? Does [only] the system make use of it? Do modern applications use calls to allocate it if available? Does the underlying system allow the use of it regardless of how the program was written?

I assume due to it's age and inherent limitations, Windows 98 doesn't share in modern versions of Windows' possible API for 64-bit address space, so if it still maps the RAM off to there, I assume it just sits there, waiting for some application to claim it (such as your RAMDisks, rloew)?

BTW: rloew: I wish there was some way I could afford to get some of your apps.. I am so out of money, but It'd be great to get Win98 working efficiently on one of my modern boxes. Really impressive work you've done.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN