MemBlocker Version 1.1 Documentation COPYRIGHT This program is © 1993 by Carsten Melberg. Documentation and Beta-Testing by Günther Rehm. INTRODUCTION MemBlocker blocks memory. You are able to allocate memory blocks of a specified size and release them later. This may be done from Workbench or CLI, Kick 37.175 (OS2.0) or greater is needed anyway. WHY BLOCK MEMORY? Blocking memory is usefull for all those with different types of FAST-RAM, this is 32-bit and 16-bit ram. Many owners of accelerator cards and some other expansion memory have both of these types in their system. When you boot your system, the software or hardware of the accelerator assign the 32-bit ram to the highest memory-priority. So nearly all of this 'fastest' ram is used before the 16-bit ram is touched. When there is no more 32-bit ram left you suddenly see a significant slowdown after starting a program in 16-bit ram. So one would like to save as much as possible of the 32-bit ram for those programs that need 'fastest' memory. One the other hand, there are many programs that don't need 'fastest' ram. Comodities, other utilities, diskcaches, buffers and more. Many of these are started in the startup-sequence, user-startup or wbstartup-drawer. This is where MemBlocker comes in: You block your precious 'fastest' 32-bit ram before launching those applications and release it afterwards. So the applications are forced to use the slower 16-bit ram. But be careful what programs you force into slower ram: devices, handlers, simply everything where speed is needed should get 'fastest' ram. Another usage might be to shrink your availible memory for test purposes. USAGE To Block the memory: CLI: MemBlocker (use 'run >nil:' to detache) WB: Tooltypes: BLOCKSIZE= TOOLPRI= STARTPRI= DONOTWAIT Blocksize is the size of the allocated memory blocks. This means, that the largest availible block of 'fastest' memory is smaller than . You may use this, to leave a space, that is big enough for e.g. a diskcache program, but the cache memory is forced into slower ram. The last three tooltypes are standard for all wbstartup icons, but they are extremly useful for MemBlocker. DONOTWAIT is obvious, because MemBlocker wait with the return till the memory is released again. STARTPRI is needed to enable that MemBlocker is started before all other programs in wbstartup. It should be set to a priority higher than in all other programs, except you want a program to get 'fastest' ram. Make sure that all programs in wbstartup have their STARTPRI assigned. TOOLPRI should be set to 4. If you don't do so, the other task, which are started immidiatly after MemBlocker compete with their memory allocation and may get some of the 'fastest' memory. This causes extreme memory fragmentaion an should therefor not be done. Also take a look at the Project icon BlockMemory. To free memory just launch MemBlocker again. Arguments and Tooltypes are ignored, the second launch just sends a signal to the first to release the memory and exits. The wbstartup Tooltypes are of course not ignored, you should set STARTPRI to a value smaller than in all other icons, so the memory is released after starting all other programs. Take a look at the Project icon FreeMemory. INSTALLATION Drop MemBlocker anywhere (sys:system/ is a good choice I think). Drop BlockMemory an FreeMemory in wbstartup and adjust the Tooltypes of all wbstartup programs. DISTRIBUTION MemBlocker may be freely distributed, as long as no charge is made other than to cover time and copying costs. The package must be distributed as the original archive. If you want to include MemBlocker as part of a commercial package, contact the author listed below. Fred Fish is specifically given permission to include MemBlocker in his fine disk library. It is also allowed to put MemBlocker on free accessible BBS's or Internet sites. LEGAL DISCLAIMER WITH THIS DOCUMENT WE MAKE NO WARRANTIES OR REPRESENTATIONS, EITHER EXPRESSED OR IMPLIED, WITH RESPECT TO THE PRODUCT DESCRIBED HEREIN. THE INFORMATION PRESENTED HEREIN IS BEING SUPPLIED ON AN "AS IS" BASIS AND IS EXPRESSLY SUBJECT TO CHANGE WITHOUT NOTICE. THE ENTIRE RISK AS TO THE USE OF THIS INFORMATION IS ASSUMED BY THE USER. IN NO EVENT WILL WE BE LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY CLAIM ARISING OUT OF THE INFORMATION PRESENTED HEREIN, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITIES OF SUCH DAMAGES. CARDWARE If you like this little program and use it, please send me a Postcard to the address below. AUTHOR Snailmail and Postcards: Carsten Melberg Karlsbader Str. 3 D-8520 Erlangen (D-91058 Erlangen from 1. July '93) Germany or for the documentation Günther Rehm Am Färberhof 6 D-8520 Erlangen (D-91052 Erlangen from 1. July '93) Germany Email: cnmelber@cip.informatik.uni-erlangen.de or grrehm@cip.e-technik.uni-erlangen.de HISTORY Version 1.00-1.02 internal releases Version 1.1 first public release