Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!rutgers!rochester!udel!mmdf From: 451061%UOTTAWA.BITNET@cornellc.cit.cornell.edu (Valentin Pepelea) Newsgroups: comp.sys.amiga Subject: Re: AmigaOS is real-time? Message-ID: <16284@louie.udel.EDU> Date: 26 May 89 04:51:24 GMT Sender: mmdf@udel.EDU Lines: 62 Jeff Kelley writes in Message-ID: <9881@watcgl.waterloo.edu> > The AmigaOS, and in particular Exec, disables interrupts for arbitrarily > long periods of time. For example, when a task loses the CPU because a > higher priority task becomes ready, interrupts are disabled while the lower > priority task is 'Enqueue'd on the task ready list, an operation for which, > in general, an upper bound on the time cannot be specified. > > There are likely other areas, e.g. memory allocation, where similar > situations occur (though I've only looked at the code for context switches.) Ridiculous. I suggest you take a look at Markus Wandel's EXEC disassembly. All Real-time kernels have to disable multitasking while manipulating system lists. Furthermore these manipulations are only a few instructions long. On the Amiga, any task is allowed to disable interrupts for no more than 250 nanoseconds. The EXEC itself abides by this defined limitation, and very loosely. Furthermore, the Amiga's interrupt hardware sets it apart ingeneously. Let me suggest some further reading material to you, it will help you understand greately how the Amiga does what it does so well. These books sure helped me on my project: 1. EXEC reference manual, CBM, Addison-Wesley 1986. Be sure to read all of it. Disregard the part where they tell you to use Forbid() all over the place. Carl was really sick when he instructed that. 2. EXEC disassembly, Markus Wandel, Fred Fish (186?) 1989. Boy this guy sure is good at commenting disassembled programs! 3. Guru's Guide #1: Interrupts, Carl Sassenrath, Sassenrath Research, 1987. Even with the EXEC disassembly, you will still learn a lot from the designer of the EXEC him-self. Includes nice diagrams and examples in C. 4. 68000 User's Guide 6th edition, Motorola, Motorola Inc. 1989. Look at the timing tables. Even at a mere 7.16 MHz, the 68000 can still manipulate those lists within the requires 250 ns. > The AmigaOS is not real-time, but it is typically responsive. This is due > in part to the fact that it does not support virtual memory but primarily > because of well designed system hardware and a kernel designed to be > efficient and lightweight (just not real-time...) Whoa! You are very confused. Virtual memory has *nothing* to do with real-time systems. In fact none of the target (non-devellopment) real-time systems in this world support virtual memory. Your friends at the National Research Council (Canada) are working on Harmony, the ultimate real-time operating system. Ask Dr. Gentleman, he should know better! > I still love my Amiga, though. Real-time is nice, but isn't essential > unless you're a missile tracking a jet fighter or a control circuit > in a nuclear reactor deciding whether or not to shut it down. ...Or a cumputer with a graphical user interface controlling a multi-tasking environment... > Jeff Kelley National Research Council of Canada, Ottawa Valentin _________________________________________________________________________ "An operating system without Name: Valentin Pepelea virtual memory is an operating Phonet: (613) 231-7476 (New!) system without virtue." Bitnet: 451061@Uottawa.bitnet Usenet: Use cunyvm.cuny.edu gate - Ancient Inca Proverb Planet: 451061@acadvm1.UOttawa.CA