Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!ucsd!ucbvax!pnet91.UUCP!ericmcg From: ericmcg@pnet91.UUCP (Eric Mcgillicuddy) Newsgroups: comp.sys.apple2 Subject: ViM Message-ID: <9010040400.aa06851@generic.UUCP> Date: 4 Oct 90 03:53:21 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 35 System 5.0 added the Out of Memory Queue to the system structure. Whenever you ask for a block of memory there is a chance that memory will be compacted and purgable blocks get purged. In lieu of this I propose that the blocks be swapped out until sufficient memory is available. Also because of this, unless you lock the block, a deferenced block may not be where you think it is. CheckHandle will force the swap in of a memory block if not present in real memory. This makes sense since memory pointers are no longer guaranteed, unless one never allocates new handles (or reuses the same ones over and over). Various other memory manager calls will force a swapin (don't have the list in front of me). Vim will be exactly 64k in size and this includes an LRU queue to track the oldest handles (it is fixed in size and limited to about 1000 memory blocks). Another option would be to alter the memory manager data structure to include the LRU, but this is guarantted to break many programs that don't exactly follow Apple's guidelines, and would also give DTS kniptions. There is a possibility that ViM will work with 68000 based Macs, but I think there is a good chance that the Mac's stack could be swapped (this is bad), Bank 0 on the GS is inviolate to ViM (I'll code it in now! :). Even if this is not 'true' virtual memory, it will at least provide automatice overlays for huge programs. (Who'd ever need more than 1 Meg of memory anyway:). additionally, this is only part 1 of a proposed 3 part series. Part 2 is Multi8, interupt driven task switching of 8-bit programs (prodos only at this time, unlike Softswitch). PArt 3 is Vigour, true multitasking of 16-bit programs. I am still not satisfied with what I've done so far, but I hope to release it locally for Beta in the next 2 or 3 weeks. Dpending on how things go, I'll see about getting it on the net by Christmas (Of what year you ask?). Also depending on how things go, I will likely be the owner of a 386 clone or a ROM04 GS, whichever comes first, by Christmas. Not much point in time slicing 2.8MHz is there? :( UUCP: bkj386!pnet91!ericmcg INET: ericmcg@pnet91.cts.com