Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!mit-eddie!bu-cs!halleys!ulowell!page From: page@ulowell.UUCP Newsgroups: comp.sys.amiga Subject: Re: Shells. Message-ID: <1213@ulowell.cs.ulowell.edu> Date: Thu, 23-Apr-87 13:09:28 EST Article-I.D.: ulowell.1213 Posted: Thu Apr 23 13:09:28 1987 Date-Received: Sat, 25-Apr-87 05:11:32 EST References: <50@f.gp.cs.cmu.edu> Reply-To: page@ulowell.cs.ulowell.edu (Bob Page) Organization: University of Lowell Lines: 44 mjw@f.gp.cs.cmu.edu (Michael Witbrock) wrote in article <50@f.gp.cs.cmu.edu>: >Lately I have been thinking about ways to speed up the CLI. The CLI is fast enough (since it doesn't really do anything); it is DOS loading the commands from disk that you are concerned about. >This would require replacing the CLI with a (very primitive) shell program. >This program, when given a command to execute, would look for it on ram: This happens now if you use the PATHS feature of the CLI. I suspect the point of your article was that the shell put every command into ram when it gets started up, providing room. The problem with this (assuming you use a fixed area for the shell's 'cache') is that commands will be even slower to start up if they are not already in RAM, since the shell has to copy it there before it starts it up for you. This gets worse when your cache fills and you have to start removing files (LRU, etc) to fit your new one in. Also, since this is a multitasking machine, you will either end up with redundant caches (two CLIs, each with 'emacs' in ram?) or collisions for the same cache (I have 150K free, CLI 1 starts up DPAINT and CLI 2 starts up METASCOPE ... who gets the space?) In effect, it is a better idea if _you_ figure out what commands you use all the time and want quick activation for. Put them someplace in your ram disk - say RAM:C, and point the CLI (via the PATH command) to look there first. It is dynamic, can be shared across CLIs without problems, can be added to or deleted from easily. To implement your idea you'd need some kind of AI that knew what you'd been doing and what you were probably about to do. Maybe a shell that counts activations over time, and if it sees (say) 10 activations within 30 minutes it asks "Should I put this in RAM:C for you? You seem to be using it often enough that you'll benefit from the decreased load time. You'll have enough room in RAM if I remove FOO, since you haven't used it in the last 2 hours." The best idea, however is to rewrite AmigaDOG. ..Bob -- Bob Page, U of Lowell CS Dept. page@ulowell.{uucp,edu,csnet}