Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!elroy.jpl.nasa.gov!swrinde!kent From: kent@swrinde.nde.swri.edu (Kent D. Polk) Newsgroups: comp.realtime Subject: Re: AmigaDOS as realtime system? Message-ID: <1678@swrinde.nde.swri.edu> Date: 1 Mar 91 19:54:39 GMT References: <1991Feb27.090231.5412@newcastle.ac.uk> <1991Feb28.194655.1294@eecs.wsu.edu> <1991Mar1.100809.27673@newcastle.ac.uk> Sender: news@swrinde.nde.swri.edu Organization: Southwest Research Institute, San Antonio, Texas Lines: 89 In article <1991Mar1.100809.27673@newcastle.ac.uk> A.Waterworth@newcastle.ac.uk (A Waterworth) writes: >pcooper@eecs.wsu.edu (Phil Cooper - CS495) writes: > >>In article <1991Feb27.090231.5412@newcastle.ac.uk> A.Waterworth@newcastle.ac.uk (A Waterworth) writes: >>> >> Adrian, it should be obvious to you that any OS which operates in an >>interrupt-driven environment (not to mention multitasking), would fail the >>requirements you have set forth for a real-time OS. > > Not necessarily - a decent real-time OS should be sufficiently >predictable in it's own behaviour and flexible in the services which it >provides that it will allow an application programmer to write software >is not powerful enough and you've got to fork out more cash!) Oh my. What did I start here :^) I guess I should respond, no? I agree with both of you, depending on what the job is. I also think both sets of answers were very good. I start: Deadlines: The Amiga O.S. does not guarantee response times. I used to hesitate in calling the Amiga O.S. a realtime system until I studied the situation a bit more, after which I believe it is. One way to get around deadline problems on the Amiga is to use one of the very functional async timers. In this case a failure to respond would trigger a signal upon which you can take action to 'correct' the failure of a deadline from being met. This obviously has some drqwbacks but it is there. Now this requires a bit more programming, and I wouldn't want to do this for very many tasks, but the nice part about the Amiga is that 'tasks' can be broken up so easily, without loosing much in the 'process'. Sure, this requires a bit more design effort, but can really result in very nice, well-behaved systems. >occasionally miss deadlines, then it doesn't really matter - you can probably >afford to miss the occasional sample (unless you're working on something >extremely strange). However, the types of real-time task which I have had >to consider over the past few years are much more unpleasant - they're the >kind of task where missing deadlines can, at best, cost you $$$$$ and, at >worst, get people killed. Under such conditions, you just do not want to >be falling outside your timing constraints - period! When data acquisition >is required as part of some task set in such a system, then it must be >performed in such a way that it cannot lead to a catastrophic failure >(so it either has to be pre-empted when more important things happen or >you have to be sure that it's going to work right every time). Good choice. I would not be using an Amiga in life-critical situations either. But again, I don't think that eliminates it from the list of real-time computers, It just means that it would be a poor choice in this instance. I have also developed real-time systems that were in very critical enviroments - such as reactor cores. Not only did they have to be real-time, but my software had to take into account EVERY conceivable problem that could be defined to possibly occur. Very long list. Some of the conditions were simply to stop the system, issue a priority warning to the operator & expect him to decide what to do. Others included fairly intricate algorithms for determining what happened and what to do about it. (Pre-cognitive AI? :^) I used Intel RMX on earlier projects and then moved to HP RT boxes with custom front-ends after finally coming to the conclusion that Intel didn't know how to correctly build anything but microcontrollers. >> Also, if you are going to take someone to task about a posting, please >>do not edit it so much that it is barely recognizable. Kent Polk's posting >>was very informative, and provided an excellent example of how Amigas are >>used to do real-time processing. Blush :^) It's ok, I pretty much agree with his comments in the context he provided. I posted the message to let other realise that a low-cost alternative to what are usually very expensive RT boxes is available - for what I consider the 'lab' environment. Note that just like other personal computers, the Amiga is not ruggedized and is not appropriate for many RT tasks for that reason also. In closing, I again believe it is fairly easy to create a nice real-time system using an Amiga, and have it be typically much more responsive than most other RT systems based on some other similar powered box. I also noted that I was using them for RT lab data- acquisition. I think Amigas are an excellent choice for this type of application - where nobody gets hurt if it misses a couple of events here and there - as long as it knows about them. They also offer a very nice environment for massaging the data after the test & producing professional reports - all in one box. Very handy. Lastly, I believe I can always use the standard response - "get a faster cpu" :^) Thanks for your responses. Kent Polk: Southwest Research Institute (512) 522-2882 Internet : kent@swrinde.nde.swri.edu UUCP : $ {cs.utexas.edu, gatech!petro, sun!texsun}!swrinde!kent