[net.micro.amiga] AmigaDos Problems

toebes@sas (01/28/86)

I have been reading the many comments that fly across about 'ripping'
out the 'operating system' and writing a complete replacement (maybe
UNIX).  I too am not completely satisfied with the 'operating system'
but before considering starting from scratch I studied it and came
up with what I felt the problems were:
    1) There is no way to recover previous commands or perform extensive
       editing on the current command.
    2) The commands are somewhat inconsistant with one another (LIST 
       and CD) though not unusable or impossible to get used to.
    3) The lack of a search path makes the Execute() sequence of loading
       C:RUN then the command itself somewhat displeasing.  Furthermore
       if you put RUN into ramdisk then everything else basically would
       have to be there too.
    4) Parsing of commands is quite limited and could readily be improved
       by allowing piping and some form of aliasing.  Although Piping may
       seem to be a UNIX fall through, it proves to be so useful that 
       even MSDOS implemented it.
    5) Batch files do not automatically execute.  One has to tell the 
       system that the text file it recognized as not being an object
       file that it contained commands to be read.
    6) The Batch facility is seriously lacking.  IF, LAB, SKIP and the
       other 'structured' statements are horrible kludges to avoid 
       writing a batch processor.  In reality, a batch processor really
       would have been easier instead of putting most of the information
       into the AmigaDOS process structures.
    7) There is no 'SHELL' to assist the programmer/user in running
       commands.  Some limited parsing and built in commands would
       make life easier.

I know that these aren't all the problems, but I believe that it summarizes
most of them.  I don't believe that it is a problem that it isn't UNIX
because it is an Amiga.  (I happen to like many of the UNIX features)
Good programmers can and should go from one system to another readily
(I can see the flames coming on that one).

What I feel should be done is to discuss exactly what the problems are
and come up with the *BEST* fix not what appears to be the easiest to
decide.  Some solutions I propose to solve the above problems turn out
to be quite little work when you consider the end result:
   for 1 - Write an AmigaDos device driver for the CON: window that allows
           editing to be done on *EVERYTHING* including command retreival
           and function key usage.  With this even programs can benefit
           from the utility without having to account for it.  The change
           is transparent.
   for 2 - Rewrite or modify those problem commands to fix them.  New
           commands can be added to the basic set as appropriate.
   for 6 - Write a batch processor to be invoked on batch files that 
           interprets their contents.  There are already many of these
           on UNIX systems that could be readily ported.
   for 3,4,5,7 - 'Fix' the Execute command C:Run program so that the
           behavior is acceptable.  I am not completely sure, but I
           believe that all CLI commands eventually go through Execute()
           or RUN before the program actually starts up.  If this not the
           case then we should find a common point through which all
           commands pass and catch it there.  At that point, the command
           can be broken up/parsed minimally as necessary to get pipes
           or redirection files specified.   The command should then be
           searched for on something other than C: and if the resultant
           file is not an executable program, start the batch processor
           on it.

I have been toying with these solutions to determine their feasability and
so far have not found any serious problems.  I want to see my Amiga much
more friendly and tool oriented than it is but don't want to wait the 
year or two it would take to port an entire OS (If that short a time).
I would like to hear other opinions on how to improve the OS with the
minimum of work (and potential bugs/problems)

John A. Toebes, VIII      !mcnc!ncsu!sas!toebes (on clear sunny days)
120-H Northington Place   Cary NC 27511