Can't find what you are looking for ?
Google
 



Showing posts with label Memory. Show all posts
Showing posts with label Memory. Show all posts

Wednesday, February 10, 2010

32 bit code / Windows and 4 GB of memory

From time to time, you would have a lot of queries about using a 32 bit of Windows along with a machine that has more than 4 GB of memory. Typically, most retailers will inform you that there is no point in having a machine that has more than 4 GB of RAM, since you will not get the benefit due to restrictions with the memory management of the OS.
Learn a lot more about the usage of memory in these areas (link)

Though machines with 4GB are not yet the typical purchase for home or business use, they are readily available from major manufacturers and it won’t be long before they are the typical purchase. But there are problems. You don’t have to stand for long in a computer shop to hear a sales assistant talk of 4GB as some sort of limit for 32-bit operating systems, and it won’t be long before this sales patter develops into outright promotion of 64-bit Windows as the only way to get past this limit.
That 32-bit editions of Windows Vista are limited to 4GB is not because of any technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code. Well, to say it that way is perhaps to put words in Microsoft’s mouth. I say the restriction to 4GB is a licensing issue because that’s how Microsoft’s programmers evidently have thought of it. The 4GB limit is retrieved from the registry by calling a function named ZwQueryLicenseValue, which is itself called from an internal procedure which Microsoft’s published symbol files name as MxMemoryLicense. If you remove this check for the licensed memory limit then a restriction to 4GB is demonstrably not enforced by other means.

Monday, September 14, 2009

Learn software concepts - The Extended Memory (XMS)

The extended memory refers to memory above the first megabyte of address space in an IBM PC or compatible with an 80286 or later processor. The term is mainly used under the DOS and Windows operating systems. DOS programs, running in real mode or virtual x86 mode, cannot directly access this memory, but are able to do so through an application programming interface called the eXtended Memory Specification (XMS).
With the exception of the first 65,520 bytes, extended memory is not accessible to a PC when running in real mode. This means that under normal DOS operation, extended memory is not available at all; protected mode must be used to access extended memory.

Note: Extended memory is different from expanded memory (EMS), which uses bank switching and a page frame in the upper memory area to access memory over 1 MB.

There are two ways that extended memory is normally used. A true, full protected mode operating system like Windows NT, can access extended memory directly. However, operating systems or applications that run in real mode, including DOS programs that need access to extended memory, Windows 3.x, and also Windows 95, must coordinate their access to extended memory through the use of an extended memory manager. The most commonly used manager is HIMEM.SYS, which sets up extended memory according to the extended memory specification (XMS). XMS is the standard that PC programs use for accessing extended memory.
The main uses extended memory are:
- RAM-disks : It is a chunk of semiconductor memory that behaves like an ordinary disk but is extremely fast. It also loses its data instantly once power is turned off but is great for temporary files such as index files, extracted data from Lotus to be imported into another application etc.
- Disk caches : It is a program to speed up disk access by storing the most frequently use information in the computer's memory and reading ahead from the disk in anticipation.
- Print spoolers : It utilizes the computer's memory as a high speed buffer so that a fast computer is not slowed down by a slow printer. For example you can print a 100 page database report and then load a spread sheet program, print reports and graphs, then use your word processor while the database report is still printing. Print spoolers that use extended memory usually come with the memory card.
- OS/2 : The operating system OS/2 can make good use of extended memory.
- UNIX : UNIX is another operating system that can use extended memory.