Memory heaps? 98se vs NT

Same system new question. Dell PIII 550 256 mb ECC Ram Windows 98se.
What are memory heaps, how do they work?
How are they different in 98se and NT or Windows 2000?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Art, while your question is relatively short, the information you requested could fill volumes. Hre's some URL's that will answer most of your questions. After that, I can provide you with Windows 95, 98, NT 3.51 and 4.0 specifics if need be.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
You'll have to copy and paste the last url as it didn't wrap for some reason!
ArtGAuthor Commented:
I am sorry Dennis, I cannot digest the techno/jargon.
I was hoping for a simpler breakdown. Something I could visualise in my mind. Perhaps the question does not lend itself easily to such a simple breakdown. I realise some questions are just that way.
You sent me to a wealth of knowledge, I just do not have the experiential background to be able to use it.
Please keep trying.
Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

Okay, let's try it another way. Memory heaps is an expansive subject. How about we narrow the field down to where you want to use it or in relation to a common OS or program.
ArtGAuthor Commented:
It is hard for me to specifically phrase a question concerning something I know so little about, but I will try.
An example, I am in Photoshop with Windows 98se working on a very large file. Does this setup use my ram in segments? If so, would these segments be different in NT or Windows 2000? Or does NT or 2000 even use these segments? Or does NT and 2000 address my memory as a whole? Or does NT or 2000 use larger segments?
I raised the points for this question in appreciation for your willingness to struggle with my ignorance. You are a patient man, and I appreciate it.
Patricia Siu-Lai HoCommented:
Dennis, FYI , Art has just a PAQ EQ.10226971 :-

<<I have a Dell XPST 550 PIII with 256 mb ECC RAM running Windows 98 se,( new in July)
I have been told my memory is wasted in Win98 because it will only access 64 mb.
I use my machine for home publishing, photoshop etc. and need all the memory I can get. I did plan on increasing my memory soon to 512mb. Should I switch to NT?
Thanks for your help.

I have a 20.6 gig HD so I have plenty of room for file swapping. And I am not sure how much space 24 negs will take I scan them at different resolutions (up to 3200 dpi) depending on what I am going to do with them. I use photoshop 5.0>>

Hope it provides some background for you to narrow it within the wide topic area "memory heap".
Hi Art!

Okay, now I have a better understanding of where you are coming from with the question. I'll cover some of the basics as well as the individual issues you mentioned in your last post.

Memory heaping is a method used by programmers to allocate memory to a certain process or number of them. Generally, it only involves memory above the first MB. Windows 3X and 9X handle memory heaping completely different than WinNT 3.X, 4.0 and 2000.

The 3.X and 9X versions rely on the old Dos kernel krnl386, are modulized in nature and normally restrict memory allocation for all programs. Memory heaping is normally left to the application developer, not the OS, which is why these versions have constant problems with memory leaks. It's not the OS, but rather the demand made by the application, which is never fully released when the application is closed. These applications run as part of the OS, not as a separate process (you have a better understanding once you read the NT issues below)

NT, on the other hand, relies on a 32Bit kernel (2000 early version will be 32Bit as well, but the second release will be 64Bit) and creates modifiable memory heaps. These heaps or memory allocable features can be adjusted in the registry either on the whole basis which means it effects the operation of the entire NT OS, or on an application basis, which is run as a process and not as part of the OS.

I know this is confusing, but let me give you a brief comparision. When you run Photoshop in Win98, should it crash it will generally take Win98 with it in an uncontrolled kernel crash.

In windows NT, while there are BSOD crashes, generally when an application (or process) crashes, you can terminate the process and recover the OS. Win98 is a little better at handling this issue with its new kernel than Win95 was.

So, memory heaping, as it applies to Win3X and9X is the allocation of memory to certain processes and application on the OS starting with the desktop, such as icons, menus and then applications, all of which is modulized and handled initially by the OS with the application requesting memory heaps in various amounts depending upon what exactly is being performed at the moment.

In NT, memory heaping is handled by the OS entirely, and is done on a request, granted basis. While base heaps are created for such things as desktop features, icons etc, all other memory issues are handled on a need/grant basis. The application will request memory to perform an operation and NT will grant the request based upon the available resources, which can consist of either physical and pagefile availability or both.

(Your comments)

<<An example, I am in Photoshop with Windows 98se working on a very large file. Does this setup use my ram in segments?>>

Windows 98SE as with all versions of Win3X\9X use memory (physical) in segments (above 1MB) and so does NT. It's not whether it is used in segments or not, it is how the OS manages the segements and whether the allocation is based upon the application taking as much as it needs or whether the OS allocates what it has to the application properly to avoid out of memory errors.

<<If so, would these segments be different in NT or Windows 2000? Or does NT or 2000 even use these segments?>>

Yes, as noted above, it is handled differently even though, for lack of a better term, segments are used in both OS's.

<<Or does NT and 2000 address my memory as a whole? Or does NT or 2000 use larger segments?>>

As you are probably already aware, both Win98 and NT use physical memory first and then use swapfile or pagefile to speed the process and to offload physical memory where necessary. NT handles this entirely different though from 9X. As noted, 9X doesn't really control the memory demands made by applications, these demands are largely reliant on relationship files loaded by the application when installed.

Let me see if I can put this another way for simplification. In Win98, each time an application is loaded physical memory availability decreases and the swapfile increases on a linear basis with the demands of each application. In essence, each application started remains running regardless of what else is running until such time as either an out of memory error occurs or the kernel crashes.

In NT, even though the application may be running, it is running as a process. The demands of that process are controlled by NT based upon all processes started, and if an application is not performing a task, it's needed resources are reduced until such time a task needs to be performed. Of course memory leaks do occur in NT, as MS cannot control how third party apps are written, but in general, as long as the application does not try and take direct control of any one memory space or other hardware resource, then NT will handle it. If the application attempts a direct resource access, NT will go to an error and prevent it. This is why NT is generally much more stable for the business or developer application.
ArtGAuthor Commented:
I got it! Now I understand the fundamentals and basic concepts.
Thank you Dennis, you are an excellent teacher.
And thank you PSLH for your input and concern.
I printed this for further digestion.
I am very grateful for your help and for this site.
Anytime Art, my pleasure.

Presuming that you do quite a bit of graphics work, you may want to consider Win2000 sometime mid-summer of 2000. This will allow most of the problems to shake out and give companies such as Adobe the opportunity to modify their programs to make them compatible.
Patricia Siu-Lai HoCommented:
Art, I would like to add some points for your concern initiated from the usage of Adobe photoshop.

Memory heap, GUI , etc ... are hot topics for photoshop 3.5 or below based on the handling of the graphics from the concept of "bitmapped" images. A transition period taken place for version 4.5 as Adobe had changed drastically from the handling of graphics from bitmap format to digital calculation formula. It allowed the development for layering and transparent layering etc...  

Now the photoshop 5.0 version is graphic program not really based on the earlier technique and is less demanding in GUI resources. Thus, it should spend less physical memory.
For your comprehension, you may think it that way.
Traditional graphic handling the bitmap graphics by capturing the picture (in segments) into the RAM by paging method. Thus, it is very demanding in the resources of RAM in handling a A4 size 200dpi 24colors pictures.

However, photoshop ver5 now using the technique converting the bitmapped image into various digital color formulai and placing these calculation tasks in the RAM. All the related supporting temp files are placed in the harddisk swap files. Thus, it relies lesser the RAM resources and got lesser GUI conflicts.

However, there are still a lot of graphic programs or scanning that still using the old bitmapped handling technique. E.g. now, you may find scanning is very RAM demanding. Suggest try to check using newer version of true 32bit twain_dll. Don't use 16bit twain_dll. Win98 is fully compatible for running in true 32bit twain_dll.

When scanning completed for certain numbers of negatives, save them with a file name. It will release immediately the RAM and make them available for your further scanning of negatives.

ArtGAuthor Commented:
I do quite a bit of graphics, my wife and I do home publishing and we do photo work of various types, newsletters, flyers, brochures, etc.
All of my equipment is new, Hitachi 811 21" monitor, Epson 900 printer, Epson 800 Pro scanner, and Dell XPST 550 computer running Win 98 se. My scanner interface is twain 32. I use Photoshop ver 5.0. everything I own was intensely researched before it was purchased. Since I am planning on upgrading to windows 2000 and doubling my memory to 512 mb I am researching this move. You have been very helpful in this research.
Thanks to you I am confident in my choice. I intend to do publishing professionally, so the fastest, most efficient, and stablest system I can get is the best in the long run.
Each piece of knowledge I acquire can permanently contribute to the efficiency of the overall operation.
Once again I am very grateful for your patient help.
Art, you are quire welcome anytime! Glad we could help!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows OS

From novice to tech pro — start learning today.