Multitask Deficient
22 messages in this thread
I have an Amiga 2000HD with AmigaDos 2.1 and I have not been able to find a
utility that will let me do 2 things I think any multi-tasking system should
let the operator do. First, I would like to be able to view the execution of
scripts (even in another process) line-by-line to monitor their effect.
Second, I would like to be able to monitor the actions of processes spawned
independently (and that do not necessarily open their own window, e.g. batch
processes) to see what they are doing. I would NOT like to "junk" the current
operating system or double its size to do these things. The closest think I
have found so far it the Amiga Real-Time Monitor, but I want to see something
more operator-friendly (i.e. not something resembling hex dumps, but something
resembling English) Does anyone know of anything that fits the bill? (I admit
that I have not yet become an expert on AmigaDos 2.1, but I have skimmed the
manuals and I do not see anything like this included. And NO, I don't want to
be an expert Arexx programmer before I can get results and I do NOT have a C
compiler NOR do I want one!) (How's that for demanding?) ;^) –Charles Reed
If you're only working with AmigaDOS 'execute' scripts, then I'd think the
problem would be easy to solve, but I get the feeling you want a cleaner, more
integrated solution. In each script, add "echo" statements that help show
what's going on. Then start each in its own window, or redirect its output to
a new CON: window, or redirect the output to NIL: if you don't want to see it.
Then it's just a matter of rearranging and expanding windows to see what's
going on.
You can monitor scripts in 2.1, I'm not sure about 2.04, by typing "set echo
on" into the shell. I'm not sure if this is documented or not.
Thanks for the tip(s)! I try them out. SOMETIMES I want to know if a
PROCESS is alive and chugging and sometimes I want to know EXACTLY
what its doing as well, not just what scripts are doing. Then, if I
see the process is caught in a loop or just irretrieveably "hung up"
in some way, I want to be able to remove it and free up system
resources without disturbing the other processes. –Charles Reed
Charles,
Killing a program or script can become somewhat involved as
the Amiga doesn't have specific tools for that. ARTM can be used to
kill a task or process, although you may have to be careful about
killing a process if it was started by another task. Killing scripts
may require trying to send a Break to the script if the script will
respond. The Break command is used for that. You would need to run
Status to determine what the task number is to which the break is
sent, then use the Break command. There are a number of PD/shareware
programs around for monitoring and/or killing tasks as well as for
seeing what's going on.
If a script has been launched using Run then it runs in the
background and shouldn't interfere with other operations even if it
hangs. But if it was run in the foreground, then it may never return
control to the CLI from which it was executed if it hangs in a loop.
Using Set Echo ON can help display command lines as they are executed
in the CLI from which the script was launched.
One of the other monitors available besides ARTM is XOPER. I don't
know if XOPER allows you to kill a task or not, although ARTM will.
Thanks for this info! Looks a lot like what I had in mind! I must spend some
time offline digesting the information I've received from you and others before
I do anymore downloading. Once, again, thanks! –Charles Reed
Charles,
I'm happy to know the information was useful. Because you
said at one time you were relatively new to the Amiga, Charles, I
would encourage you to thoroughly read the documentation on AmigaDos
commands and programs so that you are reasonably familiar with what
they can accomplish. Often a seemingly difficult task can be solved
by combining available programs into a script. Also keep in mind
that AmigaDos commands can redirect input and output so that it's
possible to direct something you want into a temp file on the ram
disk.
I know you were emphatic about not wanting to learn ARexx, but
I would encourage you to take some time to learn the language. It is
as easy to learn the basics of ARexx as it is to learn Basic. ARexx's
ability to interact with the OS and to interface with other programs
is a powerful feature which can lead you to do some pretty amazing
things. However, there is a learning curve to overcome! If you have
ever learned any programming language in the past, you should have
little trouble learning ARexx. There are numerous ARexx scripts in
the PD which you can download to help learn. These comments are not
meant to divert you from the goal you wish to accomplish, but simply
to encourage you to learn ARexx!
Unfortunately, the Amiga doesn't come with a monitor program,
but the PD is rife with several programs for that purpose. I think
you may be able to find one or more which will suit your purposes.
One thing to keep in mind is the Amiga's ability to run any program
from a separate window or CLI. That makes it possible to observe
what goes on without surrending the machine to a single task. I have
even run across a PD system, the name of which I can't recall, which
implemented a full monitoring system. It may have been called
somehting like SM??, but I'm not real sure.
Good luck and enjoy the Amiga. It's a remarkable machine. I've been
using them since 1986 and there is still much more I don't know than
what I've learned!! It will keep you occupied for a long time.
I'm afraid that I've left you with a seriously incorrect impression.
I, too, am a long-time Amiga user. I bought an A1000 back in 1987
and switched to an A2000HD in 1990. What I meant was that I am not
very familiar with AmigaDOS 2.1 and Arexx. I WAS becoming familiar
with AmigaBASIC until I added a 68020 accelerator card, resulting in
frequent system crashes in AmigaBASIC editing because of its
incompatibility with the 68020 processor. But the primary reason for
being so far behind the "power curve" is that I was being overworked
taking "crash" courses in such things as UNIX as part of my job as an
aerospace engineer. NOW, I'm unemployed and temporarily have the
time, but am having health, relocation, and other problems that are
beginning to limit my productive time once again. One thing you
learn as an engineer: it's always a question of tradeoffs — there
usually ARE no PERFECT solutions, especially to the resource
management problem. –Charles Reed
Charles,
Yes, you are SO right. I apologize for misunderstanding. You
sound as though you are reasonably comfortable with Basic. Might I
suggest, if you are not already aware, you pick up a copy of HiSoft
Basic Pro? It's AmigaBasic compatible, is a compiled Basic, and has
a tolerably better integrated editor than ABasic had. It is fully
compatible with the 68010, 020, and 030 CPUs (don't know about the
040.) Since you already know AmigaBasic you won't have to
"relearn" anything and you will have a Basic with several extensions
that AmigaBasic didn't have. As I said, I don't know if you are
aware of HiSoft Basic, but it's an excellent product, although it
presently suffers from little apparent developer support. The
version that is available hasn't changed in several years, but it's
very stable. Rumor has it that the British company that developed it
may come out with a new version, but I'm not holding my breath!
If you "want" to learn a new language, but don't want to stray
to far from Basic, you might try F-Basic. F-Basic is currently
supported and most recently Version 5.0 was released. F-Basic is
also a compiled basic. The integrated editor is usable, but not
particularly good. F-Basic essentially is a hybrid. It has the ANSI
Basic support, but the extensions to the language are more
Pascal-like than Basic. It supports a RECORD variable and is
strongly typed, like C. It has string manipulation routines which
are drawn from SNOBOL and are extremely powerful. Compiled programs
are relatively small and the language permits compiling separate
modules. It is VERY fast rivaling C for execution speeds. It
supports all CPUs up to the 040 and has full AGA support, supports an
FPU, if available, and has excellent support of intuition and Amiga
shared libraries. But it will present a learning curve since the
language is not but about 60% "real" Basic. Since you're an
engineer, I would presume that learning a programming language isn't
too daunting a task! BTW there is a "fix" for AmigaBasic to make it
work with the 020.
Steven,
I understand there is a fix for Amigabasic working on a 68020 system?
I have some still used AmigaBasic programs, for which it would be fine to
use that fix. Is it available somewhere?
Manfred <- flying from FRA via Autopilot 1.05
Manfred,
The "fix" is a program that came with the old Ronin 68020 accelerator.
I have the program and would happily upload it if I knew it would not be a
problem because it was a commercial product. However, the Ronin company is out
of business. Perhaps if one of the Sysops here would give permission, I would
upload it. I believe there was, at one time, a PD fix, but I don't know it
it's available any longer.
Manfred,
to my knowledge AmigaBASIC doesn't mind being run on an advanced processor
as long as there is NO 32bit RAM! Someting to do with addressing I guess
which does only cater for 16bit memory bus and therefore doesn't zero the
unused (in a 16bit system) bits of the address which will get a meaning in
a 32bit system…
Remedy is: switch off your 32bit RAM before running AmigaBASIC. Funnily
enough, AC BASIC compiled programs run on 32bits…
// Chris coming in from Germany
\X/ on AutoPilot 1.051……….
Chris,
ok, thank you. I will try that. It seems to me, that it gurus only if you
are working in the editor, especially not being careful with pushing the
cursor up from the very first line or so. I would look into it a bit more
when I have the time.
Manfred <- flying from FRA via Autopilot 1.05
Charles;
I would like to know what other multitasking os provides all of what you
are asking for?
-bill
OS/400… But then it takes an AS/400 to run it. 😉
Bob Comer — Cruising the nets on AutoPilot from Cheyenne, Wyoming
I'm afraid you've got the wrong impression about the message. It's
phrased such in order to fit the character length limitations for a
title. I love the Amiga as a personal computer and find these
problems to be nothing more (and nothing LESS) than irritating nits.
What operating systems? MAINFRAME ones, of course! I know such a
set of abilities was part of DCL for the VAX 11/780 I used at work in
the early 1980's. Most, if not all, these capabilities are part of
UNIX. So I'm spoiled. So what! –Charles Reed
Charles;
I know next to nothing about mainframes. One of the difficulties with the
Amiga is in the number of possible conditions under which a program or
task may be launched.
Since there is no system level resource tracking, a lot of what you are
asking for is difficult to implement (how's that for an understatement?).
Something like XOper (or its progeny) will handle most of the information
necessary to determine where a task is located and can even determine,
more or less, some of the resources "owned" by the task but using that
information is dangerous at best. Of course for things that you write,
that is another story.
-bill
Thanks! Others have also pointed out the existence of Xoper. I'll have to
check it out. Sometimes, it's best to live dangerously. –Charles Reed
Charles,
Actually, I'm not replying to this message (35184) but, to the message
Hey, what happened? I only got one sentence of your reply (if you don't count
blank lines or my name). What did you want to say? –Charles Reed
There's a program called snoop which will monitor and display calls to the
dos.library. for ARexx scripts, the program TCO opens a global tracing console
which shows all the arexx activity.