CompuServe Thread

Multitask Deficient

22 messages in this thread
#35136From: Charles ReedJun 6, 1993 7:10 PM
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
#35137From: SyndesisJun 6, 1993 8:23 PM
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.
#35139From: Jim Shaffer Jr.Jun 6, 1993 8:33 PM
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.
#35145From: SyndesisJun 7, 1993 7:53 AM
That's a good tip… But most often, I don't want to see everything in what's happening in a script, I just want to know it's still alive and chugging.
#35184From: Charles ReedJun 8, 1993 1:32 AM
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
#35194From: Steven D. KapplinJun 8, 1993 2:03 PM
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.
#35206From: Charles ReedJun 9, 1993 3:59 AM
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
#35210From: Steven D. KapplinJun 9, 1993 2:48 PM
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.
#35235From: Charles ReedJun 10, 1993 12:10 AM
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
#35255From: Steven D. KapplinJun 10, 1993 3:25 PM
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.
#35274From: Manfred GruenebergJun 11, 1993 3:37 PM
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
#35276From: Steven D. KapplinJun 11, 1993 5:34 PM
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.
#35278From: Christian BusseJun 11, 1993 8:09 PM
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……….
#35298From: Manfred GruenebergJun 12, 1993 5:52 PM
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
#35222From: BILL LEACHJun 9, 1993 8:26 PM
Charles; I would like to know what other multitasking os provides all of what you are asking for? -bill
#35232From: Robert ComerJun 9, 1993 11:14 PM
OS/400… But then it takes an AS/400 to run it. 😉 Bob Comer — Cruising the nets on AutoPilot from Cheyenne, Wyoming
#35234From: Charles ReedJun 9, 1993 11:56 PM
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
#35281From: BILL LEACHJun 11, 1993 8:41 PM
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
#35314From: Charles ReedJun 13, 1993 5:46 PM
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
#35224From: Robert LittleJun 9, 1993 9:23 PM
Charles, Actually, I'm not replying to this message (35184) but, to the message
#35236From: Charles ReedJun 10, 1993 12:14 AM
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
#35198From: Matthew J. W. RatcliffJun 8, 1993 4:24 PM
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.