nsw@cbnewsm.att.com (Neil Weinstock) (08/13/90)
I'll try to make this brief, but it's a little convoluted. I have always in the past used REZ; it worked fine and I didn't use the 1.3 shell anyway. Now I've switched to SKsh and REZ doesn't consider it pure, so it won't share it. According to the SKsh docs, it *is* pure, and I have set the pure bit. My first question is, anyone know why REZ doesn't consider SKsh to be pure? I am now juggling three resident commands: SKsh resident, AmigaDOS 1.3 resident, and REZ. I have two goals: 1) speed up invocations of new shells and 2) make SKsh shared to reduce memory consumption (I'm only working with 1 Meg, so it's important). I have not been having much luck. If I make SKsh resident using it's own resident command, then that works, but doesn't solve my problem, since I usually pop up new shell windows with the dmouse hotkey. It also means that the *first* SKsh is not running out of a resident copy, wasting ~60K. So, I tried making SKsh resident using the 1.3 command, and converting over to using the 1.3 shell. This appears to have absolutely no effect. I feel like I have tried everything: I have made all the commands in my shell-startup file (which is in RAM:) resident along with SKsh, but it still grinds the harddisk and eats up enough memory for a brand new copy of SKsh. I even REZed newshell, which seemed to be the only way to solve that part of the problem. All to no effect. Anyone have some obvious pointers on how to make this all work? The interaction between all the various resident systems has never been particularly clear to me, but the bottom line is that 1.3 resident just doesn't seem to be working. All suggestions appreciated. - Neil --==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==-- Neil Weinstock @ AT&T Bell Labs // What was sliced bread att!edsel!nsw or nsw@edsel.att.com \X/ the greatest thing since?
koren@hpfelg.HP.COM (Steve Koren) (08/14/90)
> shell anyway. Now I've switched to SKsh and REZ doesn't consider it pure, so > it won't share it. According to the SKsh docs, it *is* pure, and I have set > the pure bit. My first question is, anyone know why REZ doesn't consider SKsh This part I can't answer. SKsh is made pure by telling Lattice to make it so (which I think involves some special code which copies the data segment upon invocation). Perhaps this is confusing REZ. > hotkey. It also means that the *first* SKsh is not running out of a resident > copy, wasting ~60K. > So, I tried making SKsh resident using the 1.3 command, and converting over > to using the 1.3 shell. This appears to have absolutely no effect. You *can* make SKsh resident with the AmigaDos resident command. Works just fine; I do it on my system. There is a brief description of how to do this in the "Hints.doc" file (or at least, I think that's where it is). However, if you use the c:resident command to make SKsh resident, you have to then invoke SKsh from the AmigaDos shell (because others won't see the AmigaDos resident list - see below). > Anyone have some obvious pointers on how to make this all work? The > interaction between all the various resident systems has never been > particularly clear The trouble is that there are several different standards. The AmigaDos one seems to work great but is a little difficult to use from a programmer's point of view. The ARP solution (which the SKsh "resident" command uses) is different. In other words, if you add something to the AmigaDos resident list, it won't appear on the Arp list, and vice versa. I don't know what REZ does, but it may be yet another mechanism to accomplish the same thing. Of course, none of these mechanisms really interact very well; for example, a command added to the Arp resident list will be handled correctly from the Arp shell or SKsh, but not from the AmigaDos shell. The same applies in reverse. I will probably change SKsh to use the Commodore solution when I compile under AmigaDos 2.0. - steve
jbickers@templar.actrix.co.nz (John Bickers) (08/16/90)
Quoted from - koren@hpfelg.HP.COM (Steve Koren): > vice versa. I don't know what REZ does, but it may be yet another > mechanism to accomplish the same thing. Of course, none of these I got the impression that Rez actually fiddled with the program when loading (ie: a re-write of LoadSeg) so that *it* made copies of data areas and so on. Which can handle some impure programs. The other types of resident lists don't do that (or don't seem to). They just take "pure" programs (determined by a checksum test) and redirect LoadSeg or whatever to use the loaded version all the time. > I will probably change SKsh to use the Commodore solution when I > compile under AmigaDos 2.0. How documented is the CBM resident list? I've got a prog that controls a resident list for Workbench, and while I use WShell I'd be interested in scanning the AmigaDOS list too (can't scan WShell's - proprietary). Same thing goes for aliases too (though I guess they can be scanned by running alias into a temporary file, or something). > - steve -- *** John Bickers, TAP, NZAmigaUG. jbickers@templar.actrix.co.nz *** *** "Man, Machine -> Super Human Being" - Kraftwerk. ***