Windows 7 memory optimization program. The FreeRAM XP memory optimization program just needs to be configured. Disabling autorun from removable media and CD drives

Like

Like

Tweet

Exists whole line programs that are essentially charlatan. They all promise a miraculous increase in computer speed by freeing up space in the computer's RAM. To understand why this is useless and even harmful, you first need to understand what RAM is, anyway?

What is RAM and why is it needed?

RAM (or RAM - R andom A access M emory, or RAM - ABOUT operative Z reminiscent U device) - volatile memory used to temporarily store instructions and data necessary for calculations performed by the computer processor (or processors). This is described more accurately and in detail on Wikipedia, but I will focus on the problem itself free space in RAM.

Note: I am speaking as simply as possible, omitting many terms and features, leaving only the essence required in the context of my note.

The processor needs RAM to fast access to data that HDD cannot provide in any way. Therefore, when the program is launched, it is loaded into RAM - this is the only way the computer can do calculations, driving data to the processor from RAM and back.

IN Windows running programs can be physically located not only “in RAM cards”, but also on the hard drive in a file pagefile.sys. This file is called the “swap file” or “swap” (from the English swap).

The idea is this: if a program takes up a lot of memory, part of it is dumped onto the hard drive into the paging file, freeing up “living space” for other programs, and if necessary, the data is loaded back into RAM.

Problem is that the speed difference between RAM and hard drive huge. This can be clearly demonstrated like this:

To ensure that only unnecessary data is dumped into the paging file, Windows runs a Memory Manager. It works quite successfully, thanks to which on a computer with 512 MB of RAM you can run programs that take up more than a gigabyte of memory. Typical example - modern versions Adobe Photoshop, 3DS Max and many other programs for complex calculations. Of course, with such a small amount of RAM, programs will be strongly slow down, but working in them is at the very least possible, but possible.

What do memory optimizers do?

Let me make an analogy with medications to relieve symptoms - they do not treat the cause, they only alleviate the symptoms. If a person has the flu, getting rid of a runny nose will not cure it. If your computer is slow and free memory not enough - it slows down not because of busy memory, but because of an overly resource-intensive program or, for example, overheating.

All optimizers are required show the amount of free space in RAM. And often with red letters and warnings that this negatively affects the speed of the computer. Which is actually not true. If a program needs all the RAM, it means it is required for business (calculations) and to work fast she will only be there if she is given as much space as she asks for.

A typical example of programs that require large amounts of RAM are games. If a game requires 2 gigabytes of RAM, there is nothing you can do about it. Without the required amount of RAM, playing will be problematic due to the low frame rate - the game will slow down due to the fact that some of the data will be located on slow file swaps. RAM optimizers create same negative effect - after memory is freed, programs are allocated less memory than they need, which is why the “brakes” again begin.

Note #1: I'm not saying that frame rates in games are directly related to the amount of RAM. By installing more RAM in your computer, you will be able to improve performance only in those programs where the amount of RAM is really important, without regard to other more important parameters: processor frequency, video card characteristics, RAM frequency, speed hard disk, etc.

Note #2: Errors occur with programs under the general name “ memory leak“when a program “grows” for no reason and takes up all the memory unnecessarily, but in this case it is necessary to demand that the developers of this program correct the error, and not free up memory with optimizers.

How memory optimizers work

Memory optimization programs (they may have different names - SuperRAM, FreeMemory, Memory Management SuperProMegaEdition, etc.) can free up memory in several ways, but they are all tied to the principle of deceiving the Windows Memory Manager:

  1. The program calls a special function EmptyWorkingSet(), which forces all programs to dump as much of themselves as possible into the swap file.
  2. The program begins to grow uncontrollably in memory, telling the Windows Memory Manager that it needs it for business (I speak in metaphors, but in fact this is exactly the case), as a result of which the Memory Manager throws away as much as possible more programs to the hard drive in the swap file.

The result is always the same: programs begin to slow down, but the number of free space in RAM is green and the memory optimization program says that everything is fine. As a result, the user is happy, opens a window with his favorite program and... waiting. Because his favorite program is starting slow down a lot. This will happen until the program returns “itself” to RAM from swap file. As a result, the RAM becomes full again, the free space indicator again reports that the memory is busy, the user gets angry, starts clearing the memory, and everything happens for the second (third, fifth, tenth) round.

The opposite effect - so that the program takes up all the RAM supposedly For fast work- it will not be possible to achieve. I used the word “supposedly” because in the ideal case (when there is enough memory) programs take as much memory as they need And this process cannot be interfered with. If you interfere with the process, you will get slowdowns caused by frequent access to the swap file.

Another sad point: memory optimizers cannot unload from RAM unnecessary programs. We determine their “uselessness” ourselves; everything works differently in a computer. All programs are unloaded into the swap file indiscriminately.

Conclusion No. 1: freeing up RAM by optimizers only does harm and reduces performance.

Conclusion No. 2: You cannot judge the speed of a program by how much space it takes up in RAM.

Conclusion No. 3: If a program takes up a lot of space in RAM, it means it operates with large amounts of data. You can help her “think” faster only by increasing the amount of RAM, i.e. by installing more RAM cards into the computer. But this will not help if the other characteristics of the PC do not meet the requirements.

In order not to be unfounded, here is a link to similar conclusions with an explanation of how the Windows Memory Manager works: here.

How should memory be optimized?

The most obvious way to improve your computer's performance is to close unnecessary programs. The second is to install more RAM sticks (boards) so that programs “feel more at ease” and work faster. Other ways to speed up a computer directly related to RAM are: No.

I repeat once again: memory optimizers are nonsense in order to make money for gullible users. The same stupidity is the adjustment " hidden settings memory" in Windows, since everything there is already configured most optimally after testing on a large number of computers. There are specific issues, but this does not apply to home computers.

About free RAM in Windows Vista, 7, 8, 10

On forums I often see indignant cries (I quote): “ I installed Windows 7 (8, 10), looked at the Task Manager, and it said that one and a half gigabytes or all of the RAM was occupied! Windows 7 (8, 10) eats up a lot of memory!»

In fact, everything is completely different and there is no reason to be indignant. Quite the opposite: in modern operating systems ah, free memory is allocated for the cache. This happens mainly thanks to the SuperFetch function. Thanks to the cache, programs start faster, since instead of turning to hard drive data is loaded from RAM (see picture above, speed difference work hard disk and RAM written in bold). If some program needs more RAM - cache instantly will reduce its size, giving way to her. More information about this is written on Habrahabr.

Conclusions:

  1. There is no need to clear the memory, because each byte of space is used to the maximum effectively.
  2. Forget about memory optimizers - they don't optimize anything and interfere with the cache and other Windows functions.
  3. If a lot of RAM is occupied immediately after turning on the computer, this is absolutely normal and does not cause programs to run slowly. Of course, if startup is full of a dozen or two programs that occupy this very memory, at the same time loading the processor and using the hard drive, It will definitely slow down. Such programs need to be dealt with by deleting them or removing them from startup, and not clearing the memory with optimizers.

There is also a myth that when using Windows Vista, 7, 8 and 10, the cache interferes with programs. Allegedly, “when a program needs more RAM, it turns out that it is clogged with cache, and brakes occur.” This is actually not true. The cache disappears instantly and program straightaway the required amount of RAM becomes available.

Changing the page file size, moving it, or disabling it

Also quite common, in some way harmful, advice. There is a good article about this on Habrahabr. I'll just give you the most important conclusions that article, adding my own, from personal experience:

  1. There is little point in changing the size of the paging file. Theoretically, ideally you should set the size of the paging file to not Furthermore, which is required by running programs, but the problem is that even if you use the same programs of the same versions day after day, the situations are different (you can launch one tab in the browser, or you can have a hundred, each with open play on Flash) and available memory requirements will vary - the estimated "ideal" page file size will vary from minute to minute. Therefore, there is no point in changing the size of the paging file, since the “ideal size” of the paging file is constantly changing. It’s easier to leave the size determined by the system and not fool yourself.
  2. If you disable the page file on system partition (in this case, the swap file can be used on other partitions), Memory dump will not work for BSOD errors. Therefore, if the system shows “ blue screen death", to identify the cause of the failure, you will first have to enable the paging file on the system partition, then wait for the failure to recur. There is only one situation when it is advisable to disable the paging file on the system disk (to lose diagnostic capabilities) and enable it on another - if two or more physical hard drives. Moving the swap file to another physical disk can reduce the number of slowdowns due to load distribution on the disks.
  3. Disabling the paging file (completely, i.e. on all disks) will cause problems and crashes of resource-intensive programs. You won't believe it, but even now, when an average of 16 GB of RAM is installed in a home PC, there are programs that require more. Personally, I have encountered problems when rendering complex scenes using V-Ray and when working in GIMP program- these programs are quite voracious in terms of available memory and close when there is insufficient memory.
    Note: Obviously, programs usually do not write data to the page file themselves; the OS does it for them (but there are exceptions). Be that as it may, a disabled page file cannot be considered part of normal computer operating mode.
  4. Moving the swap file to a RAM disk(very fast virtual disk, located in RAM) inappropriate.
    Firstly, and this is the most important thing when starting Windows RAM disk may be initialized later than the moment when the system needs the paging file. Because of this, anything can happen - from BSOD to spontaneous system slowdowns (I encountered the above when I was testing this idea).
    Secondly, the size of such a swap file will be small - the memory is not rubber. A choice arises - either a lack of RAM due to a large paging file in memory, or program glitches due to a lack of space in small file swaps. There is no golden mean, because... the computer can perform perfectly different tasks.
    Exception when you can create big file swap on a RAM disk - if you have 16 GB of RAM or more. However, with such a volume of RAM, the paging file is almost never used, and there is no point in keeping it in RAM.
    Third, it's just pointless because swap is needed for expansion virtual memory due to hard drive or SSD.

Clearing the swap file

In the swap file pagefile.sys a variety of information can be stored confidential- for example, pictures from recently opened pages in the browser. This is a normal process due to the way programs work in Windows. If you wish, you can enable the paging file to be cleared when the computer is turned off. However, this tweak will in no way improve performance; on the contrary, it will seriously slow down the shutdown and reboot of the computer.

If you Not work with confidential data, better do not enable pagefile.sys cleanup.

Availability of more than 4 GB of RAM in Windows

The Internet is literally flooded with user speculation about why 3.5 GB of RAM is available in bit Windows instead of, for example, the installed 4 GB. Many theories, myths, and legends were invented. For example, they believe that this is a limitation made by Microsoft that can be removed. In fact, this is partly true - there really is a forced restriction. You just can't remove it. This is due to the fact that on 32-bit systems, drivers and programs may become unstable when the system uses more than four gigabytes of RAM. For 64-bit Windows drivers tested more thoroughly, the above-mentioned limitation is not there.

In 32-bit Windows, only 4 GB of RAM is available, in 64-bit there is no such limitation and much more RAM is available - up to 192 GB.

But it's not that simple. Windows 7 Initial (Starter)(and its Vista counterpart) does not see more than 2 GB of RAM. This is also a limitation, but not due to unstable software. The fact is that Windows 7 Basic is distributed exclusively on low-power netbooks, in fact, almost free, so it was necessary to distance it from more expensive editions: Home Basic, Home Advanced, Ultimate, etc. Some of the limitations of Windows 7 Starter can be removed, but not the limit on two gigabytes of RAM.

As for the remaining 32-bit editions of Windows XP, Vista, 7 and Windows 8/10: in practice, even less is available to the user - 3.5 GB. The thing is that drivers also have their own addresses, which deprive the program Windows access to a portion of memory of 512 megabytes. There is a patch that allows you to “push” such addresses beyond four gigabytes so that the system begins to use all 4 GB of RAM, but this makes virtually no sense:

  • As I wrote above, drivers and programs will not be able to work correctly after such a patch, so the system may begin to freeze, produce errors, i.e. behave unpredictably.
  • Even if the computer has 8, 16, 32 GB or more RAM cards installed, this will not help in any way to use them in the 32-bit mode of the operating system.

What's the point of having an extra 512MB of RAM if the system becomes unstable? Here's a good example. You will still have to install 64-bit Windows.

Just because 4GB of RAM is visible doesn't mean it can be used effectively. The problem is that 32-bit Windows cannot competently allocate more than 2 GB of physical RAM to a process (program). Many people forget about this - and in vain. It doesn’t matter how much RAM is in the computer if the program cannot be given more than 2 GB of RAM. Example: if a user works in 32-bit Windows with Photoshop on a computer with 4 GB of RAM, Photoshop will be able to use only two gigabytes maximum, the rest of the data will be thrown into the swap file and will begin to slow down. It's the same with games.

In fact, only on a 64-bit operating system can programs utilize the full potential of more than two gigabytes of RAM. And not all of them, but only those designed to use more than 2 GB of RAM. The situation can again be corrected using the appropriate patches in 32-bit Windows, but this does not work with all programs. I repeat: only 64-bit Windows and 64-bit programs running in it are the only way to use the full potential of a large amount of RAM.

Meanwhile, the situation is different with server versions of Windows: much larger amounts of RAM are available there, even in 32-bit versions of the OS. Why this happens is described in the article Breaking the boundaries of Windows: physical memory from Mark Russinovich.

Let's sum it up

  • RAM optimizers cannot be used.
  • Touching memory settings is the same, even if the program has many hints that give a feeling of control over the situation.
  • Free RAM in Windows Vista/7/8/10 is used for good, it is better not to touch this functionality - everything works well, almost nothing can be improved.
  • If your computer is slow, then this is more likely not because of occupied memory (it is occupied by the useful cache), but because of , or a large amount running programs or one program that “takes” everything for itself.
  • Like

    In Windows XP, RAM is actively used various applications, and if any data does not fit in memory, it is temporarily stored on the hard drive in the so-called paging file (pagefile.sys). Interaction with the paging file (pagefile.sys) is much slower than with the computer's RAM, so optimizing work with pagefile.sys often makes it possible to increase the performance of the system as a whole.

    To configure the paging file settings, right-click on the My Computer icon located on the Desktop Windows desktop, and in the context menu that appears, select Properties. In the System Properties window that opens, go to the Advanced tab and click on the Settings button in the Performance section. The Performance Options dialog box opens on your screen. Open the Advanced tab.

    This tab displays three main settings sections.

    1. CPU time distribution. When selecting the option " Programs", more resources are allocated for active processes And custom applications. Option " Services running in background ", is useful when running a large number of applications in the background, or when downloading large quantities from the Internet. These settings can be temporarily changed to suit your needs.
    2. Memory usage. Option " Programs", is recommended when using applications that require significant amounts of memory, and if this computer used as a workstation, not as a server. In this case, programs will run faster, and for system cache the standard size set in Windows XP will be used. Option " System cache" is used if this computer is used as a server or work is carried out in programs that require a large cache.
    3. Virtual memory. This section will change the allocation of disk memory for the paging file.
    To change the paging file settings, click the button Change. A dialog box will open Virtual memory The top part of the window displays a list of all hard drives (or logical disk partitions) available on the computer. Select one of them with a mouse click. Below, in the section Paging file size for the selected partition, you will be able to see the current size of the paging file for of this disk and available free disk space. You can change the default paging file settings by setting the switch below to one of three suggested positions:
    • Special size. If this switch is selected, the initial and maximum size The virtual memory page file size in megabytes (MB) is set manually. For optimal performance, the total initial size of the paging file on all drives should be at least as large as the value in the Recommended field in the Total paging file size on all drives area.
    • System selectable size. When this switch is selected, the Windows operating system selects the optimal paging file size.
    • No swap file. If this switch is selected, the paging file on this drive is disabled. Microsoft strongly recommends that you do not disable the page file.
    Additional tips for optimizing the page file:
    1. If your computer has multiple hard drives, installing the page file on a different drive than the one on which the operating system is installed usually speeds up performance significantly.
    2. If the disk on which the paging file is located is divided into several partitions, then the paging file must be placed on the very first of them - physically located the very first, since access to these areas of the screw is the fastest. Recommended optimal maximum size: 2-3 volumes of RAM. Minimum size 1-1.5 RAM capacity.
    3. If you play games, use graphics, your computer works as a server, there is no point in limiting the maximum volume, as this may lead to programs crashing due to lack of memory.
    4. To ensure your security (the paging file stores passwords, logins and other confidential information that may become available), it is recommended that you clear the paging file when you shut down. To do this, you need to set a parameter in the registry like DWORD ClearPageFileAtShutdown equal 1 In chapter HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management. This will slow down the computer shutdown a little, but for safety's sake, 5-10 seconds is worth nothing.
    5. Use programs to defragment the page file.
    6. Thus, with the correct settings of the paging file, you can significantly optimize the performance of your computer’s RAM.

      If the article was useful to you, please share it with your friends.

    The process of cleaning and optimizing Windows OS has long become a trend. There are many on the software market commercial programs, offering various kinds of software operations that supposedly can speed up the system. Some of these operations can really be useful when cluttering system disk, to access the full list of startup objects, to correctly remove programs and in this kind cases.


    However, some operations will not provide any noticeable performance gain. Among the latter are utilities for optimizing RAM.

    What is their operating principle, why are they of little use, and what will really help speed up a computer with insufficient RAM?

    1. How RAM optimizers work

    The essence of the work of RAM optimizers is to free it up for use for user tasks. The mechanisms for releasing memory for such programs may be different. Some forcefully upload data to the swap file and clearly show the user the amount of released resources. And others create the illusion of needing a certain amount MB of RAM so that Windows itself removes what is needed into the swap file and frees up the requested volume.

    By last principle For example, an optimizer utility works as part of a comprehensive product for cleaning and Windows optimization— . We tell it how much RAM we want to free up within the available maximum amount. And the utility fulfills our order.

    Another product - a utility - works on the first principle. The utility does not take pre-orders from us, it releases the volume that it can free up.

    Such manipulations do not speed up the computer in any way. Firstly, after some Windows time will load the freed data back into RAM. Secondly, when accessing programs uploaded to the swap file, they can be terribly slow at first. Especially if the system is not working at SSD, and on HDD-disk. The latter have a negligibly low reading speed for small files that make up the program cache. Then how are such small files HDD will read at maximum speed 0.5-1 Mb/s, RAM will cope with this task at speeds exceeding 100 Mb/s. So why do you need such a productive resource to be idle?

    2. Managing RAM resource by Windows system

    The idea of ​​forced release of RAM resource is based on myths about its ineffective use Windows system. However, on different computers - with 2 GB and, for example, with 8 GB RAM – at the same average loads (open browser, office or media applications) in the system task manager we will not see any significant differences in the percentage of memory used. At least weakly, at least powerful computer "RAM" will never be filled to capacity, there will always be some amount of idle resource left. As new tasks are added, Windows itself makes sure that there is enough resource for all active tasks. And so that there is some gap left for the possible connection of some other tasks. When you launch a resource-intensive program or game, the system will analyze which of the currently active processes are rarely used and dump them into the swap file. And she doesn’t need any optimizers or game boosters to help her.

    Of course, if we run some kind of powerful game, designed for a large amount of RAM, Windows may not be able to cope with its tasks and display a message about lack of memory. There may be other abnormal cases - for example, a cluttered disk where the paging file is located, or the operation of programs that cause memory leaks. But these problems cannot in any way be prevented, much less solved, by RAM optimizer utilities.

    Modern versions of Windows are designed to make optimal use of RAM resources, rather than to save them. A certain amount that may be required for new tasks is left unused, and everything else is put to work. Windows does not unnecessarily access the paging file, so as not to burden the work of already problematic HDD. So if in the task manager we see resource usage "RAM" on 70-80% under appropriate loads, this is far from a reason to worry and rush to turn it off Superfetch or run a memory optimizer.

    3. How to really optimize RAM

    On computers with 4 GB RAM doesn't need to do anything at all. This optimal indicator for average user tasks. It makes sense to increase it in hardware only if it is necessary to run certain resource-intensive games and programs, the operation of which fundamentally requires a larger resource. If your device has less 4 GB "RAM", it would be advisable to upgrade. Adding memory sticks DDR2 or DDR3- This is the simplest modernization of PCs and laptops. This is the cheapest upgrade when compared to adding or replacing other computer components.

    If physically increasing the amount of RAM is not possible, in an environment Windows 8.1 And 10 you can exist relatively comfortably with 2 GB. In such cases, it is necessary to remove unnecessary background programs, do not allow too many applications to be active at the same time, and do not create a lot of active tabs in the browser. If possible, it would be advisable to replace HDD on SSD, this will give the most noticeable performance increase. Firstly, Windows will communicate more quickly with the swap file located on SSD. Secondly, other problems caused by slow work HDD .

    You can install editions on devices with low RAM Windows 7 or 8.1 Embedded– special stripped-down assemblies of these versions of the system, optimized for operation on low-power production equipment.

    Windows 7 is a complex set of interactions between many programs, so the speed of the OS is influenced by a huge number of factors. You can't just disable a couple of programs or change one setting to get a significant increase in system performance.

    Optimizing a system is not an easy task and requires care and integrated approach. This article covers the basic steps you can take to improve the performance of Windows 7 64-bit.

    Using an SSD

    If you use not a regular hard drive (hard drive) as a system disk, but solid state drive, then this event alone will quickly and significantly increase (64 bit). The main advantage of an SSD disk is its many times faster data storage and playback speed (500 MB/s) compared to hard drives.

    Even loading the operating system from this media takes only a few seconds. Currently, all the equipment used in computers is high-speed, the only weak link in the interaction chain is the hard HDDs, which slow down the operation of the entire system.

    Install a new BIOS and check the software is up to date

    It is necessary to perform the following analysis: are the drivers updated, is the PC's BIOS up to date? When installing drivers, you should take into account the bit depth, i.e. For a 64-bit OS, you need to download the appropriate software for your computer hardware. If there are no drivers for a specific device for Windows 7 (64), you can download the appropriate software for Vista.

    Increase RAM

    Often the problem of slow operation of a PC with Windows 7 is a simple lack of RAM. The best method to fix the problem is to increase the RAM. This event always significantly increases the speed of the PC and leads to optimization of the OS. In order to ensure comfortable Windows operation 7 (64-bit) requires at least 4 GB of RAM.

    Optimize the interface

    In “Seven” it is the main “devourer” of system resources. Although it only adds some beauty and individuality to the external design and is completely unnecessary for work. Significant performance degradation due to Aero occurs on a PC with an insufficiently powerful graphics card or if it is built into the motherboard.

    Turning off all almost invisible to the eye will improve performance Aero functions. To do this you need to open "Control Panel", then go to the “System” tab and go to "Advanced system settings". Next in the bookmark "Additionally" find and click on “Options”.

    Here you can disable functions such as: showing the contents of windows while moving, sliding effects, menu fading, animation, casting shadows on icons, cursors and windows, etc. Even disabling only some effects will already increase the speed of Windows 7, and in the case of an unpretentious user, it is recommended to click on “Ensure the best performance” in the settings.

    Optimize the list of applications in startup

    A significant number of applications are loaded simultaneously with Windows 7. The developers of these programs ensure that they are loaded in the background and the computer owner does not see them. But this is only necessary for utilities that are used constantly.

    Necessary unnecessary applications. Must boot with operating system the following programs: hardware drivers, firewall and antivirus utility. To optimize the list of automatically loading applications, you need to hold down the “WIN” key and press .

    Startup programs can be seen in the system tray on the taskbar. However, not everything is displayed there. Designed specifically for Windows application"AutoRuns", which is distributed freely from the Microsoft Corporation resource. "AutoRuns" shows a complete list of downloadable applications. In the window this application You just need to uncheck the boxes next to the unnecessary program.

    Disable unnecessary services

    By disabling the start of some services, you can improve your computer's performance. To do this you need to log in "Control Panel", further in "Administration", where in the “Services” tab select unnecessary service and click “Disabled”.

    Defragment your disks periodically

    With increased fragmentation data hard The disk is forced to do extra work, and this affects the performance of the PC. It is recommended to run defragmentation manually to organize files for optimal functioning of the hard drive.

    Turn off automatic defragmentation

    The creators of Windows 7 provided background execution defragmentation, during which computer performance is significantly reduced. You must configure the process through the “Start” button. In the “All Programs” tab, select the “Standard” line, then enter “Utilities”, where you can find "Defragmentation". To increase the speed of Windows 7, a prerequisite is to regularly perform defragmentation manually.

    Get rid of old, unnecessary or outdated applications

    Some PC manufacturers release their devices with already installed applications not needed by the user. They slow down Windows 7 by using memory and disk space.

    It is advisable to rid the computer of all unused applications. This list should be supplemented with programs that the user himself installed, but which have lost their relevance over time. The simple act of removing these programs will improve system performance.

    Remove unused gadgets

    In Windows 7, gadgets increase the comfort of using a PC, but they all require system resources to start and function. By using only the gadgets that are necessary for regular use, system performance will increase.

    Optimizing memory usage can serve two purposes: increasing the amount of memory available to applications and increasing the speed of memory accesses. On older machines, when the volume of installed physical memory did not exceed a few megabytes, often it was necessary to sacrifice something; V modern systems achieving both goals no longer contradicts each other. There is no doubt that the larger the installed amount of RAM, the better - the computer will be more powerful: it will allow you to load applications that are especially memory-hungry; increase the number of simultaneously running applications (in a multitasking OS); speed up work. However, in some cases, some additional steps are required to configure the computer to ensure that memory can be used.
    In systems with size installed memory more than 640 KB there are various options for using the last 384 KB of the first megabyte of physical memory:

    • memory is not used;
    • the area (or part of it) is moved to the end additional memory;
    • area (or part of it) is used as a shadow (Shadow) adapter memory and ROM BIOS.
    Moves the unused remainder of the first megabyte to the end of additional memory (allowed by setting the Memory Relocation parameter to CMOS Setup) is not always possible. Usually such a move becomes impossible if at least part of this piece is used as shadow memory.
    Also, relocation can only be offered if small volumes installed memory, and on modern motherboards oh, this opportunity almost never occurs. Therefore, you should not be surprised by the message about the amount of memory detected by the POST test, in which 384 KB is “not enough” relative to the installed one.
    Sometimes the BIOS offers a memory allocation in which 512 KB are allocated for standard memory, and the rest of the memory is used as extended memory. The benefit of such a distribution is difficult to assess. In this case, the above about the top 384 KB becomes true for the remaining 512 KB, however, the restrictions on the possibility of moving them to the end of the additional memory will be softer.
    The problem of ensuring memory availability is most acute for MS-DOS applications running on this system. Usually the “battle” is over kilobytes standard memory(conventional memory) available to applications. Of the 640 KB, after loading the OS and the necessary resident drivers, applications may be left with about 500 KB, or even less, which is unacceptable for a number of applications. Despite widespread implementation OS type Windows 9x, interest in running large MS-DOS applications (for example, accounting programs, including those forcibly distributed by tax authorities, as well as games) continues to this day. A message about a lack of memory on a computer with, for example, 32 MB of RAM for an application that modestly asks for only 590 KB is an unpleasant surprise for inexperienced users. However, this shortage is not fatal if you choose the right version and method of loading the OS. All software settings that affect the amount of available memory are hidden in the CONFIG.SYS and AUTOEXEC.BAT files located in root directory boot disk.
    Understanding the problems that arise in connection with the use of memory by various processors, for DOS applications we can recommend the following versions of MS-DOS, which are optimal in terms of the size of free standard memory:
    • for XT class computers on 8086/88 processors – MS-DOS 3.30;
    • for AT class computers on 80286 processors – MS-DOS 5.x;
    • for AT-class computers with processors 80386 and higher - MS-DOS 6.2x (however, at one time there were low-quality motherboards for 80386, on which MS-DOS 6.2x refused to load into the computer, although MS-DOS 5.x worked fine).
    In addition to MS-DOS, there are other real-mode operating systems that are compatible with MS-DOS (for example, PC DOS, DR DOS, COMPAQ DOS). Each has its own advantages and disadvantages compared to the corresponding generation of MS-DOS, but their discussion is beyond the scope of this manual. It is almost pointless to try to install protected mode operating systems (and shells) on computers with a processor class below 386. MS-DOS system 3.3 (we will not consider earlier ones) was loaded entirely into standard memory, but was quite compact and left acceptable space for applications of its time. When MS-DOS version 4 came out with more advanced capabilities that came at the cost of its growth, many applications refused to work in its environment precisely because of lack of memory, and this version of the OS was not widely used. Version 5 became more successful, which “learned” to use “high memory” (HML) on computers with a 286 processor and higher, if present. For this purpose it was introduced special driver high memory, and the CONFIG.SYS file must contain the following lines:
    DEVICE=[ ]HIMEM.SYS (High Memory Driver Load)
    DOS=HIGH (indicating that the OS is loaded into high memory)
    Of course, not the entire OS is loaded into the upper memory - some still end up in the standard memory. In addition, resident drivers are also loaded into standard memory - for example, keyboard and screen localizers, a mouse driver, etc. All of them take up a piece of memory that applications could use. On computers with 32-bit processors (386 and higher) that have a paging mechanism, it is possible to use “upper memory” (UMA) using the EMM386.EXE driver. This driver finds regions in the UMA (A0000-FFFFFh) that are not occupied by device memory and maps them to areas of available additional memory. Operating system modules and loadable drivers can be placed in these regions, normally addressed by the processor in real mode; applications can also use them.
    For the most compact loading MS-DOS versions 5 and higher (as well as Windows 9x, which can be represented as MS-DOS 7) the CONFIG.SYS file must contain the following directives:
    DEVICE=[ ]HIMEM.SYS (load high memory driver);
    DEVICE=[ ]EMM386.EXE (load extended memory manager);
    DOS=HIGH. UMB (indication to load OS into high and high memory).
    Resident drivers (keyboard, screen and printer adapters, mouse driver) are usually loaded into standard memory by default. If MS-DOS applications do not have enough free memory, then at least some of the resident drivers can be loaded into the upper memory of the UMA. For drivers loaded from the CONFIG.SYS file, the DEVICEHIGH ]= command should be used instead of the DEVICE command, which will attempt to load the driver into the n-region of the UMB. The optional parameter m specifies the required amount of memory (it may differ from the size of the driver file). The /L boot switch along with the n, m parameters is used for manual memory optimization. If the driver needs to allocate several memory areas, they are listed in a list of the form /L:nl[,ml]:n2[,m2][;...]. For resident programs loaded from the AUTOEXEC.BAT file, the LOADHIGH (LH) command serves the same purpose, with similar optional parameters specifying the size of one or more UMA areas. The launch line will look like:
    LH]<путь\><файл>[<параметры>]
    You can view the current position of free memory blocks using the MEM/F command from command line DOS/Windows. In order to avoid manual memory optimization, DOS/Windows has included the MEMMAKER.EXE dialog utility, which will place the required commands in the CONFIG.SYS and AUTOEXEC.BAT files in several steps. Before it can be launched, these files must contain links to all necessary drivers and programs. The CONFIG.SYS file must begin with the above three lines (if you do not specify DOS=HIGH, the utility may be shy about using high memory to load DOS). The launch of non-resident applications, as well as a shell like Norton Commander from the AUTOEXEC.BAT file while MEMMAKER is running, should be canceled (MEMMAKER reboots the computer several times and starts automatically after the AUTOEXEC.BAT file is processed). On initial startup, MEMMAKER asks if EMS memory is required for applications and, if not, sets the NOEMS key in the EMM386 startup prompt.
    In order for the upper memory to fit as many modules as possible, it should be optimized. UMA optimization implies this configuration base addresses buffer and permanent memory adapters, in which free UMA areas would be maximized possible size. We should strive to tightly connect the UMA areas occupied by the adapters. Then the maximum size of UMB blocks will increase, and a driver like EMM386 will be able to accommodate larger modules in it, which, in turn, will free up extra bed in acutely deficient standard memory. If you do not pay attention to adapter configuration, it may turn out that two computers with the same hardware and software will have significantly different standard memory sizes after loading the OS.
    Many adapters (SCSI controllers, local network adapters, etc.) allow you to set the addresses of areas of built-in RAM and ROM mapped to the computer's memory space. This allows you to resolve (or, conversely, create) conflicts in the use of UMA, as well as optimize the use of its blocks. When configuring the adapters to be installed, it is necessary to exclude overlapping occupied addresses, since this will most likely prevent any of the conflicting devices from working. The most unpleasant (hard to resolve) conflict occurs if, when configuring an adapter, its memory overlaps the buffer or Graphics BIOS adapter. If configuration is carried out using jumpers, then returning the normal configuration will not be difficult. And if the adapter is configured only using a special utility that changes its contents non-volatile memory, then you can change its configuration only by downloading and executing the appropriate utility. But if there is a conflict with the graphics adapter, this is not so easy to do - in best case scenario it will be possible to boot a computer with a “blind” screen, and in the worst case, POST will refuse to continue testing and loading, having detected an error graphics adapter and reporting this by beeping from the speaker. But this situation is not so hopeless: there is also an MDA graphics adapter in nature, whose video buffer does not match the addresses with common EGA and VGA adapters, and it does not have a BIOS extension. By inserting the unsuccessfully configured board into a computer with an MDA adapter (and, of course, the corresponding monitor), you can use the utility to set the correct configuration. However, this method is no longer suitable for new computers that do not have ISA bus slots.
    In addition to the space occupied, optimizing the use of UMA concerns, oddly enough, performance. For adapter memory areas, shadow memory is often useful. Shadow memory is managed through CMOS Setup for specific areas. Therefore, when placing configurable memory areas, you should sometimes consider the ability to set shadow memory boundaries in CMOS Setup. It must be remembered that Shadow ROM blocks writing, and Shadow RAM ignores the possibility of changes on the part of the adapter to the shadowed memory area, which will lead to errors if shadow memory is used incorrectly. For processors 386 and higher, the EMM386 driver can also organize shadow memory, but this function is rarely used.
    Operation of applications in the MS-DOS environment, which actively uses program code BIOS significantly speeds up shading of ROM BIOS, both system and graphics adapter BIOS and disk controller. For multitasking protected mode operating systems (Windows, etc.), ROM BIOS shading only speeds up initial process loading the OS, since in operating mode it mainly uses drivers loaded into RAM.
    Windows OS applications use virtual memory, and they don't need any old EMS and XMS specifications. The total amount of virtual memory available to all applications is determined by the size of RAM and swap files (there may be several of them). In Windows 9x, the size of the paging file changes dynamically according to system needs. In order for applications to have enough memory, the disk carrying the paging file must have enough free space (tens and hundreds of megabytes). Of course, the amount of installed physical memory is also important - its small amount can be a fundamental limitation on running a number of applications or installing operating systems. With a small amount of RAM, swapping (paging) will be too intense, as a result of which the speed of applications will be significantly reduced (access to the disk is several orders of magnitude slower than access to RAM). Real-time applications (for example, audio and video players, and even more so encoders) may become inoperable precisely because of the small amount of RAM. Because the paging file changes size as it runs, it is important to monitor the fragmentation of the disk carrying the file—accessing a fragmented file is slower than accessing a non-fragmented one. When choosing a disk to host the paging file, you should take into account its performance - access time and data transfer speed. When using real-time applications that intensively communicate with disks (the same players and encoders, as well as programs that burn CDs), if possible, the paging file should be placed on other disks.
    If on a computer running a protected mode OS (Windows, Unix, OS/2...) applications with messages about insufficient RAM stop starting, check the availability of free space on the hard drives, used for swapping. If MS-DOS applications do not have enough memory, check the AUTOEXEC.BAT and CONFIG.SYS files and run the MEMMAKER utility or perform manual memory optimization.
    Increasing the physical amount of RAM in some cases can lead to an unexpected decrease in computer performance. This is possible when the motherboard (or processor with a secondary cache) is not able to cache the entire amount of RAM. Many Pentium motherboards only cache the first 64 MB of RAM; the first Pentium II processors cached only 512 MB. Memory beyond the size of the cached area is, of course, available, but its performance is much lower than that of the cached area. Windows 9x OS allocates memory starting from the top of the available memory, with its kernel at the top, the speed of which is essential for the operation of many applications. If, after increasing the RAM, the kernel ends up in a non-cacheable area, you may see performance degradation. To treat this disease, you can use the shareware program W2CACHE.COM, which runs at the beginning of Windows boot and, while remaining resident, “eats” the upper part of the memory, forcing Windows kernel load into the lower, cached area. After downloading is complete Windows program frees up the occupied memory, and the OS makes it available to applications.