Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!lll-tis!lll-lcc!ptsfa!ihnp4!alberta!edson!tic!keith From: keith@tic.UUCP (Keith Clifford) Newsgroups: comp.sys.amiga Subject: Re: Use of Resident Message-ID: <141@tic.UUCP> Date: Sat, 31-Oct-87 20:53:01 EST Article-I.D.: tic.141 Posted: Sat Oct 31 20:53:01 1987 Date-Received: Thu, 5-Nov-87 06:49:49 EST References: <4086@garfield.UUCP> <21428@ucbvax.BERKELEY.EDU> <21466@ucbvax.BERKELEY.EDU> Organization: U of A, E.E., Edmonton,Canada Lines: 29 Keywords: resident Summary: Nice idea but it has problems. In article <21466@ucbvax.BERKELEY.EDU>, shs@ji.Berkeley.EDU (Steve Schoettler) writes: > What about sorting an exacutable file's hunks on the disk so that the data > hunks come first? Then rewrite LoadSeg() to first look and see if the > program is "resident" and if so, only load in the new data hunks. > Programs could modify variables (including globals) however they wanted > because they would all have their own data space. It's always disappointing to find out a great idea which you had, someone else had first (multiple processes running the same code, the rest of the stuff is new to me). Some distinctive way of telling that the code is reentrant would have to be determined (one that some other non-reentrant code would not mimmick by accident). So I would prefer adding new routines like LoadRentrant and CreateRentrant and leave the house keeping up to the programmer as is consistant with exec programming philosophy. Processes are entered at the first location of the first segment by the caller, possibly a CreateProc, but this would require putting code in a data segment (ICH). All of this is of course surmountable but the monster grows. When the idea first came to me, I approached it with the intent of replacing C: for useful routines like copy, cd, dir, and newcli. Rewriting all of these routines in assembly creating a device driver/handler that could load a copy of data into memory from the device and would pass control to it. I have a hack set of routines that sets up and runs multiple tasks using the same code. If anyone is interested I could ship you source and executables. But thank you. You've given me some ideas which could prove fruitful (if I ever get motivatuffic