[comp.sys.m6809] OS9 load command

ac@utgpu.UUCP (11/16/87)

   The OS9 level I load command allows you to specify multiple modules
to be loaded as in:
load dir copy backup format
OS9 level II command also allows this syntax but if you specify to many 
modules you will get a 207 error.  This error won't happen if you specify
the modules on separate load commands.  I believe the problem here is
that the load command is trying to map all the modules into load commands
address space.  Isn't there some version of the load service which doesn't
map modules into the address space of the requester and shouldn't the load
command use this?
   While I'm at it there should be another OS9 service which allows you to
load multiple modules AS IF they were located in one file.  The closest I
thought of so far is a command which copies requested modules to RAMdisk,
merges them, loads the merged file and then deletes it.  This way you
could sort of dynamically tailor your merged modules.  Maybe one could
also create a service that would merge a module to a bunch which had
already been loaded into storage.


-- 

Name:     Mark Acfield (University of Toronto Computing Services)
Path:     ihnp4!utgpu!ac   
Alias:    ac@utoronto.bitnet

pete@wlbr.EATON.COM (Pete Lyall) (11/18/87)

In article <1987Nov16.142303.4540@gpu.utcs.toronto.edu> ac@gpu.utcs.toronto.edu (Mark Acfield) writes:
>
>
>   The OS9 level I load command allows you to specify multiple modules
>to be loaded as in:
>load dir copy backup format
>OS9 level II command also allows this syntax but if you specify to many 
>modules you will get a 207 error.  

The load command is set up this way so you can achieve multiple loads
into the same block(s) & map. If memory serves:

load prog1 prog2 prog3

Is the same as:

merge prog1 prog2 prog3 >buncha_progs;load buncha_progs


Loads on separate lines operate independantly.


-- 
                                                   Pete Lyall

Usenet:     {trwrb, scgvaxd, ihnp4, voder, vortex}!wlbr!pete
Compuserve: 76703,4230 (OS9 Sysop) OS9 (home): (805)-985-0632 (24hr./1200 baud)

rms@frog.UUCP (11/18/87)

In article <1987Nov16.142303.4540@gpu.utcs.toronto.edu>, ac@gpu.utcs.toronto.edu (Mark Acfield) writes:
> OS9 level II command also allows this syntax but if you specify to many 
> modules you will get a 207 error. 
> 

The OS9 Level II load command attempts to load all of the files specified
on the line into the same page of memory.  If all of the modules will not
fit in a page, the error #207 results.

Perhaps, the load command could be more clever and load into multiple pages
when necessary.  However, that may not be what the user had in mind.  It
may be necessary for certain modules to occupy the same page for various
reasons.

This feature of load has a good point.  For instance, OS9 Level
II has problems if you load a device driver and an associated device
descriptor into separate pages of memory.  However, if you load them into
the same page of memory, the system will work fine (almost) up to a point.
As far as I can figure, this works for device drivers once, and only a
single driver/descriptor pair can be accessed in this way.  This is fine
for debugging a driver.

With the current state of load, one should calculate the size of the text
sections of the modules desired and use a separate load line for each
group that has a total text size less than 8K.

Your point about a multiple module set of commands is well taken.  Maybe
someone will come up with such a set of commands.

Bob Santy

jejones@mcrware.UUCP (James Jones) (11/20/87)

-----------------
I've noticed a 207 when I try to load up a large program (parts of the C
compiler spring to mind :-), but an mdir shows it as being present in
spite of the complaint.  For completeness's sake I guess I should do an
ident, but it sure looks like it's there, and the kernel shouldn't let
it in the module directory if it looks bad.

		James Jones