XP Embedded memory model

  • Thread starter Thread starter Jonathan Anthony
  • Start date Start date
J

Jonathan Anthony

I need to determine memory requirements. To do this I do
need to clearly understand how the windows XP and/or the
XP embedded memory models work and/or differ from one
another.
If paging is on, does that mean that all code and data is
paged or that just data is paged.
Are code segments loaded page by page on demand, or in
total?
Are operating system code segments and DLLs temporarily
loaded for the duration of their use or, loaded on demand
and become permanently resident thereafter or, loaded as
part of the base image and thus resident therafter by
definition?

Thanks
 
Jonathan,
I need to determine memory requirements. To do this I do
need to clearly understand how the windows XP and/or the
XP embedded memory models work and/or differ from one
another.

They are the same.
If paging is on, does that mean that all code and data is
paged or that just data is paged.
Depends on how you configure windows or from override made by every
application instance for itself. But by default code and data are pageable.
Are code segments loaded page by page on demand, or in
total?

On demand, and it depends on configuration like I said.
Are operating system code segments and DLLs temporarily
loaded for the duration of their use or, loaded on demand
and become permanently resident thereafter or, loaded as
part of the base image and thus resident therafter by
definition?

In XP(XPe) they are loaded as long as they are needed. When they reference
count fall to 0, they are deallocated from memory.

If more than one instance of same DLL is loaded, only thing that changes is
it's reference count, not code memory usage.


Regards,
Slobodan
 
Many thanks for that.
How do you configure windows to select paging of code or
data?

Jonathan
 
I don't understand what you want to do: paging is enabled by default if you
have page file enabled.

If you want to prevent paging. Then it is best to disable page file support.

Drivers have their functions to prevent paging of certain regions of code
(all code can be locked), and data can be allocated from any memory pool.

Win32 programs can use:
SetProcessWorkingSetSize and VirtualLock to lock certain amount of physical
memory.

Also you can search on the net for registry key DisablePagingExecutive.


Why are you so much concerned with memory paging?

Regards,
Slobodan
 
Back
Top