Yuri Nesterenko God, give me memory... Prayer of the soviet programmer Main program to the malloc function: Request for providing allocation of 257 KB of Conventional Memory. Malloc function to the operational system: Request for providing allocation of 257 KB of Conventional Memory because of production necessity. Operational system to the main program: Providing of 257 KB of Conventional Memory is not possible because of it's absence. There's 3 megs of Extended. Do you want it? Main program to the exception handler: Lapse of memory allocation. :( What shall we do? Exception handler to the optimization procedure: We should obtain spare memory through using system resources more rationally. Interruption controller to the interruption handler: That's, eh... user has pressed a button... Main program to the interruption handler: Don’t panic! He will release it soon. Optimization procedure to the exception handler: Finished! Main program to the exception handler: What's now? Exception handler to the main program: It's even worse. Maybe, we should initiate a disk swap? Main program to HDD: Request for accepting a deposit of 257 KB in a swap-file HDD to the main program: Your request can not be fulfilled because free space is not available. Main program to the operational system: What the bug is that? It must be some free space there! HDD to the main program: Not a bug. You haven't yet took the last 4 megs swap-file. And, by the way, I'm not elastic. Not even using a stacker program. Interruption controller to the interruption handler: That's, eh... user is pressing a button here... again... Interruption handler to PC speaker: Say something, get rid of him! PC speaker to the user: Beep! Main program to the operational system: Maybe we can redistribute something in memory? Operational system to the main program: Other programs need memory too. Do you really want a General Protection Error? Main program to the hack function: Now, find out who ate all the memory and throw those motherhackers away! Interruption controller to the interruption handler: That's, eh... user is pressing Ctrl-Alt-Del! Main program to the interruption handler: Lock the keyboard for that wimp! We have some critical tasks here... Hack function to the main program: Ready! A piece of cake! Main program to the operational system: What's now? How much memory is free? Operational system to the main program: 320 Conventional and... oh, but where is Extended Memory Manager? Main program to the hack function: What have you done, rascal? Hack function to the main program: But what have I done??? You said "throw them away" so I threw them away! Malloc function to the operational system: Request for providing allocation of 257 KB of Conventional Memory because of production necessity. Operational system to the main program: I can't. I had some important data in the high memory. And, generally speaking, I'll soon hang myself with all of you! Reset button to CPU: Guess what? Game over, morons! ... COLD REBOOT... Autoexec.bat to the main program: So, where have we finished last time? (c) Yuri Nesterenko http://yun.complife.ru Translated by Yuriy Lapitskiy, 2004 http://yuriybrisk.narod.ru